+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
#ifndef manualViewBaseContour_h
#define manualViewBaseContour_h
#include <vtkTextActor.h>
#include <vtkProperty2D.h>
#include <vtkPointPicker.h>
-#include "widgets/UtilVtk3DGeometriSelection.h"
-
+//#include "widgets/UtilVtk3DGeometriSelection.h"
+#include "UtilVtk3DGeometriSelection.h"
#include <vtkCellPicker.h>
#include <vtkDataSetMapper.h>
#include <vtkUnstructuredGrid.h>
-#include "wxVTKRenderWindowInteractor.h"
+#include "creawxVTKRenderWindowInteractor.h"
//--
// ----------------------------------------------------------------------------
-class creaMaracasVisu_EXPORT manualViewBaseContour{
+class creaMaracasVisu_EXPORT manualViewBaseContour
+{
+
+//---------------------------------------------------
+// PUBLIC METHODS & ATTS
+//---------------------------------------------------
+
public:
manualViewBaseContour();
virtual ~manualViewBaseContour();
virtual void Open(FILE *pFile);
void AddPoint();
- void AddPoint( manualViewPoint * manualViewPoint );
+ virtual void AddPoint( manualViewPoint * manualViewPoint );
void InsertPoint(int id);
void DeleteContour();
void DeletePoint(int x, int y,int z);
void UnSelectLstPoints();
void UnSelectAllPoints();
- void SetModel(manualContourModel *manContModel);
+ void SetModel(manualBaseModel *manContModel);
void SetWxVtkBaseView(wxVtkBaseView *wxvtkbaseview);
virtual void Refresh();
int GetNumberOfPoints(); // ???
- //int GetNumberOfPointsSpline(); //JSTG 25-02-08 In ContourModel is the same method
+ //int GetNumberOfPointsSpline(); //JSTG 25-02-08 In ContourModel is the same method
//void SetNumberOfPointsSpline(int size); //JSTG 25-02-08 In ContourModel is the same method
void CreateNewContour();
virtual bool ifTouchContour(int x,int y, int z);
void UpdateColorActor();
- void SetRange(int range);
- int GetRange();
+ void SetRange(double range);
+ double GetRange();
void SetZ(int z);
int GetZ();
void RemoveCompleteContourActor();
virtual void AddSplineActor();
virtual void RemoveSplineActor();
- void AddControlPoints();
- void RemoveControlPoints();
+ virtual void AddControlPoints();
+ virtual void RemoveControlPoints();
void AddTextActor();
void RemoveTextActor();
+ void InitTextActor();
virtual manualViewBaseContour * Clone();
void CopyAttributesTo( manualViewBaseContour *cloneObject );
void SetWidthLine(double width);
double GetWidthLine();
- virtual void ConstructVTKObjects();
+ virtual void ConstructVTKObjects();
+
+ void SetCellArray(bool type);
+//---------------------------------------------------
+// PRIVATE METHODS & ATTS
+//---------------------------------------------------
private:
- int _range;
-
- wxVtkBaseView *_wxvtkbaseview;
- bool _selected;
- bool *_editable;
- bool _posibleSelected;
- bool _viewControlPoints;
-
-
- vtkPolyData *_pd;
- vtkActor *_contourVtkActor;
- vtkPolyDataMapper *_bboxMapper;
-
- double _coulorEdit_r;
- double _coulorEdit_g;
- double _coulorEdit_b;
- double _coulorNormal_r;
- double _coulorNormal_g;
- double _coulorNormal_b;
- double _coulorSelection_r;
- double _coulorSelection_g;
- double _coulorSelection_b;
- double _widthline;
-
- void DeleteVtkObjects();
- virtual void RefreshText();
+ vtkPolyData *_pd;
+ vtkCellArray *_splineCell;
+ vtkCellArray *_lineCell;
+ vtkActor *_contourVtkActor;
+ vtkPolyDataMapper *_bboxMapper;
+
+ void DeleteVtkObjects();
+
+
+//---------------------------------------------------
+// PROTECTED METHODS & ATTS
+//---------------------------------------------------
protected:
+ double _range;
+
+ double _coulorEdit_r;
+ double _coulorEdit_g;
+ double _coulorEdit_b;
+ double _coulorNormal_r;
+ double _coulorNormal_g;
+ double _coulorNormal_b;
+ double _coulorSelection_r;
+ double _coulorSelection_g;
+ double _coulorSelection_b;
+ double _widthline;
+
+ //
+ // Reference to VTKBaseView
+ //
+ wxVtkBaseView *_wxvtkbaseview;
+
+ //
+ // Is the contour selected
+ //
+ bool _selected;
+ bool *_editable;
+ bool _posibleSelected;
+ bool _viewControlPoints;
+
// text
- bool _show_text;
- int _id_viewPoint_for_text;
- vtkTextActor *_textActor;
- manualContourModel *_manContModel;
- vtkPoints *_pts;
+ bool _show_text;
+ int _id_viewPoint_for_text;
+ vtkTextActor *_textActor;
+ vtkTextActor *_textActor2;
+
+ //
+ // Contour model
+ //
+ manualBaseModel *_manContModel;
+
+ vtkPoints *_pts;
// JSTG 25-02-08 --------------------------------------------
- int _sizePointsContour;
+ int _sizePointsContour;
//-----------------------------------------------------------
- std::vector<manualViewPoint*> _lstViewPoints;
- double _spc[3];
+
+ //
+ // Control points list
+ //
+ std::vector<manualViewPoint*> _lstViewPoints;
+
+ //
+ // Spacing
+ //
+ double _spc[3];
+
+ virtual void RefreshText();
};