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_;