X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualContour%2FmanualContourModel.h;h=e94a2b7022ec0252e44013fccadff9ffcdc16475;hb=80b04dc9e3b981e24fe9ae0d81cdeb8af6e6f8c1;hp=28493954eadb982e93ae7aa41966c5cd161be363;hpb=7624fbab400d414b4d8277e7f0febadcabcec5c0;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.h index 2849395..e94a2b7 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualContour/manualContourModel.h @@ -1,3 +1,28 @@ +/*# --------------------------------------------------------------------- +# +# 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 manualContourModel_h #define manualContourModel_h @@ -21,7 +46,7 @@ #include #include -#include "wxVTKRenderWindowInteractor.h" +#include "creawxVTKRenderWindowInteractor.h" //-- @@ -30,6 +55,7 @@ #include "wxVtkBaseView.h" #include "marTypes.h" #include "manualPoint.h" +#include "manualBaseModel.h" // ---------------------------------------------------------------------------- @@ -37,7 +63,7 @@ // ---------------------------------------------------------------------------- -class creaMaracasVisu_EXPORT manualContourModel +class creaMaracasVisu_EXPORT manualContourModel : public manualBaseModel { public: manualContourModel(); @@ -45,63 +71,97 @@ public: 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]); - virtual void Save(FILE *ff); // virtual + 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(); - int GetNumberOfPointsSpline(); - void SetNumberOfPointsSpline(int size); + virtual int GetIdPoint(double x, double y, double z, int i_range,int type); + virtual manualPoint* GetManualPoint(int id); + virtual int GetSizeLstPoints(); + int GetNumberOfPointsSpline(); + virtual void SetNumberOfPointsSpline(int size); - virtual void UpdateSpline(); - void SetCloseContour(bool closeContour); - bool IfCloseContour(); + virtual void UpdateSpline(); + void SetCloseContour(bool closeContour); + bool IfCloseContour(); //JSTG 25-02-08 ----------------------------------------------------------------- //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(double *spc); + virtual double GetPathArea(double *spc); - void GetNearestPointAndNormal(double *p, double *rp, double *rn); + void GetNearestPointAndNormal(double *p, double *rp, double *rn); // JSTG 25-02-08 ----------------------------------------------------------------- - virtual void GetSpline_i_Point(int i, double *x, double *y, double *z); - void GetSpline_t_Point(double t, double *x, double *y, double *z); + virtual void GetSpline_i_Point(int i, double *x, double *y, double *z); + void GetSpline_t_Point(double t, double *x, double *y, double *z); //-------------------------------------------------------------------------------- - virtual std::vector ExploseModel( ); + virtual std::vector ExploseModel( ); + +// CMRU 17-08-09 ----------------------------------------------------------------- + + + /* + * Assigns the parameter value to the real size + * @param newRealSize New real size in milimeters of the contour + */ + void SetRealSize(double newRealSize); + + /** + * 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 _lstPoints; +//public: + //int _sizePointsContour; + //std::vector _lstPoints; bool _closeContour; vtkKochanekSpline *_cntSplineX; vtkKochanekSpline *_cntSplineY; vtkKochanekSpline *_cntSplineZ; //JSTG 25-02-08 ---------------------------------------- - double _delta_JSTG; + double _delta_JSTG; //------------------------------------------------------ +//CMRU 17-08-09 ----------------------------------------------------------------- + /** + * Represents the real size in milimeters of the contour + */ + double _realSize; + +//-------------------------------------------------------------------------------- + };