1 /* =======================================================================
2 * @author: Leonardo Florez-Valencia
3 * @email: florez-l@javeriana.edu.co
4 * =======================================================================
7 #include <ivq/VTK/SeedWidget.h>
10 #include <vtkRenderWindowInteractor.h>
11 #include <vtkWidgetCallbackMapper.h>
12 #include <vtkWidgetEvent.h>
14 // -------------------------------------------------------------------------
15 ivq::VTK::SeedWidget::
16 Self* ivq::VTK::SeedWidget::
22 // -------------------------------------------------------------------------
23 ivq::VTK::SeedWidget::
27 // These are the event callbacks supported by this widget
28 this->CallbackMapper->SetCallbackMethod(
29 vtkCommand::LeftButtonPressEvent,
30 vtkWidgetEvent::AddPoint,
31 this, Self::_AddPointAction
33 this->CallbackMapper->SetCallbackMethod(
34 vtkCommand::RightButtonPressEvent,
35 vtkWidgetEvent::Completed,
36 this, Self::_CompletedAction
38 this->CallbackMapper->SetCallbackMethod(
39 vtkCommand::MouseMoveEvent,
41 this, Self::_MoveAction
43 this->CallbackMapper->SetCallbackMethod(
44 vtkCommand::LeftButtonReleaseEvent,
45 vtkWidgetEvent::EndSelect,
46 this, Self::_EndSelectAction
48 this->CallbackMapper->SetCallbackMethod(
49 vtkCommand::KeyPressEvent,
50 vtkEvent::NoModifier, 127, 1, "Delete",
51 vtkWidgetEvent::Delete,
52 this, Self::_DeleteAction
56 // -------------------------------------------------------------------------
57 ivq::VTK::SeedWidget::
62 // -------------------------------------------------------------------------
63 void ivq::VTK::SeedWidget::
64 _AddPointAction( vtkAbstractWidget* wdg )
66 Self* self = dynamic_cast< Self* >( wdg );
69 vtkRenderWindowInteractor* iren = self->GetInteractor( );
72 int shift = iren->GetShiftKey( );
74 Self::AddPointAction( wdg );
77 // -------------------------------------------------------------------------
78 void ivq::VTK::SeedWidget::
79 _CompletedAction( vtkAbstractWidget* wdg )
82 Self::CompletedAction( wdg );
85 // -------------------------------------------------------------------------
86 void ivq::VTK::SeedWidget::
87 _MoveAction( vtkAbstractWidget* wdg )
90 Self::MoveAction( wdg );
93 // -------------------------------------------------------------------------
94 void ivq::VTK::SeedWidget::
95 _EndSelectAction( vtkAbstractWidget* wdg )
98 Self::EndSelectAction( wdg );
101 // -------------------------------------------------------------------------
102 void ivq::VTK::SeedWidget::
103 _DeleteAction( vtkAbstractWidget* wdg )
106 Self::DeleteAction( wdg );