]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx
#3513 CleanMeshWithPatch
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager.cxx
index cb4cca82146eacf3fbfeb8ca1810acf8ce9c1679..e8ed04592d092f14086788fa2cfbde74421bf682 100644 (file)
@@ -6,6 +6,28 @@
 namespace bbcreaVtk
 {
 
+MeshManagerModel_Box::MeshManagerModel_Box( MeshManager *box )
+{
+    mBox=box;
+}
+
+MeshManagerModel_Box::~MeshManagerModel_Box( )
+{
+}
+
+void MeshManagerModel_Box::RefreshOutputs(bool signalBox)
+{
+    mBox->bbSetOutputMeshBase( GetMeshBase() );
+    mBox->bbSetOutputMeshTemp( GetMeshTemp() );
+    mBox->bbSetOutputMeshNames( GetMeshNames() );
+    mBox->bbSetOutputAllPolyDatas( GetAllPolyDatas() );
+    mBox->bbSetOutputMeshSelection( GetCurrentMesh() );
+    if(signalBox==true){
+               mBox->bbSignalOutputModification();
+    }
+}
+
+
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshManager)
 BBTK_BLACK_BOX_IMPLEMENTATION(MeshManager,bbtk::AtomicBlackBox);
 //===== 
@@ -26,14 +48,20 @@ void MeshManager::Process()
 //      (the one provided in the attribute 'type' of the tag 'input')
 //    bbSetOutputOut( bbGetInputIn() );
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
-    if (meshManagerModel==NULL)
+    
+    if (meshManagerModel_Box==NULL)
     {
-        meshManagerModel = new MeshManagerModel();
-        meshManagerModel->SetMeshBase( bbGetInputMesh() );
-        bbSetOutputMeshBase( meshManagerModel->GetMeshBase() );
-        bbSetOutputMeshTemp( meshManagerModel->GetMeshTemp() );
-        bbSetOutputMeshManagerModel( meshManagerModel );
-    }
+        meshManagerModel_Box = new MeshManagerModel_Box(this);
+
+        meshManagerModel_Box->AddMeshes_( bbGetInputMeshVector() );
+
+               meshManagerModel_Box->AddMesh_( bbGetInputMesh() );
+               
+               meshManagerModel_Box->ResetHistory();
+        //meshManagerModel_Box->SetMeshBase( bbGetInputMesh() );
+        meshManagerModel_Box->RefreshOutputs(false);
+        bbSetOutputMeshManagerModel( meshManagerModel_Box );
+    } // if meshManagerModel_Box
 }
 
 //===== 
@@ -44,7 +72,7 @@ void MeshManager::bbUserSetDefaultValues()
 //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
 //    Here we initialize the input 'In' to 0
 //   bbSetInputIn(0);
-    meshManagerModel = NULL;
+    meshManagerModel_Box = NULL;
     bbSetInputMesh(NULL);
 }