]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager_tool.cxx
#3504 Mesh Manager handle multiple meshes
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager_tool.cxx
index bda31e1b44a90818c75af3cb1514f33a543bbc5e..e39e25fd66ef4e531c2a0d259875f32b3b1d3871 100644 (file)
@@ -26,7 +26,7 @@ void MeshManager_tool::Process()
 //      (the one provided in the attribute 'type' of the tag 'input')
 //    bbSetOutputOut( bbGetInputIn() );
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
-
+    
     if (bbGetInputMeshManagerModel()!=NULL)
     {
         if (bbGetInputTool()==10) // Undo
@@ -41,7 +41,6 @@ void MeshManager_tool::Process()
 
         if (bbGetInputTool()==30)  // Set
         {
-            printf("EED    MeshManager_tool::Process Set\n");
             if (bbGetInputMesh()!=NULL){
                 vtkPoints   *points = bbGetInputMesh()->GetPoints();
                 if (points!=NULL)
@@ -51,10 +50,47 @@ void MeshManager_tool::Process()
             } // Mesh!=NULL
         } // if Tool 30 Set
 
-        if (bbGetInputTool()==40) // Reset
+        if (bbGetInputTool()==35)  // Set memory mode
+        {
+                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) // 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)
+               {
+                       if(bbGetInputMeshManagerModel()->GetNumberOfMeshes() == 1){
+                                       bbGetInputMeshManagerModel()->DeleteAll();
+                       }
+                       if(bbGetInputMeshManagerModel()->GetNumberOfMeshes() > 1)
+                       {
+                               bbGetInputMeshManagerModel()->DeleteCurrentMesh();
+                       }
+                               bbGetInputMeshManagerModel()->InsertMeshesAtCurrent(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