39 #ifndef PCL_VISUALIZER_WINDOW_H__ 40 #define PCL_VISUALIZER_WINDOW_H__ 42 #include <pcl/pcl_macros.h> 43 #include <boost/signals2/signal.hpp> 45 #include <vtkCommand.h> 49 class vtkRenderWindow;
50 class vtkRenderWindowInteractor;
51 class vtkCallbackCommand;
52 class vtkRendererCollection;
53 class PCLVisualizerInteractorStyle;
57 namespace visualization
65 Window (
const std::string& window_name =
"");
81 spinOnce (
int time = 1,
bool force_redraw =
false);
93 boost::signals2::connection
97 return registerKeyboardCallback (boost::bind (callback, _1, cookie));
107 template<
typename T> boost::signals2::connection
109 T& instance,
void* cookie = NULL)
111 return registerKeyboardCallback (boost::bind (callback, boost::ref (instance), _1, cookie));
120 boost::signals2::connection
124 return registerMouseCallback (boost::bind (callback, _1, cookie));
134 template<
typename T> boost::signals2::connection
136 T& instance,
void* cookie = NULL)
138 return registerMouseCallback (boost::bind (callback, boost::ref (instance), _1, cookie));
152 boost::signals2::connection
160 boost::signals2::connection
164 emitMouseEvent (
unsigned long event_id);
167 emitKeyboardEvent (
unsigned long event_id);
171 MouseCallback (vtkObject*,
unsigned long eid,
void* clientdata,
void *calldata);
173 KeyboardCallback (vtkObject*,
unsigned long eid,
void* clientdata,
void *calldata);
188 Execute (vtkObject*,
unsigned long event_id,
void* call_data);
206 Execute (vtkObject*,
unsigned long event_id,
void*);
215 boost::signals2::signal<void (const pcl::visualization::MouseEvent&)>
mouse_signal_;
vtkSmartPointer< vtkRenderWindowInteractor > interactor_
static ExitCallback * New()
vtkCallbackCommand * mouse_command_
boost::signals2::signal< void(const pcl::visualization::KeyboardEvent &)> keyboard_signal_
vtkSmartPointer< PCLVisualizerInteractorStyle > style_
The render window interactor style.
vtkCallbackCommand * keyboard_command_
bool wasStopped() const
Returns true when the user tried to close the window.
vtkSmartPointer< vtkRendererCollection > rens_
The collection of renderers used.
boost::signals2::connection registerKeyboardCallback(void(T::*callback)(const pcl::visualization::KeyboardEvent &, void *), T &instance, void *cookie=NULL)
registering a callback function for keyboard events
boost::signals2::signal< void(const pcl::visualization::MouseEvent &)> mouse_signal_
void resetStoppedFlag()
Set the stopped flag back to false.
vtkSmartPointer< ExitMainLoopTimerCallback > exit_main_loop_timer_callback_
boost::signals2::connection registerMouseCallback(void(T::*callback)(const pcl::visualization::MouseEvent &, void *), T &instance, void *cookie=NULL)
registering a callback function for mouse events
boost::signals2::connection registerKeyboardCallback(void(*callback)(const pcl::visualization::KeyboardEvent &, void *), void *cookie=NULL)
registering a callback function for keyboard events
boost::signals2::connection registerMouseCallback(void(*callback)(const pcl::visualization::MouseEvent &, void *), void *cookie=NULL)
static ExitMainLoopTimerCallback * New()
/brief Class representing key hit/release events
vtkSmartPointer< vtkRenderWindow > win_
vtkSmartPointer< ExitCallback > exit_callback_