]> Creatis software - bbtk.git/commitdiff
*** empty log message ***
authorguigues <guigues>
Thu, 12 Mar 2009 09:36:21 +0000 (09:36 +0000)
committerguigues <guigues>
Thu, 12 Mar 2009 09:36:21 +0000 (09:36 +0000)
packages/vtk/src/bbvtkImagePlanes.cxx

index ccfba10fce9c18e1d5ba4b385553b680267808b4..3c94907cefcf6766350425c47be9604706ee667f 100644 (file)
@@ -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();
   }
   
 //---------------------------------------------------------------------