#include "wxVtkBaseView.h"
#include "marTypes.h"
#include "manualPoint.h"
+#include "manualBaseModel.h"
// ----------------------------------------------------------------------------
// ----------------------------------------------------------------------------
-class creaMaracasVisu_EXPORT manualContourModel
+class creaMaracasVisu_EXPORT manualContourModel : public manualBaseModel
{
public:
manualContourModel();
virtual manualContourModel * Clone();
void CopyAttributesTo( manualContourModel *cloneObject );
- virtual void Open(FILE *ff); // virtual
- virtual void OpenAndTransformSpacing(FILE *ff, double imgSpac[3], double roiSpac[3]);
- virtual void OpenAndTransformDimension(FILE *ff, int imgDim[3], int roiDim[3]);
+ void Open(FILE *ff); // virtual
virtual void Save(FILE *ff); // virtual
virtual int GetTypeModel(); // virtual
- int AddPoint(double x,double y,double z);
- int InsertPoint(double x,double y,double z);
+ virtual int AddPoint(double x,double y,double z);
+ virtual int InsertPoint(double x,double y,double z);
//JSTG 25-04-08 -------------------------------------------------------
- void InsertPoint_id(int id, double x,double y,double z);
+ virtual void InsertPoint_id(int id, double x,double y,double z);
//---------------------------------------------------------------------
- void AddManualPoint( manualPoint* theManualPoint );
+ virtual void AddManualPoint( manualPoint* theManualPoint );
+ virtual void Transform_Ax_Plus_B (double Ax, double Bx, double Ay, double By);
- void DeletePoint(int i);
- void DeleteAllPoints();
+ virtual void DeletePoint(int i);
+ virtual void DeleteAllPoints();
- void MovePoint(int i,double dx,double dy,double dz);
- void MoveLstPoints(double dx,double dy,double dz);
- void MoveAllPoints(double dx,double dy,double dz);
+ virtual void MovePoint(int i,double dx,double dy,double dz);
+ virtual void MoveLstPoints(double dx,double dy,double dz);
+ virtual void MoveAllPoints(double dx,double dy,double dz);
- int GetIdPoint(double x, double y, double z, int i_range,int type);
- manualPoint* GetManualPoint(int id);
- int GetSizeLstPoints();
+ virtual int GetIdPoint(double x, double y, double z, int i_range,int type);
+ virtual manualPoint* GetManualPoint(int id);
+ virtual int GetSizeLstPoints();
int GetNumberOfPointsSpline();
- void SetNumberOfPointsSpline(int size);
+ virtual void SetNumberOfPointsSpline(int size);
virtual void UpdateSpline();
void SetCloseContour(bool closeContour);
//void GetSplinePoint(double t, double &x, double &y, double &z); //Method Original
//void GetSplineiPoint(int i, double &x, double &y, double &z); //Method Original
//-------------------------------------------------------------------------------
- double GetPathSize();
- double GetPathArea();
+ virtual double GetPathSize();
+ virtual double GetPathArea();
void GetNearestPointAndNormal(double *p, double *rp, double *rn);
void GetSpline_t_Point(double t, double *x, double *y, double *z);
//--------------------------------------------------------------------------------
- virtual std::vector<manualContourModel*> ExploseModel( );
+ virtual std::vector<manualBaseModel*> ExploseModel( );
+
+// CMRU 17-08-09 -----------------------------------------------------------------
+
+ /*
+ * Assigns the parameter value to the label
+ * @param newLabel New label of the contour
+ */
+ void SetLabel(std::string newLabel);
+
+ /*
+ * Assigns the parameter value to the real size
+ * @param newRealSize New real size in milimeters of the contour
+ */
+ void SetRealSize(double newRealSize);
+
+ /**
+ * Returns the label of the contour
+ */
+ std::string GetLabel();
+
+ /**
+ * Returns the real size in milimeters of the contour
+ */
+ double GetRealSize();
+
+ /*
+ * Saves the label and the real size of the contour
+ * @param ff File where the information is stored
+ */
+ void SaveData(FILE *ff);
+
+ /*
+ * Reads and interprets the information of the label and the real size
+ * @param ff File where the information is readed
+ */
+ void OpenData(FILE *ff);
+//--------------------------------------------------------------------------------
private:
- int _sizePointsContour;
- std::vector<manualPoint*> _lstPoints;
+ //int _sizePointsContour;
+ //std::vector<manualPoint*> _lstPoints;
bool _closeContour;
vtkKochanekSpline *_cntSplineX;
vtkKochanekSpline *_cntSplineY;
double _delta_JSTG;
//------------------------------------------------------
+//CMRU 17-08-09 -----------------------------------------------------------------
+ /**
+ * Represents the real size in milimeters of the contour
+ */
+ double _realSize;
+
+ /**
+ * Represents the label associated with the contour
+ */
+ std::string _label;
+//--------------------------------------------------------------------------------
+
};