]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx
*** empty log message ***
[bbtk.git] / packages / vtk / src / bbvtkIsoSurfaceExtractor.cxx
index ba4cb8c7e0f9583b1ae7a3765a2ab5954fcdc43b..ae9a7fe9aacae536a3f9c4e188699f6950206a96 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkIsoSurfaceExtractor.cxx,v $
   Language:  C++
-  Date:      $Date: 2009/03/23 12:55:52 $
-  Version:   $Revision: 1.11 $
+  Date:      $Date: 2009/05/28 08:55:44 $
+  Version:   $Revision: 1.15 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -47,38 +47,32 @@ namespace bbvtk
    BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,IsoSurfaceExtractor)
    BBTK_BLACK_BOX_IMPLEMENTATION(IsoSurfaceExtractor,bbtk::AtomicBlackBox);
 
-   void IsoSurfaceExtractor::bbUserConstructor() 
+   void IsoSurfaceExtractor::bbUserSetDefaultValues() 
    { 
-     Init();
-     std::vector<double> colour;
-     colour.push_back(1.0);
-     colour.push_back(1.0);
-     colour.push_back(0.5);
-     bbSetInputColour(colour);
-   }
-   void IsoSurfaceExtractor::bbUserCopyConstructor(bbtk::BlackBox::Pointer from) 
-   { 
-     Init();
+     //           printf("EED %p IsoSurfaceExtractor::bbUserConstructor \n", this);
+          firsttime=true;
+          std::vector<double> colour;
+          colour.push_back(1.0);
+          colour.push_back(1.0);
+          colour.push_back(0.5);
+          bbSetInputColour(colour);
+
+          bbSetInputIn(NULL);
+          //     bbSetInputInVtkObject(NULL);
+          bbSetInputRenderer(NULL);
+          bbSetInputTransform(NULL);
+          bbSetInputIsovalue(400);
+          bbSetInputOpacity(1);
+
+          marchingcubes        = NULL;
+          polydatamapper       = NULL;
+          vtkactor         = NULL;
    }
 
-   void IsoSurfaceExtractor::bbUserDestructor() 
-   { 
-     marchingcubes->Delete();
-     polydatamapper->Delete();
-     vtkactor->Delete();
-  }
 
-   void IsoSurfaceExtractor::Init() 
-   { 
-     firsttime=true;
-
-     bbSetInputIn(NULL);
-     //     bbSetInputInVtkObject(NULL);
-     bbSetInputRenderer(NULL);
-     bbSetInputTransform(NULL);
-     bbSetInputIsovalue(400);
-     bbSetInputOpacity(1);
-        
+       //---------------------------------------------------------------------
+   void IsoSurfaceExtractor::bbUserInitializeProcessing() 
+   {    
      marchingcubes     = vtkMarchingCubes::New();
      polydatamapper    = vtkPolyDataMapper::New();
      vtkactor           = vtkActor::New();
@@ -88,13 +82,41 @@ namespace bbvtk
 
      polydatamapper->ScalarVisibilityOff();
      polydatamapper->ImmediateModeRenderingOn();
-}
+   }
 
+       //---------------------------------------------------------------------
+       void IsoSurfaceExtractor::bbUserFinalizeProcessing() 
+       { 
+               if (marchingcubes!=NULL)
+               {
+                       marchingcubes->Delete();
+                       marchingcubes=NULL;
+               }
+
+               
+               if (polydatamapper!=NULL)
+               {
+                       polydatamapper->Delete();
+                       polydatamapper=NULL;
+               }
+
+               if (vtkactor!=NULL)
+               {
+                       vtkactor->Delete();
+                       vtkactor=NULL;
+               }
+               
+               
+               
+               
+       }
+       
+       
 //---------------------------------------------------------------------
 
    void IsoSurfaceExtractor::DoProcess()
    {
-printf("EED IsoSurfaceExtractor::DoProcess() 0\n"); 
+     //printf("EED %p IsoSurfaceExtractor::DoProcess \n", this);
      marchingcubes->SetInput( bbGetInputIn() );
      marchingcubes->SetValue(0,  bbGetInputIsovalue() );
      marchingcubes->Update();