X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.h;h=98f55063366cf46a758c13597fe790279a904ddc;hb=8480ddec6027339a7b6ca2291390eb51b755858d;hp=f981c8741e9ad7b2376387b8e210a35dcfed52be;hpb=b00e934a843a756fb0d6d5f763642816df0aaff4;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.h b/lib/creaVtk/MeshManagerModel.h index f981c87..98f5506 100644 --- a/lib/creaVtk/MeshManagerModel.h +++ b/lib/creaVtk/MeshManagerModel.h @@ -35,7 +35,9 @@ public: ~HistoryHandler(); void CleanHistory(); StateType* Undo(StateType* State); + StateType* UndoKeepCurrent(); StateType* Redo(StateType* State); + StateType* RedoKeepCurrent(); void Save(StateType* State); StateType* GetPrevious(); StateType* GetNext(); @@ -95,11 +97,19 @@ public : MeshManagerModel(std::vector meshList); ~MeshManagerModel(); + void SetHistory(int maxCapacity); void ResetHistory(); void ResetAll(); + void SetReferencePoint(std::vector point); + std::vector GetReferencePoint(); + void SetReferenceNormal(std::vector normal); + std::vector GetReferenceNormal(); + void SetMeshBase(vtkPolyData* mesh); void SetMeshMemoryMode(vtkPolyData* mesh); + void MeshMemoryModeOn(); + void MeshMemoryModeOff(); void CopySetMeshBase(vtkPolyData* mesh); void ResetMeshTemp(); //void ResetMeshTemp_(); @@ -142,6 +152,7 @@ public : void NextMesh(); void PreviousMesh(); + void SaveMemoryMode(); void Undo(); void Redo(); @@ -167,22 +178,30 @@ private: int currentMesh; int meshId; int lastModified; + bool memoryMode; + std::vector referencePoint; + std::vector referenceNormal; class ManagerState{ public: ManagerState(std::vector> meshesToSave, int meshId, int modifiedId); + ManagerState(std::vector> meshesToSave, int meshId, int modifiedId, std::vector refPoint, std::vector refNormal); ~ManagerState(); std::vector>& GetMeshes(); int GetMeshId(); int GetModifiedPos(); - private: + std::vector& GetReferencePoint(); + std::vector> savedMeshes; int savedModifiedPos; int savedId; + std::vector referencePoint; + std::vector referenceNormal; }; void Save(); void RestoreState(ManagerState* state); + void RestoreStateMemoryMode(ManagerState* state); HistoryHandler *history;