X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkIsoSurfaceExtractor.cxx;h=ae9a7fe9aacae536a3f9c4e188699f6950206a96;hb=c9290f68cfff1094e0548fae2beb996476e5a496;hp=ba4cb8c7e0f9583b1ae7a3765a2ab5954fcdc43b;hpb=ca358f4baa7cb29eac5628d39f6084b8b13b517a;p=bbtk.git diff --git a/packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx b/packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx index ba4cb8c..ae9a7fe 100644 --- a/packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx +++ b/packages/vtk/src/bbvtkIsoSurfaceExtractor.cxx @@ -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 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 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();