#ifndef manualContourModel_h #define manualContourModel_h #include "vtkRenderWindow.h" #include "vtkRenderer.h" #include "vtkRenderWindowInteractor.h" //extremely important with VC++ don't remove ! #include "vtkCommand.h" #include "vtkPolyData.h" #include "vtkCellArray.h" #include "vtkPolyDataMapper.h" #include "vtkInteractorObserver.h" #include "vtkInteractorStyleImage.h" #include #include #include #include #include #include #include "wxVTKRenderWindowInteractor.h" //-- #include #include "wxVtkBaseView.h" #include "marTypes.h" #include "manualPoint.h" // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- class creaMaracasVisu_EXPORT manualContourModel { public: manualContourModel(); virtual ~manualContourModel(); virtual manualContourModel * Clone(); void CopyAttributesTo( manualContourModel *cloneObject ); 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); //JSTG 25-04-08 ------------------------------------------------------- void InsertPoint_id(int id, double x,double y,double z); //--------------------------------------------------------------------- void AddManualPoint( manualPoint* theManualPoint ); void Transform_Ax_Plus_B (double Ax, double Bx, double Ay, double By); void DeletePoint(int i); 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); 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 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(); 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 std::vector ExploseModel( ); private: int _sizePointsContour; std::vector _lstPoints; bool _closeContour; vtkKochanekSpline *_cntSplineX; vtkKochanekSpline *_cntSplineY; vtkKochanekSpline *_cntSplineZ; //JSTG 25-02-08 ---------------------------------------- double _delta_JSTG; //------------------------------------------------------ }; #endif // manualContourModel_h