43 #include <pcl/visualization/common/actor_map.h>
44 #include <pcl/visualization/common/ren_win_interact_map.h>
45 #include <pcl/visualization/keyboard_event.h>
46 #include <pcl/visualization/mouse_event.h>
47 #include <pcl/visualization/point_picking_event.h>
48 #include <pcl/visualization/area_picking_event.h>
49 #include <boost/signals2/signal.hpp>
50 #include <vtkInteractorStyleRubberBandPick.h>
51 #include <vtkRendererCollection.h>
52 #include <vtkRenderWindow.h>
54 class vtkRendererCollection;
55 class vtkLegendScaleActor;
56 class vtkScalarBarActor;
58 class vtkWindowToImageFilter;
63 namespace visualization
116 init_ (), win_height_ (), win_width_ (), win_pos_x_ (), win_pos_y_ (),
117 max_win_height_ (), max_win_width_ (), use_vbos_ (false), grid_enabled_ (), lut_enabled_ (),
118 stereo_anaglyph_mask_default_ (),
119 modifier_ (), camera_saved_ (), lut_actor_id_ (
"")
170 boost::signals2::connection
177 boost::signals2::connection
184 boost::signals2::connection
191 boost::signals2::connection
223 setCameraParameters (
const Eigen::Matrix3f &intrinsics,
const Eigen::Matrix4f &extrinsics,
int viewport = 0);
245 return (camera_file_);
258 modifier_ = modifier;
393 std::string lut_actor_id_;
399 updateLookUpTableDisplay (
bool add_lut =
false);
431 void OnKeyDown ()
override;
434 void OnTimer ()
override;
/brief Class representing 3D area picking events.
Camera class holds a set of camera parameters together with the window pos/size.
/brief Class representing key hit/release events
PCL histogram visualizer interactory style class.
void setRenWinInteractMap(const RenWinInteractMap &wins)
Pass a map of render/window/interactors to the interactor style.
PCLHistogramVisualizerInteractorStyle()
Empty constructor.
static PCLHistogramVisualizerInteractorStyle * New()
void Initialize()
Initialization routine.
PCL Visualizer main class.
PCLVisualizerInteractorStyle defines an unique, custom VTK based interactory style for PCL Visualizer...
vtkSmartPointer< vtkWindowToImageFilter > wif_
Internal window to image filter.
void setCloudActorMap(const CloudActorMapPtr &actors)
Pass a pointer to the cloud actor map.
~PCLVisualizerInteractorStyle() override=default
Empty destructor.
void OnRightButtonDown() override
void setCameraParameters(const Eigen::Matrix3f &intrinsics, const Eigen::Matrix4f &extrinsics, int viewport=0)
Set the camera parameters via an intrinsics and and extrinsics matrix.
void OnMiddleButtonDown() override
void setRendererCollection(vtkSmartPointer< vtkRendererCollection > &rens)
Pass a set of renderers to the interactor style.
void getCameraParameters(Camera &camera, int viewport=0) const
Get camera parameters of a given viewport (0 means default viewport).
void OnMiddleButtonUp() override
vtkTypeMacro(PCLVisualizerInteractorStyle, vtkInteractorStyleRubberBandPick)
vtkSmartPointer< vtkPointPicker > point_picker_
Stores the point picker when switching to an area picker.
void setCameraFile(const std::string file)
Set camera file for camera parameter saving/restoring.
CloudActorMapPtr getCloudActorMap()
Get the cloud actor map pointer.
virtual void Initialize()
Initialization routine.
ShapeActorMapPtr getShapeActorMap()
Get the cloud actor map pointer.
ShapeActorMapPtr shape_actors_
Shape map stored internally.
void saveScreenshot(const std::string &file)
Save the current rendered image to disk, as a PNG screenshot.
void setShapeActorMap(const ShapeActorMapPtr &actors)
Pass a pointer to the shape actor map.
CloudActorMapPtr cloud_actors_
Cloud actor map stored internally.
pcl::visualization::CloudActorMapPtr CloudActorMapPtr
boost::signals2::connection registerMouseCallback(std::function< void(const pcl::visualization::MouseEvent &)> cb)
Register a callback function for mouse events.
void OnKeyDown() override
bool loadCameraParameters(const std::string &file)
Load camera parameters from a camera parameter file.
void OnLeftButtonDown() override
void setRenderWindow(const vtkSmartPointer< vtkRenderWindow > &win)
Set render window.
vtkSmartPointer< vtkPNGWriter > snapshot_writer_
A PNG writer for screenshot captures.
Camera camera_
A pcl::visualization::Camera for camera parameter saving/restoring.
vtkSmartPointer< vtkRenderWindow > win_
The render window.
int win_height_
The current window width/height.
bool getCameraParameters(const std::vector< std::string > &camera)
Get camera parameters from a string vector.
bool camera_saved_
A pcl::visualization::Camera is saved or not.
boost::signals2::connection registerPointPickingCallback(std::function< void(const pcl::visualization::PointPickingEvent &)> cb)
Register a callback function for point picking events.
void zoomOut()
Interactor style internal method.
boost::signals2::signal< void(const pcl::visualization::AreaPickingEvent &)> area_picking_signal_
void OnMouseMove() override
std::string getCameraFile() const
Get camera file for camera parameter saving/restoring.
void OnLeftButtonUp() override
void setKeyboardModifier(const InteractorKeyboardModifier &modifier)
Change the default keyboard modified from ALT to a different special key.
boost::signals2::signal< void(const pcl::visualization::MouseEvent &)> mouse_signal_
PCLVisualizerInteractorStyle()
Empty constructor.
void setCameraParameters(const Camera &camera, int viewport=0)
Set the camera parameters by given a full camera data structure.
vtkSmartPointer< vtkLegendScaleActor > grid_actor_
Actor for 2D grid on screen.
bool use_vbos_
Boolean that holds whether or not to use the vtkVertexBufferObjectMapper.
bool init_
Set to true after initialization is complete.
vtkSmartPointer< vtkRendererCollection > rens_
Collection of vtkRenderers stored internally.
bool grid_enabled_
Set to true if the grid actor is enabled.
boost::signals2::connection registerKeyboardCallback(std::function< void(const pcl::visualization::KeyboardEvent &)> cb)
Register a callback std::function for keyboard events.
void OnTimer() override
Interactor style internal method.
boost::signals2::connection registerAreaPickingCallback(std::function< void(const pcl::visualization::AreaPickingEvent &)> cb)
Register a callback function for area picking events.
boost::signals2::signal< void(const pcl::visualization::KeyboardEvent &)> keyboard_signal_
int win_pos_x_
The current window position x/y.
InteractorKeyboardModifier modifier_
The keyboard modifier to use.
void OnChar() override
Interactor style internal method.
void setUseVbos(const bool use_vbos)
Use Vertex Buffer Objects renderers.
vtkSmartPointer< PointPickingCallback > mouse_callback_
A VTK Mouse Callback object, used for point picking.
int max_win_height_
The maximum resizeable window width/height.
boost::signals2::signal< void(const pcl::visualization::PointPickingEvent &)> point_picking_signal_
void OnMouseWheelBackward() override
bool saveCameraParameters(const std::string &file)
Save the camera parameters to disk, as a .cam file.
void zoomIn()
Interactor style internal method.
static PCLVisualizerInteractorStyle * New()
bool stereo_anaglyph_mask_default_
True if we're using red-blue colors for anaglyphic stereo, false if magenta-green.
void OnMouseWheelForward() override
vtkSmartPointer< vtkScalarBarActor > lut_actor_
Actor for 2D lookup table on screen.
std::string camera_file_
Camera file for camera parameter saving/restoring.
bool lut_enabled_
Set to true if the LUT actor is enabled.
void OnRightButtonUp() override
/brief Class representing 3D point picking events.
InteractorKeyboardModifier
A list of potential keyboard modifiers for pcl::visualization::PCLVisualizerInteractorStyle::PCLVisua...
@ INTERACTOR_KB_MOD_SHIFT
shared_ptr< CloudActorMap > CloudActorMapPtr
std::map< std::string, RenWinInteract > RenWinInteractMap
shared_ptr< ShapeActorMap > ShapeActorMapPtr