]> Creatis software - creaContours.git/blobdiff - lib/kernel_ManagerContour_NDimensions/KernelManagerContour.h
RaC Changes that includes a Polygon contour in creaMaracasVisu and creaContours
[creaContours.git] / lib / kernel_ManagerContour_NDimensions / KernelManagerContour.h
index 296fbca1abe004b4778faa32ed2463bf81e990cb..f7c28535c02407f115c8d124c8d94371468a55b0 100644 (file)
@@ -6,15 +6,22 @@
 //------------------------------------------------------------------------------------------------------------
 // Includes
 //------------------------------------------------------------------------------------------------------------
-#include "ImageSourceThing.h"
-#include "ImageSectionThing.h"
-#include "AxeThing.h"
-#include "ContourThing.h"
+//#include "ImageSourceThing.h"
+//#include "ImageSectionThing.h"
+//#include "AxeThing.h"
+//#include "ContourThing.h"
 #include "OutlineModelManager.h"
 #include "OutlineModelBuilder.h"
+#include "time.h"
 
 #include "ContourPropagation.h"
 
+#include "manualContourModel.h"
+#include "manualContourModelCircle.h"
+#include "manualContourModelLine.h"
+#include "manualContourModelRoi.h"
+#include "manualContourModelPolygon.h"
+
 #include <vtkImageChangeInformation.h>
 
 class KernelManagerContour{
@@ -32,7 +39,7 @@ public:
        **      If images are available before the construction of the kernelManager this method should be used
        **      it sets the vector images and initializes the environment
        **/
-       KernelManagerContour(std::vector<vtkImageData*> images);
+       KernelManagerContour(std::vector<vtkImageData*> images,std::string datadir,std::string tmpdir);
        ~KernelManagerContour();
 
        std::vector<vtkImageData*> getVectImages();
@@ -45,21 +52,21 @@ public:
 
        
 
-       void initializeEnvironment();
+       void initializeEnvironment(std::string datadir);
 
 
        /**
        **      This methods connect the event in the class interfNewContourMenu with the world of the appli
        **/     
 
-       std::string createOutline(manualContourModel * manModelContour,std::vector<int> instantVector);
+       std::string createOutline(manualBaseModel * manModelContour,std::vector<int> instantVector);
        /////////////////////////////////
 
        std::string intToString(int num);
 
        std::vector<std::string> GetLstNameThingsStatic();
 
-       void SaveThingName(FILE* pFile, std::string name );
+       void SaveThingName(FILE* pFile, FILE *pFileData, std::string name );
 
        std::vector<std::string> GetLstNameThings();
 
@@ -83,7 +90,7 @@ public:
        
        Instant * getCurrentInstant();
 
-       manualContourModel* getOutlineByKeyName(std::string cloneName);
+       manualBaseModel* getOutlineByKeyName(std::string cloneName);
 
        bool onRedo(std::string& filename);
 
@@ -101,9 +108,22 @@ public:
 
        void getMaxMinZ(double *minZ,double *maxZ);
 
-       manualContourModel* GetPoints(int z,int type, std::vector<double>* vecCtrlPointX,std::vector<double>* vecCtrlPointY,std::vector<double>* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector<int> tempVector);
-
-       manualContourModel* factoryManualContourModel(int typeContour);
+       manualBaseModel* GetPoints(int z,int type, std::vector<double>* vecCtrlPointX,std::vector<double>* vecCtrlPointY,std::vector<double>* vecCtrlPointZ, std::string& theName,int typeofcontour, std::vector<int> tempVector);
+
+       //
+       // Method which creates the model associated with the type in parameter. The possible contour types are:
+       // 0-spline
+       // 1-spline
+       // 2-rectangle
+       // 3-circle
+       // 4-BullEye
+       // 5-BullEyeSector
+       // 6-Line
+       // 7-Points
+       // NOTE: The view and the controler are created in the wxVtkBaseView_SceneManager class, configureViewControlTo method
+       // @param typeContour - int
+       // @return manualBaseModel - Model created based on the type
+       manualBaseModel* factoryManualContourModel(int typeContour);
 
        void CalculeSplinePropagation();
 
@@ -111,7 +131,7 @@ public:
 
        std::vector<ContourThing**> getOutlinesAtInstant(Instant* instant );
 
-       std::vector<manualContourModel*> ExploseEachModel( std::vector<manualContourModel*> lstManConMod );
+       std::vector<manualBaseModel*> ExploseEachModel( std::vector<manualBaseModel*> lstManConMod );
 
        
        void getConceptsInformation(std::vector<std::string>& conceptNameVect, std::vector<int>& conceptSizeVect);
@@ -122,6 +142,8 @@ public:
 // Constants
 //------------------------------------------------------------------------------------------------------------
 
+       void setCurrentFileName(std::string filenam);
+       std::string getCurrentFileName();
 private:       
 //------------------------------------------------------------------------------------------------------------
 // Attributes
@@ -134,6 +156,8 @@ private:
 //Temporary attribute should be removed
        OutlineModelManager             * modelManager;
 
+       std::string filename;
+
        int inredo;
        int inundo;
        int _currentIndex;