+/*# ---------------------------------------------------------------------
+#
+# 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>
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();
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 );
virtual void ConstructVTKObjects();
-private:
- int _range;
-
- wxVtkBaseView *_wxvtkbaseview;
- bool _selected;
- bool *_editable;
- bool _posibleSelected;
- bool _viewControlPoints;
+//---------------------------------------------------
+// PRIVATE METHODS & ATTS
+//---------------------------------------------------
+private:
vtkPolyData *_pd;
vtkActor *_contourVtkActor;
vtkPolyDataMapper *_bboxMapper;
+ void DeleteVtkObjects();
+
+
+//---------------------------------------------------
+// PROTECTED METHODS & ATTS
+//---------------------------------------------------
+
+protected:
+
+ double _range;
+
double _coulorEdit_r;
double _coulorEdit_g;
double _coulorEdit_b;
double _coulorSelection_b;
double _widthline;
- void DeleteVtkObjects();
- virtual void RefreshText();
-
+ //
+ // Reference to VTKBaseView
+ //
+ wxVtkBaseView *_wxvtkbaseview;
-protected:
+ //
+ // 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;
+
+ //
+ // Contour model
+ //
+ manualBaseModel *_manContModel;
+
vtkPoints *_pts;
// JSTG 25-02-08 --------------------------------------------
int _sizePointsContour;
//-----------------------------------------------------------
+
+ //
+ // Control points list
+ //
std::vector<manualViewPoint*> _lstViewPoints;
+
+ //
+ // Spacing
+ //
double _spc[3];
+ virtual void RefreshText();
+
};