Program: bbtk
Module: $RCSfile: bbvtkIsoSurfaceExtractor.cxx,v $
Language: C++
- Date: $Date: 2008/11/25 11:17:23 $
- Version: $Revision: 1.10 $
+ Date: $Date: 2009/05/28 08:55:44 $
+ Version: $Revision: 1.15 $
=========================================================================*/
/* ---------------------------------------------------------------------
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();
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);
marchingcubes->SetInput( bbGetInputIn() );
marchingcubes->SetValue(0, bbGetInputIsovalue() );
marchingcubes->Update();
{
firsttime=false;
bbGetInputRenderer()->AddActor( vtkactor );
- }
+ }
}
} // EO namespace bbtk