X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.cpp;h=cf0b3dd2384da5f2e7b1b01847a5fbcc3a840e4e;hb=4d71ce834efd16b6e7c23ee82134cb421defe8d0;hp=01f33987c6399fb0763949edcd9bc7d9b334673d;hpb=1b751726e6e277dc63258520d3c243f705d1b929;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.cpp b/lib/creaVtk/MeshManagerModel.cpp index 01f3398..cf0b3dd 100644 --- a/lib/creaVtk/MeshManagerModel.cpp +++ b/lib/creaVtk/MeshManagerModel.cpp @@ -37,21 +37,54 @@ MeshManagerModel::~MeshManagerModel() { } -void MeshManagerModel::SetMeshBase(vtkPolyData* mesh) +void MeshManagerModel::ResetMeshTemp_() { - if (mesh!=NULL) + if (_meshBase!=NULL) { - _meshBase = mesh; if (_meshTemp!=NULL) { _meshTemp->Delete(); } // if _meshTemp = vtkPolyData::New(); _meshTemp->DeepCopy(_meshBase); + } else { + _meshTemp=NULL; + } +} + +void MeshManagerModel::SetMeshBase(vtkPolyData* mesh) +{ + if (mesh!=NULL) + { + _meshBase = mesh; + ResetMeshTemp_(); RefreshOutputs(); } // if mesh } +void MeshManagerModel::SetMeshMemoryMode(vtkPolyData* mesh) +{ + _meshBase = mesh; + RefreshOutputs(); +} + +void MeshManagerModel::ResetMeshTemp() +{ + ResetMeshTemp_(); + RefreshOutputs(); +} + +void MeshManagerModel::CopySetMeshBase(vtkPolyData* mesh) +{ + if (mesh!=NULL) + { + vtkPolyData *newMesh = vtkPolyData::New(); + newMesh->DeepCopy( mesh ); + SetMeshBase(newMesh); + } // if mesh +} + + vtkPolyData* MeshManagerModel::GetMeshBase() { return _meshBase;