]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkVecIsoSurfaceExtractor.cxx
.
[bbtk.git] / packages / vtk / src / bbvtkVecIsoSurfaceExtractor.cxx
index d175944fe51920685d507355e3363950b149389f..ebe70c1095edfe07f0e213e301cd298a570c5696 100644 (file)
@@ -9,153 +9,149 @@ namespace bbvtk
 
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,VecIsoSurfaceExtractor)
 BBTK_BLACK_BOX_IMPLEMENTATION(VecIsoSurfaceExtractor,bbtk::AtomicBlackBox);
-void VecIsoSurfaceExtractor::Process()
-{
-    double r,g,b;
-       vtkMarchingCubes        *marchingcubes;
-       vtkPolyDataMapper       *polydatamapper;
-       vtkActor                        *vtkactor;
-
-        int i,size;
-
-
-       size = VecVtkactor.size();
-       for( i=0 ; i<size ; i++)
+       
+       //-----------------------------------------------------------   
+       void VecIsoSurfaceExtractor::bbUserSetDefaultValues()
        {
-               if (bbGetInputRenderer()!=NULL )
+               std::vector<double> colour;
+               // 1- red
+               colour.push_back(1.0);
+               colour.push_back(0.0);
+               colour.push_back(0.0);
+               // 2- blue
+               colour.push_back(0.0);
+               colour.push_back(0.0);
+               colour.push_back(1.0);
+               // 3- yellow
+               colour.push_back(1.0);
+               colour.push_back(1.0);
+               colour.push_back(0.0);
+               // 4- green
+               colour.push_back(0.0);
+               colour.push_back(1.0);
+               colour.push_back(0.0);
+               // 5- 
+               colour.push_back(0.0);
+               colour.push_back(1.0);
+               colour.push_back(1.0);
+               
+               // 6- 
+               colour.push_back(0.5);
+               colour.push_back(0.5);
+               colour.push_back(0.5);
+               
+               bbSetInputColour(colour);
+               bbSetInputTransform(NULL);
+               bbSetInputOpacity(1);
+               
+               bbSetInputRenderer(NULL);
+               bbSetInputIsovalue(128);
+               bbSetInputOpacity(1);
+       }
+       
+       //-----------------------------------------------------------   
+       void VecIsoSurfaceExtractor::bbUserInitializeProcessing() 
+       { 
+               //    bbSetInputIn(NULL);
+               //     bbSetInputInVtkObject(NULL);
+               
+       }
+       
+       //-----------------------------------------------------------   
+       void VecIsoSurfaceExtractor::bbUserFinalizeProcessing()
+       {
+               int i,size = VecMarchingcubes.size();
+               for (i=0;i<size;i++)
                {
-                       bbGetInputRenderer()->RemoveActor( VecVtkactor[i] );
                        VecMarchingcubes[i]->Delete();
                        VecPolydatamapper[i]->Delete();
                        VecVtkactor[i]->Delete();
                }
+               VecMarchingcubes.clear();
+               VecPolydatamapper.clear();
+               VecVtkactor.clear();
        }
-    VecMarchingcubes.clear();
-       VecPolydatamapper.clear();
-       VecVtkactor.clear();
-
-
-        size = bbGetInputIn().size();
-       for( i=0 ; i<size ; i++){
-               marchingcubes           = vtkMarchingCubes::New();
-               polydatamapper          = vtkPolyDataMapper::New();
-               vtkactor                        = vtkActor::New();
-
-               polydatamapper->SetInput(marchingcubes->GetOutput());
-               vtkactor->SetMapper(polydatamapper);
-
-               polydatamapper->ScalarVisibilityOff();
-               polydatamapper->ImmediateModeRenderingOn();
-
-               VecMarchingcubes.push_back(marchingcubes);
-               VecPolydatamapper.push_back(polydatamapper);
-               VecVtkactor.push_back(vtkactor);
-       } // for i
-
-
-       for( i=0 ; i<size ; i++){
-               // Visualisation - result volume
-               marchingcubes=VecMarchingcubes[i];
-               vtkactor=(vtkActor*)VecVtkactor[i];
-
-               marchingcubes->SetInput( bbGetInputIn()[i] );
-               marchingcubes->SetValue(0,  bbGetInputIsovalue() );
-               marchingcubes->Update();
-            
-               if ( (i*3+1)<(int)(bbGetInputColour().size()) ){
-                       r = bbGetInputColour()[0+i*3];
-                       g = bbGetInputColour()[1+i*3]; 
-                       b = bbGetInputColour()[2+i*3];
-               } else {
-                       r = bbGetInputColour()[0];
-                       g = bbGetInputColour()[1]; 
-                       b = bbGetInputColour()[2];
-               }
-               vtkactor->GetProperty()->SetColor( r,g,b );
-            
-               vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
-               
-               if ( bbGetInputTransform()!=NULL )
-               {
-                       vtkactor->SetUserTransform( bbGetInputTransform() );
-               }
+       
+       //-----------------------------------------------------------   
+       void VecIsoSurfaceExtractor::Process()
+       {
+               double r,g,b;
+               vtkMarchingCubes        *marchingcubes;
+               vtkPolyDataMapper       *polydatamapper;
+               vtkActor                        *vtkactor;
+
+                int i,size;
 
-               // Interface Update
-               if (bbGetInputRenderer()!=NULL )
+               size = VecVtkactor.size();
+               for( i=0 ; i<size ; i++)
                {
-                       bbGetInputRenderer()->AddActor( vtkactor );
+                       if (bbGetInputRenderer()!=NULL )
+                       {
+                               bbGetInputRenderer()->RemoveActor( VecVtkactor[i] );
+                               VecMarchingcubes[i]->Delete();
+                               VecPolydatamapper[i]->Delete();
+                               VecVtkactor[i]->Delete();
+                       }
                }
-       } // for i
-
-
-     bbSetOutputOut( VecVtkactor );
-}
-
-void VecIsoSurfaceExtractor::bbUserConstructor()
-{
-     Init();
-     std::vector<double> colour;
-        // 1- red
-     colour.push_back(1.0);
-     colour.push_back(0.0);
-     colour.push_back(0.0);
-        // 2- blue
-     colour.push_back(0.0);
-     colour.push_back(0.0);
-     colour.push_back(1.0);
-        // 3- yellow
-     colour.push_back(1.0);
-     colour.push_back(1.0);
-     colour.push_back(0.0);
-        // 4- green
-     colour.push_back(0.0);
-     colour.push_back(1.0);
-     colour.push_back(0.0);
-        // 5- 
-     colour.push_back(0.0);
-     colour.push_back(1.0);
-     colour.push_back(1.0);
-
-        // 6- 
-     colour.push_back(0.5);
-     colour.push_back(0.5);
-     colour.push_back(0.5);
-
-
-     bbSetInputColour(colour);
-        bbSetInputTransform(NULL);
-        bbSetInputOpacity(1);
-}
-
-void VecIsoSurfaceExtractor::bbUserCopyConstructor(bbtk::BlackBox::Pointer)
-{
-       Init();
-}
-
-void VecIsoSurfaceExtractor::bbUserDestructor()
-{
-       int i,size = VecMarchingcubes.size();
-       for (i=0;i<size;i++)
-       {
-               VecMarchingcubes[i]->Delete();
-               VecPolydatamapper[i]->Delete();
-               VecVtkactor[i]->Delete();
+               VecMarchingcubes.clear();
+               VecPolydatamapper.clear();
+               VecVtkactor.clear();
+
+
+                size = bbGetInputIn().size();
+               for( i=0 ; i<size ; i++){
+                       marchingcubes           = vtkMarchingCubes::New();
+                       polydatamapper          = vtkPolyDataMapper::New();
+                       vtkactor                        = vtkActor::New();
+
+                       polydatamapper->SetInput(marchingcubes->GetOutput());
+                       vtkactor->SetMapper(polydatamapper);
+
+                       polydatamapper->ScalarVisibilityOff();
+                       polydatamapper->ImmediateModeRenderingOn();
+
+                       VecMarchingcubes.push_back(marchingcubes);
+                       VecPolydatamapper.push_back(polydatamapper);
+                       VecVtkactor.push_back(vtkactor);
+               } // for i
+
+
+               for( i=0 ; i<size ; i++){
+                       // Visualisation - result volume
+                       marchingcubes=VecMarchingcubes[i];
+                       vtkactor=(vtkActor*)VecVtkactor[i];
+
+                       marchingcubes->SetInput( bbGetInputIn()[i] );
+                       marchingcubes->SetValue(0,  bbGetInputIsovalue() );
+                       marchingcubes->Update();
+                        
+                       if ( (i*3+1)<(int)(bbGetInputColour().size()) ){
+                               r = bbGetInputColour()[0+i*3];
+                               g = bbGetInputColour()[1+i*3]; 
+                               b = bbGetInputColour()[2+i*3];
+                       } else {
+                               r = bbGetInputColour()[0];
+                               g = bbGetInputColour()[1]; 
+                               b = bbGetInputColour()[2];
+                       }
+                       vtkactor->GetProperty()->SetColor( r,g,b );
+                        
+                       vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
+                       
+                       if ( bbGetInputTransform()!=NULL )
+                       {
+                               vtkactor->SetUserTransform( bbGetInputTransform() );
+                       }
+
+                       // Interface Update
+                       if (bbGetInputRenderer()!=NULL )
+                       {
+                               bbGetInputRenderer()->AddActor( vtkactor );
+                       }
+               } // for i
+
+                bbSetOutputOut( VecVtkactor );
        }
-       VecMarchingcubes.clear();
-       VecPolydatamapper.clear();
-       VecVtkactor.clear();
-}
-
-
-void VecIsoSurfaceExtractor::Init() 
-{ 
-//    bbSetInputIn(NULL);
-    //     bbSetInputInVtkObject(NULL);
-    bbSetInputRenderer(NULL);
-    bbSetInputIsovalue(128);
-    bbSetInputOpacity(1);
-       
-}
 
 
 }