]> Creatis software - bbtk.git/blobdiff - packages/std/src/bbstdMagicBox.cxx
Clean Code
[bbtk.git] / packages / std / src / bbstdMagicBox.cxx
index 0bf4ed69ab845bd41912a1b535d2a1e60b8b473a..6ed1ba6d9db690c0f1ee00fd3ba80b7c9ff9ca2c 100644 (file)
@@ -41,25 +41,43 @@ using namespace bbtk;
 namespace bbstd
 {
 
+void MagicBox::bbComputePostProcessStatus()  // Virtual
+{
+    AtomicBlackBox::bbComputePostProcessStatus();
+       if (bbGetInputActive()==false)
+       {
+               // Update the output statuses
+               IOStatus new_output_status = UPTODATE;
+               OutputConnectorMapType::iterator o;
+               for ( o = bbGetOutputConnectorMap().begin(); o!= bbGetOutputConnectorMap().end(); ++o) 
+               {
+                       o->second->SetStatus( new_output_status );
+               } // for o
+       } // if
+}
 
-  void MagicBox::bbUserSetDefaultValues()
-  {
-  }
-  void MagicBox::bbUserInitializeProcessing() 
-  { 
-  }
-  void  MagicBox::bbUserFinalizeProcessing() 
-  {
-  }
-  void MagicBox::DoProcess()
-  { 
-printf("EED MagicBox::DoProcess Start\n");
-    bbSetOutputOut( bbGetInputIn() );
-printf("EED MagicBox::DoProcess End\n");
-  }
+void MagicBox::bbUserSetDefaultValues()
+{
+    bbSetInputActive(true);
+}
 
-  BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,MagicBox);
-  BBTK_BLACK_BOX_IMPLEMENTATION(MagicBox,bbtk::AtomicBlackBox);
-  
+void MagicBox::bbUserInitializeProcessing()
+{
+}
+
+void  MagicBox::bbUserFinalizeProcessing()
+{
 }
-// EO namespace bbstd
+
+void MagicBox::DoProcess()
+{
+    if (bbGetInputActive()==true)
+       {
+               bbSetOutputOut( bbGetInputIn() );
+       } // if Active
+}
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(std,MagicBox);
+BBTK_BLACK_BOX_IMPLEMENTATION(MagicBox,bbtk::AtomicBlackBox);
+  
+} // EO namespace bbstd