Program: bbtk
Module: $RCSfile: bbvtkImagePlanes.cxx,v $
Language: C++
- Date: $Date: 2009/01/08 10:18:37 $
- Version: $Revision: 1.19 $
+ Date: $Date: 2009/02/27 11:20:26 $
+ Version: $Revision: 1.20 $
=========================================================================*/
/* ---------------------------------------------------------------------
{
//================================================================
- class myCallbackPlane : public vtkCommand
+ class ImagePlanes::VtkCallbackType : public vtkCommand
{
public:
- static myCallbackPlane *New()
+ static VtkCallbackType *New()
{
- return new myCallbackPlane;
+ return new VtkCallbackType;
}
virtual void Execute(vtkObject *caller, unsigned long, void*)
{
- currentBlackBox->Process();
- currentBlackBox->bbSignalOutputModification();
+ mBlackBox->Process();
+ mBlackBox->bbSignalOutputModification();
}
- void SetCurrentBlackBox(ImagePlanes *cBB) {currentBlackBox = cBB;};
- void SetVtkPlaneWidget( vtkImagePlaneWidget *planeWidget );
- myCallbackPlane() {};
+ void SetBlackBox(ImagePlanes *BB) { mBlackBox = BB;};
+ // void SetVtkPlaneWidget( vtkImagePlaneWidget *planeWidget );
+ VtkCallbackType() {};
private:
- vtkPlaneWidget *planeWidget;
- ImagePlanes *currentBlackBox;
+ // vtkPlaneWidget *planeWidget;
+ ImagePlanes *mBlackBox;
};
//================================================================
picker->UnRegister(NULL);
- myCallbackPlane *_myCallback = myCallbackPlane::New();
- _myCallback->SetCurrentBlackBox(this);
- planeWidgetX->AddObserver(vtkCommand::InteractionEvent,_myCallback);
- planeWidgetY->AddObserver(vtkCommand::InteractionEvent,_myCallback);
- planeWidgetZ->AddObserver(vtkCommand::InteractionEvent,_myCallback);
+ mVtkCallback = VtkCallbackType::New();
+ mVtkCallback->SetBlackBox(this);
+ planeWidgetX->AddObserver(vtkCommand::InteractionEvent,mVtkCallback);
+ planeWidgetY->AddObserver(vtkCommand::InteractionEvent,mVtkCallback);
+ planeWidgetZ->AddObserver(vtkCommand::InteractionEvent,mVtkCallback);
}
//---------------------------------------------------------------------
void ImagePlanes::bbUserDestructor()
{
- if (bbGetOutputPlaneX()) bbGetOutputPlaneX()->UnRegister(NULL);
- if (bbGetOutputPlaneY()) bbGetOutputPlaneY()->UnRegister(NULL);
- if (bbGetOutputPlaneZ()) bbGetOutputPlaneZ()->UnRegister(NULL);
+ if (bbGetOutputPlaneX())
+ {
+ bbGetOutputPlaneX()->SetInput(NULL);
+ bbGetOutputPlaneX()->UnRegister(NULL);
+ }
+ if (bbGetOutputPlaneY())
+ {
+ bbGetOutputPlaneY()->SetInput(NULL);
+ bbGetOutputPlaneY()->UnRegister(NULL);
+ }
+ if (bbGetOutputPlaneZ())
+ {
+ bbGetOutputPlaneZ()->SetInput(NULL);
+ bbGetOutputPlaneZ()->UnRegister(NULL);
+ }
+ mVtkCallback->Delete();
}
//---------------------------------------------------------------------