]> Creatis software - creaVtk.git/blobdiff - lib/creaVtk/MeshManagerModel.cpp
#3495 Extrude normals conflict
[creaVtk.git] / lib / creaVtk / MeshManagerModel.cpp
index 01f33987c6399fb0763949edcd9bc7d9b334673d..cf0b3dd2384da5f2e7b1b01847a5fbcc3a840e4e 100644 (file)
@@ -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;