X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.h;h=b679255a55e1686afbf39b4ad59a030752c4aedf;hb=4c66cb9b724ca030dfd569b546521f700baadacb;hp=b2f5dc9051b13963e1383c8cf511ce6f54140d12;hpb=7ea07ff0d06edfe66780de979e34b7932357a1f5;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.h b/lib/creaVtk/MeshManagerModel.h index b2f5dc9..b679255 100644 --- a/lib/creaVtk/MeshManagerModel.h +++ b/lib/creaVtk/MeshManagerModel.h @@ -24,6 +24,33 @@ # knowledge of the CeCILL-B license and that you accept its terms. # ------------------------------------------------------------------------ */ +#include + +class MeshModel{ + +public: + MeshModel(int id); + MeshModel(vtkPolyData* mesh, int id); + ~MeshModel(); + + void SetMeshBase(vtkPolyData* mesh); + void SetMeshMemoryMode(vtkPolyData* mesh); + void CopySetMeshBase(vtkPolyData* mesh); + void ResetMeshTemp(); + void ResetMeshTemp_(); + vtkPolyData* GetMeshBase(); + vtkPolyData* GetMeshTemp(); + int GetId(); + std::string GetName(); + +protected: + +private: + vtkPolyData *_meshBase; + vtkPolyData *_meshTemp; + int _meshId; + std::string _name; +}; #ifndef _MESHMANAGERMODEL_H_ #define _MESHMANAGERMODEL_H_ @@ -33,8 +60,6 @@ // [classdescription] //--------------------------------------------- -#include - class MeshManagerModel { @@ -49,10 +74,36 @@ public : void SetMeshMemoryMode(vtkPolyData* mesh); void CopySetMeshBase(vtkPolyData* mesh); void ResetMeshTemp(); - void ResetMeshTemp_(); + //void ResetMeshTemp_(); vtkPolyData* GetMeshBase(); vtkPolyData* GetMeshTemp(); - virtual void RefreshOutputs(); + + virtual void RefreshOutputs(bool signalBox); + + MeshModel* GetMeshModel(); + int GetNumberOfMeshes(); + + void AddMesh_(vtkPolyData* mesh); + void AddMesh(vtkPolyData* mesh); + + void AddEmptyMesh_(); + void AddEmptyMesh(); + + void AddMeshes(std::vector meshList); + void AddMeshes_(std::vector meshList); + + void InsertMeshesAtCurrent_(std::vector meshList); + void InsertMeshesAtCurrent(std::vector meshList); + + void SelectMesh(int i); + void SelectMeshByName(std::string meshName); + void DeleteMesh(int position); + void DeleteMeshByName(std::string meshName); + void DeleteCurrentMesh(); + void DeleteAll(); + void NextMesh(); + void PreviousMesh(); + std::vector GetMeshNames(); //--Method template---------------------------- // void FunctionName(int& parameterA); @@ -67,8 +118,10 @@ protected: //Methods and attributes only visible by this class //--------------------------------------------- private: - vtkPolyData *_meshBase; - vtkPolyData *_meshTemp; + + std::vector _meshes; + int currentMesh; + int meshId; }; //-end of _MESHMANAGERMODEL_H_------------------------------------------------------