X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.cpp;h=cf0b3dd2384da5f2e7b1b01847a5fbcc3a840e4e;hb=4d71ce834efd16b6e7c23ee82134cb421defe8d0;hp=f87f714e34d69de8cfe8893f507999e182612c2c;hpb=be32fd3f21cae7088663d1fcb50c32a62ec078b9;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.cpp b/lib/creaVtk/MeshManagerModel.cpp index f87f714..cf0b3dd 100644 --- a/lib/creaVtk/MeshManagerModel.cpp +++ b/lib/creaVtk/MeshManagerModel.cpp @@ -37,17 +37,27 @@ 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 } @@ -58,6 +68,23 @@ void MeshManagerModel::SetMeshMemoryMode(vtkPolyData* 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;