]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshManager.cxx
#3493 MeshManager
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshManager.cxx
index cb4cca82146eacf3fbfeb8ca1810acf8ce9c1679..25be322b77ae54db2506b330d78485caec30fe62 100644 (file)
@@ -6,6 +6,23 @@
 namespace bbcreaVtk
 {
 
+MeshManagerModel_Box::MeshManagerModel_Box( MeshManager *box )
+{
+    mBox=box;
+}
+
+MeshManagerModel_Box::~MeshManagerModel_Box( )
+{
+}
+
+void MeshManagerModel_Box::RefreshOutputs( )
+{
+    mBox->bbSetOutputMeshBase( GetMeshBase() );
+    mBox->bbSetOutputMeshTemp( GetMeshTemp() );
+    mBox->bbSignalOutputModification();
+}
+
+
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaVtk,MeshManager)
 BBTK_BLACK_BOX_IMPLEMENTATION(MeshManager,bbtk::AtomicBlackBox);
 //===== 
@@ -26,14 +43,14 @@ 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->SetMeshBase( bbGetInputMesh() );
+        meshManagerModel_Box->RefreshOutputs();
+        bbSetOutputMeshManagerModel( meshManagerModel_Box );
+    } // if meshManagerModel_Box
 }
 
 //===== 
@@ -44,7 +61,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);
 }