Program: bbtk
Module: $RCSfile: bbvtkIsoSurfaceExtractor.cxx,v $
Language: C++
- Date: $Date: 2009/05/14 15:40:12 $
- Version: $Revision: 1.13 $
+ Date: $Date: 2009/12/18 12:38:33 $
+ Version: $Revision: 1.16 $
=========================================================================*/
/* ---------------------------------------------------------------------
BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,IsoSurfaceExtractor)
BBTK_BLACK_BOX_IMPLEMENTATION(IsoSurfaceExtractor,bbtk::AtomicBlackBox);
- void IsoSurfaceExtractor::bbUserConstructor()
+ void IsoSurfaceExtractor::bbUserSetDefaultValues()
{
- printf("EED %p IsoSurfaceExtractor::bbUserConstructor \n", this);
- 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();
+ vtkactor = vtkActor::New();
polydatamapper->SetInput(marchingcubes->GetOutput());
vtkactor->SetMapper(polydatamapper);
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 %p IsoSurfaceExtractor::DoProcess \n", this);
+ //printf("EED %p IsoSurfaceExtractor::DoProcess \n", this);
marchingcubes->SetInput( bbGetInputIn() );
marchingcubes->SetValue(0, bbGetInputIsovalue() );
marchingcubes->Update();