// * TYPE is the C++ type of the input/output
// (the one provided in the attribute 'type' of the tag 'input')
-printf("EED void PlaneWidget::Process Start\n");
if ((bbGetInputIn()==NULL) || (bbGetInputRenderer()==NULL))
{
_boxcreavtkplanewidget.SetResolution( bbGetInputResolution() );
_boxcreavtkplanewidget.SetRenderer( bbGetInputRenderer() );
_boxcreavtkplanewidget.SetRepresentation( bbGetInputRepresentation() );
-printf("EED void PlaneWidget::Process 1\n");
+ _boxcreavtkplanewidget.SetOrigin( bbGetInputOrigin() );
_boxcreavtkplanewidget.Process();
-printf("EED void PlaneWidget::Process 2\n");
bbSetOutputOut( _boxcreavtkplanewidget.GetPlaneSource()->GetOutput() );
bbSetOutputCenter( _boxcreavtkplanewidget.GetCenter() );
bbSetOutputNormal( _boxcreavtkplanewidget.GetNormal() );
}
-printf("EED void PlaneWidget::Process End\n");
}
//=====
BBTK_DECLARE_INPUT(Resolution,int);
BBTK_DECLARE_INPUT(Renderer,vtkRenderer*);
BBTK_DECLARE_INPUT(Representation,int);
+ BBTK_DECLARE_INPUT(Origin,std::vector<double>);
BBTK_DECLARE_OUTPUT(Out,vtkDataSet*);
BBTK_DECLARE_OUTPUT(Center,std::vector<double>);
BBTK_DECLARE_OUTPUT(Normal,std::vector<double>);
BBTK_INPUT(PlaneWidget,Resolution,"Resolution (60 default)",int,"");
BBTK_INPUT(PlaneWidget,Renderer,"vtkRenderer",vtkRenderer*,"");
BBTK_INPUT(PlaneWidget,Representation,"(default 1) 0:OutLine 1:Wireframe 2:Surface",int,"");
+ BBTK_INPUT(PlaneWidget,Origin,"Origin [x,y,z]",std::vector<double>,"");
BBTK_OUTPUT(PlaneWidget,Out,"Dynamic plane result from vtkPlaneSource",vtkDataSet*,"");
BBTK_OUTPUT(PlaneWidget,Center,"Center of the plane",std::vector<double>,"");
return vecNormal;
}
+void creaVtkPlaneWidget::SetOrigin(std::vector<double> origin)
+{
+ _origin = origin;
+}
//------------------------------------------------------------------------
void creaVtkPlaneWidget::Process()
if ((GetActive()==true) && (GetRenderer()!=NULL))
{
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- _vPlaneWidget->SetInput( GetImage() );
-#else
- _vPlaneWidget->SetInputData( GetImage() );
-#endif
- _vPlaneWidget->SetInteractor( GetRenderer()->GetRenderWindow()->GetInteractor() );
- _vPlaneWidget->NormalToXAxisOn();
- _vPlaneWidget->NormalToZAxisOn();
- _vPlaneWidget->SetResolution(_resolution);
- if (_representation==0){ _vPlaneWidget->SetRepresentationToOutline(); }
- if (_representation==1){ _vPlaneWidget->SetRepresentationToWireframe(); }
- if (_representation==2){ _vPlaneWidget->SetRepresentationToSurface(); }
- _vPlaneWidget->SetPlaceFactor(1); //defini zoom initial
- _vPlaneWidget->SetHandleSize(0.5);
- _vPlaneWidget->On();
- if (_firsttime==true )
- {
- _firsttime = false;
- _vPlaneWidget->PlaceWidget();
- creaVtkCallbackPlaneWidget *creavtkcallbackplanewidget = creaVtkCallbackPlaneWidget::New();
- creavtkcallbackplanewidget->creavtkplanewidget = this ;
- _vPlaneWidget->AddObserver( vtkCommand::InteractionEvent , creavtkcallbackplanewidget );
- _vPlaneWidget->AddObserver( vtkCommand::StartInteractionEvent , creavtkcallbackplanewidget );
- _vPlaneWidget->AddObserver( vtkCommand::EnableEvent , creavtkcallbackplanewidget );
- }
- UpdatePlane();
+ //EED 2017-01-01 Migration VTK7
+ #if VTK_MAJOR_VERSION <= 5
+ _vPlaneWidget->SetInput( GetImage() );
+ #else
+ _vPlaneWidget->SetInputData( GetImage() );
+ #endif
+ _vPlaneWidget->SetInteractor( GetRenderer()->GetRenderWindow()->GetInteractor() );
+ _vPlaneWidget->NormalToXAxisOn();
+ _vPlaneWidget->NormalToZAxisOn();
+ _vPlaneWidget->SetResolution(_resolution);
+ if (_representation==0){ _vPlaneWidget->SetRepresentationToOutline(); }
+ if (_representation==1){ _vPlaneWidget->SetRepresentationToWireframe(); }
+ if (_representation==2){ _vPlaneWidget->SetRepresentationToSurface(); }
+ _vPlaneWidget->SetPlaceFactor(1); //defini zoom initial
+ _vPlaneWidget->SetHandleSize(0.01);
+ _vPlaneWidget->On();
+ _vPlaneWidget->Print(std::cout);
+ if (_origin.size()==3)
+ {
+ _vPlaneWidget->SetCenter( _origin[0] , _origin[1] , _origin[2] );
+ } // if _origin
+ if (_firsttime==true )
+ {
+ _firsttime = false;
+ _vPlaneWidget->PlaceWidget();
+ creaVtkCallbackPlaneWidget *creavtkcallbackplanewidget = creaVtkCallbackPlaneWidget::New();
+ creavtkcallbackplanewidget->creavtkplanewidget = this ;
+ _vPlaneWidget->AddObserver( vtkCommand::InteractionEvent , creavtkcallbackplanewidget );
+ _vPlaneWidget->AddObserver( vtkCommand::StartInteractionEvent , creavtkcallbackplanewidget );
+ _vPlaneWidget->AddObserver( vtkCommand::EnableEvent , creavtkcallbackplanewidget );
+ }
+ UpdatePlane();
} else {
- _vPlaneWidget->Off();
- }
+ _vPlaneWidget->Off();
+ } // if Active Render
}
std::vector<double> GetCenter();
std::vector<double> GetNormal();
+ void SetOrigin( std::vector<double> origin);
+
void Process();
void UpdatePlane();
virtual void Execute();
//Methods and attributes only visible by this class
//---------------------------------------------
private:
- bool _firsttime;
- bool _active;
- vtkImageData *_image;
- vtkRenderer *_renderer;
- int _resolution;
- int _representation;
+ bool _firsttime;
+ bool _active;
+ vtkImageData* _image;
+ vtkRenderer * _renderer;
+ int _resolution;
+ int _representation;
+ std::vector<double> _origin;
vtkPlaneWidget *_vPlaneWidget;
vtkPlaneSource *_vPlaneSource;