X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcreaVtk%2FMeshManagerModel.cpp;h=cf0b3dd2384da5f2e7b1b01847a5fbcc3a840e4e;hb=4d71ce834efd16b6e7c23ee82134cb421defe8d0;hp=bcf8c1acefe9db68e67a4f933559702cddff9b70;hpb=ccd9515764b83d719668120ccf8496a8fc6e804b;p=creaVtk.git diff --git a/lib/creaVtk/MeshManagerModel.cpp b/lib/creaVtk/MeshManagerModel.cpp index bcf8c1a..cf0b3dd 100644 --- a/lib/creaVtk/MeshManagerModel.cpp +++ b/lib/creaVtk/MeshManagerModel.cpp @@ -37,17 +37,54 @@ MeshManagerModel::~MeshManagerModel() { } +void MeshManagerModel::ResetMeshTemp_() +{ + if (_meshBase!=NULL) + { + 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; - if (_meshTemp!=NULL) + RefreshOutputs(); +} + +void MeshManagerModel::ResetMeshTemp() +{ + ResetMeshTemp_(); + RefreshOutputs(); +} + +void MeshManagerModel::CopySetMeshBase(vtkPolyData* mesh) +{ + if (mesh!=NULL) { - _meshTemp->Delete(); - } // if - _meshTemp = vtkPolyData::New(); - _meshTemp->DeepCopy(_meshBase); + vtkPolyData *newMesh = vtkPolyData::New(); + newMesh->DeepCopy( mesh ); + SetMeshBase(newMesh); + } // if mesh } + vtkPolyData* MeshManagerModel::GetMeshBase() { return _meshBase; @@ -57,3 +94,7 @@ vtkPolyData* MeshManagerModel::GetMeshTemp() { return _meshTemp; } + +void MeshManagerModel::RefreshOutputs() // virtula +{ +}