From 211d74ef7f7997ba3c1079b6f5e0e08a14e9d191 Mon Sep 17 00:00:00 2001 From: guigues Date: Thu, 12 Mar 2009 09:36:21 +0000 Subject: [PATCH] *** empty log message *** --- packages/vtk/src/bbvtkImagePlanes.cxx | 31 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/vtk/src/bbvtkImagePlanes.cxx b/packages/vtk/src/bbvtkImagePlanes.cxx index ccfba10..3c94907 100644 --- a/packages/vtk/src/bbvtkImagePlanes.cxx +++ b/packages/vtk/src/bbvtkImagePlanes.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbvtkImagePlanes.cxx,v $ Language: C++ - Date: $Date: 2009/02/27 11:20:26 $ - Version: $Revision: 1.20 $ + Date: $Date: 2009/03/12 09:36:21 $ + Version: $Revision: 1.21 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -60,6 +60,7 @@ #include "bbstdRelay.h" +#include "vtkObjectFactory.h" namespace bbstd @@ -112,9 +113,11 @@ namespace bbvtk { public: static VtkCallbackType *New() - { - return new VtkCallbackType; - } + { + return new VtkCallbackType; + } + //vtkTypeRevisionMacro(VtkCallbackType,vtkCommand); + virtual void Execute(vtkObject *caller, unsigned long, void*) { mBlackBox->Process(); @@ -130,6 +133,7 @@ namespace bbvtk }; //================================================================ + //vtkCxxRevisionMacro(ImagePlanes::VtkCallbackType, "$Revision: 1.21 $"); //================================================================ @@ -150,6 +154,7 @@ namespace bbvtk vect.push_back(0); vect.push_back(0); bbSetInputWindowLevel (vect); + mVtkCallback = 0; } void ImagePlanes::bbUserCopyConstructor(bbtk::BlackBox::Pointer) @@ -160,6 +165,7 @@ namespace bbvtk bbSetOutputImageX(0); bbSetOutputImageY(0); bbSetOutputImageZ(0); + mVtkCallback = 0; } void ImagePlanes::Init() @@ -216,23 +222,28 @@ namespace bbvtk //--------------------------------------------------------------------- void ImagePlanes::bbUserDestructor() { - if (bbGetOutputPlaneX()) { bbGetOutputPlaneX()->SetInput(NULL); - bbGetOutputPlaneX()->UnRegister(NULL); + bbGetOutputPlaneX()->RemoveObserver(mVtkCallback); + bbGetOutputPlaneX()->Delete(); } if (bbGetOutputPlaneY()) { bbGetOutputPlaneY()->SetInput(NULL); - bbGetOutputPlaneY()->UnRegister(NULL); + bbGetOutputPlaneY()->RemoveObserver(mVtkCallback); + bbGetOutputPlaneY()->Delete(); } if (bbGetOutputPlaneZ()) { bbGetOutputPlaneZ()->SetInput(NULL); - bbGetOutputPlaneZ()->UnRegister(NULL); + bbGetOutputPlaneZ()->RemoveObserver(mVtkCallback); + bbGetOutputPlaneZ()->Delete(); + } + if (mVtkCallback) + { + mVtkCallback->Delete(); } - mVtkCallback->Delete(); } //--------------------------------------------------------------------- -- 2.45.1