X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.h;h=98f55063366cf46a758c13597fe790279a904ddc;hb=refs%2Fheads%2Fvtk9itk5wx3-macos;hp=d8e6a780a52814ed6cd5a22087b093262f364f7c;hpb=cc1075b3a78bdc5339b919450b88178bbf9ff1f7;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.h b/lib/creaVtk/MeshManagerModel.h index d8e6a78..98f5506 100644 --- a/lib/creaVtk/MeshManagerModel.h +++ b/lib/creaVtk/MeshManagerModel.h @@ -34,9 +34,13 @@ public: HistoryHandler(int maxElements); ~HistoryHandler(); void CleanHistory(); - StateType* Undo(); - StateType* Redo(); + StateType* Undo(StateType* State); + StateType* UndoKeepCurrent(); + StateType* Redo(StateType* State); + StateType* RedoKeepCurrent(); void Save(StateType* State); + StateType* GetPrevious(); + StateType* GetNext(); int UndoSize(); int RedoSize(); @@ -93,12 +97,19 @@ public : MeshManagerModel(std::vector meshList); ~MeshManagerModel(); + void SetHistory(int maxCapacity); void ResetHistory(); void ResetAll(); - void UpdateMeshReference(vtkPolyData* mesh); + 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_(); @@ -141,10 +152,13 @@ public : void NextMesh(); void PreviousMesh(); + void SaveMemoryMode(); void Undo(); void Redo(); std::vector GetMeshNames(); + std::vector GetAllPolyDatas(); + int GetCurrentMesh(); //--Method template---------------------------- // void FunctionName(int& parameterA); @@ -163,22 +177,31 @@ private: std::vector> _meshes; int currentMesh; int meshId; + int lastModified; + bool memoryMode; + std::vector referencePoint; + std::vector referenceNormal; class ManagerState{ public: - ManagerState(std::vector> meshesToSave, int meshId, int currentMesh); + 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 GetCurrentMesh(); - private: + int GetModifiedPos(); + std::vector& GetReferencePoint(); + std::vector> savedMeshes; - int savedCurrentMesh; + int savedModifiedPos; int savedId; + std::vector referencePoint; + std::vector referenceNormal; }; void Save(); void RestoreState(ManagerState* state); + void RestoreStateMemoryMode(ManagerState* state); HistoryHandler *history;