]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/MeshManagerModel.h
#3517 Adjustments Undo - Redo for deformation
[creaVtk.git] / lib / creaVtk / MeshManagerModel.h
index b74204c20a3010df654b1c07fbcda1ec97e6c5b2..98f55063366cf46a758c13597fe790279a904ddc 100644 (file)
@@ -101,6 +101,11 @@ public :
        void ResetHistory();
        void ResetAll();
        
+       void SetReferencePoint(std::vector<double> point);
+       std::vector<double> GetReferencePoint();
+       void SetReferenceNormal(std::vector<double> normal);
+       std::vector<double> GetReferenceNormal();
+       
     void SetMeshBase(vtkPolyData* mesh);
     void SetMeshMemoryMode(vtkPolyData* mesh);
        void MeshMemoryModeOn();
@@ -174,18 +179,24 @@ private:
     int                                                                                meshId;
     int                                                                                lastModified;
     bool                                                                       memoryMode;
+    std::vector<double>                                                referencePoint;
+    std::vector<double>                                                referenceNormal;
     
     class ManagerState{
        public:
                ManagerState(std::vector<std::shared_ptr<MeshModel>> meshesToSave, int meshId, int modifiedId);
+               ManagerState(std::vector<std::shared_ptr<MeshModel>> meshesToSave, int meshId, int modifiedId, std::vector<double> refPoint, std::vector<double> refNormal);
                ~ManagerState();
                std::vector<std::shared_ptr<MeshModel>>& GetMeshes();
                int GetMeshId();
                int GetModifiedPos();
-       private:
+               std::vector<double>& GetReferencePoint();
+
                std::vector<std::shared_ptr<MeshModel>> savedMeshes;
                int savedModifiedPos;
                int savedId;
+               std::vector<double> referencePoint;
+               std::vector<double> referenceNormal;
     };
     
     void                                                       Save();