]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx
#3507 Undo and Redo Meshes
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager_tool.cxx
index b175bd4d25b3754d3af712d8f72d62127f0455a5..cf99baf507ec3ec1682307e9b77f521f25c262c8 100644 (file)
@@ -27,23 +27,22 @@ void MeshManager_tool::Process()
 //    bbSetOutputOut( bbGetInputIn() );
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
     
-    printf("EED MeshManager_tool::Process start this=%p\n", this);
-    
     if (bbGetInputMeshManagerModel()!=NULL)
     {
         if (bbGetInputTool()==10) // Undo
         {
-            printf("EED Warning!   MeshManager_tool Undo   Not implemented.\n");
+               bbGetInputMeshManagerModel()->Undo();
+            //printf("EED Warning!   MeshManager_tool Undo   Not implemented.\n");
         } // if Tool 10 Undo
         
         if (bbGetInputTool()==20) // Redo
         {
-            printf("EED Warning!   MeshManager_tool Redo   Not implemented.\n");
+               bbGetInputMeshManagerModel()->Redo();
+            //printf("EED Warning!   MeshManager_tool Redo   Not implemented.\n");
         } // if Tool 20 Redo
 
         if (bbGetInputTool()==30)  // Set
         {
-            printf("EED    MeshManager_tool::Process Set\n");
             if (bbGetInputMesh()!=NULL){
                 vtkPoints   *points = bbGetInputMesh()->GetPoints();
                 if (points!=NULL)
@@ -55,24 +54,38 @@ void MeshManager_tool::Process()
 
         if (bbGetInputTool()==35)  // Set memory mode
         {
-            printf("EED    MeshManager_tool::Process Set memory mode\n");
-//            if (bbGetInputMesh()!=NULL){
-//                vtkPoints   *points = bbGetInputMesh()->GetPoints();
-//                if (points!=NULL)
-//                {
-                    bbGetInputMeshManagerModel()->SetMeshMemoryMode( bbGetInputMesh() );
-//                } // if points!=NULL
-//            } // Mesh!=NULL
+                bbGetInputMeshManagerModel()->SetMeshMemoryMode( bbGetInputMesh() );
+        } // if Tool 35 Set memory mode
+
+        if (bbGetInputTool()==32)  // Copy and Set
+        {
+                bbGetInputMeshManagerModel()->CopySetMeshBase( bbGetInputMesh() );
         } // if Tool 35 Set memory mode
 
         
-        if (bbGetInputTool()==40) // Reset
+        if (bbGetInputTool()==40) // ResetMeshTemp
         {
-            printf("EED Warning!   MeshManager_tool Reset   Not implemented.\n");
+            bbGetInputMeshManagerModel()->ResetMeshTemp();
         } // if Tool 40 Reset
         
-
-        
+        if(bbGetInputTool() == 50) // Set Array of Meshes
+        {
+               if(bbGetInputMeshes().size() > 1)
+               {
+                       bbGetInputMeshManagerModel()->ReplaceMesh(bbGetInputMeshes());
+                   }
+        }
+        if(bbGetInputTool() == 60) // Select Mesh by Name
+        {
+               if(!bbGetInputStringParam().empty())
+               {
+                       bbGetInputMeshManagerModel()->SelectMeshByName(bbGetInputStringParam());
+                   }
+        }
+        if(bbGetInputTool() == 70) // Delete Current Mesh
+        {
+                   bbGetInputMeshManagerModel()->DeleteCurrentMesh();
+        }
     } else {
         printf("EED Warning! MeshManager_tool : MeshManagerModel not defined. \n");
     }// if MeshManagerModel != NULL