]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx
*** empty log message ***
[bbtk.git] / packages / vtk / src / bbvtkIsoSurfaceExtractor.cxx
index 1ac72578591d49e62a6302117ae275f616f3894a..1559d97f85d20cf889d1e5890846989b2b1f9c48 100644 (file)
@@ -4,8 +4,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbvtkIsoSurfaceExtractor.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/03/03 14:01:49 $
-  Version:   $Revision: 1.1 $
+  Date:      $Date: 2008/05/09 10:39:47 $
+  Version:   $Revision: 1.6 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 
 #include "vtkProperty.h"
 
-#include "bbvtkIsoSurfaceInserter.h"
+#include "bbvtkIsoSurfaceExtractor.h"
 #include "bbvtkPackage.h"
 
 namespace bbvtk
 {
-   BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,IsoSurfaceInserter)
-   BBTK_USER_BLACK_BOX_IMPLEMENTATION(IsoSurfaceInserter,bbtk::AtomicBlackBox);
+   BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,IsoSurfaceExtractor)
+   BBTK_BLACK_BOX_IMPLEMENTATION(IsoSurfaceExtractor,bbtk::AtomicBlackBox);
 
-   void IsoSurfaceInserter::bbUserConstructor() 
+   void IsoSurfaceExtractor::bbUserConstructor() 
    { 
      Init();
      std::vector<double> colour;
@@ -44,37 +44,42 @@ namespace bbvtk
      bbSetInputColour(colour);
 
    }
-   void IsoSurfaceInserter::bbUserCopyConstructor() 
+   void IsoSurfaceExtractor::bbUserCopyConstructor() 
    { 
      Init();
    }
 
-   void IsoSurfaceInserter::Init() 
+   void IsoSurfaceExtractor::bbUserDestructor() 
+   { 
+     marchingcubes->Delete();
+     polydatamapper->Delete();
+     vtkactor->Delete();
+  }
+
+   void IsoSurfaceExtractor::Init() 
    { 
      firsttime=true;
 
-         bbSetInputIn(NULL);
-     bbSetInputInVtkObject(NULL);
+     bbSetInputIn(NULL);
+     //     bbSetInputInVtkObject(NULL);
      bbSetInputRenderer(NULL);
      bbSetInputIsovalue(400);
      bbSetInputOpacity(1);
         
-        marchingcubes  = vtkMarchingCubes::New();
+     marchingcubes     = vtkMarchingCubes::New();
      polydatamapper    = vtkPolyDataMapper::New();
-     vtkactor        = vtkActor::New();
+     vtkactor           = vtkActor::New();
 
      polydatamapper->SetInput(marchingcubes->GetOutput());
      vtkactor->SetMapper(polydatamapper);
 
      polydatamapper->ScalarVisibilityOff();
      polydatamapper->ImmediateModeRenderingOn();
-
-
 }
 
 //---------------------------------------------------------------------
 
-   void IsoSurfaceInserter::DoProcess()
+   void IsoSurfaceExtractor::DoProcess()
    {
      //   bbGetInputIn()->Print(std::cout);
      // Visualisation - result volume
@@ -82,24 +87,20 @@ namespace bbvtk
      marchingcubes->SetValue(0,  bbGetInputIsovalue() );
      marchingcubes->Update();
      
-     // if (_2_isoActorMC6!=NULL)
-     //  {
-     //   bbGetInputRenderer()->RemoveActor(vtkactor);
-     //  }
-     
-     vtkactor->GetProperty()->SetColor( bbGetInputColour()[0],  bbGetInputColour()[1], bbGetInputColour()[2] );
+     vtkactor->GetProperty()->SetColor( bbGetInputColour()[0],  
+                                       bbGetInputColour()[1], 
+                                       bbGetInputColour()[2] );
      
      
      vtkactor->GetProperty()->SetOpacity( bbGetInputOpacity() );
      bbSetOutputOut( vtkactor );
      
      // Interface Update
-     
      if ((firsttime==true) && (bbGetInputRenderer()!=NULL ))
-       {
-        firsttime=false;
-        bbGetInputRenderer()->AddActor( vtkactor );
-       }
+     {
+               firsttime=false;
+           bbGetInputRenderer()->AddActor( vtkactor );
+     }
    }
 } // EO namespace bbtk