Point Cloud Library (PCL)  1.3.1
Classes | Public Types | Public Member Functions | Public Attributes
pcl::visualization::PCLVisualizer Class Reference

PCL Visualizer main class. More...

#include <pcl/visualization/pcl_visualizer.h>

Collaboration diagram for pcl::visualization::PCLVisualizer:
Collaboration graph
[legend]

List of all members.

Classes

struct  ExitCallback
struct  ExitMainLoopTimerCallback

Public Types

typedef
PointCloudGeometryHandler
< sensor_msgs::PointCloud2
GeometryHandler
typedef GeometryHandler::Ptr GeometryHandlerPtr
typedef GeometryHandler::ConstPtr GeometryHandlerConstPtr
typedef PointCloudColorHandler
< sensor_msgs::PointCloud2
ColorHandler
typedef ColorHandler::Ptr ColorHandlerPtr
typedef ColorHandler::ConstPtr ColorHandlerConstPtr

Public Member Functions

 PCLVisualizer (const std::string &name="", const bool create_interactor=true)
 PCL Visualizer constructor.
 PCLVisualizer (int &argc, char **argv, const std::string &name="", PCLVisualizerInteractorStyle *style=PCLVisualizerInteractorStyle::New(), const bool create_interactor=true)
 PCL Visualizer constructor.
virtual ~PCLVisualizer ()
 PCL Visualizer destructor.
boost::signals2::connection registerKeyboardCallback (boost::function< void(const pcl::visualization::KeyboardEvent &)>)
 Register a callback boost::function for keyboard events.
boost::signals2::connection registerKeyboardCallback (void(*callback)(const pcl::visualization::KeyboardEvent &, void *), void *cookie=NULL)
 Register a callback function for keyboard events.
template<typename T >
boost::signals2::connection registerKeyboardCallback (void(T::*callback)(const pcl::visualization::KeyboardEvent &, void *), T &instance, void *cookie=NULL)
 Register a callback function for keyboard events.
boost::signals2::connection registerMouseCallback (boost::function< void(const pcl::visualization::MouseEvent &)>)
 Register a callback function for mouse events.
boost::signals2::connection registerMouseCallback (void(*callback)(const pcl::visualization::MouseEvent &, void *), void *cookie=NULL)
 Register a callback function for mouse events.
template<typename T >
boost::signals2::connection registerMouseCallback (void(T::*callback)(const pcl::visualization::MouseEvent &, void *), T &instance, void *cookie=NULL)
 Register a callback function for mouse events.
boost::signals2::connection registerPointPickingCallback (boost::function< void(const pcl::visualization::PointPickingEvent &)>)
 Register a callback function for point picking events.
boost::signals2::connection registerPointPickingCallback (void(*callback)(const pcl::visualization::PointPickingEvent &, void *), void *cookie=NULL)
 Register a callback function for point picking events.
template<typename T >
boost::signals2::connection registerPointPickingCallback (void(T::*callback)(const pcl::visualization::PointPickingEvent &, void *), T &instance, void *cookie=NULL)
 Register a callback function for point picking events.
void spin ()
 Spin method.
void spinOnce (int time=1, bool force_redraw=false)
 Spin once method.
void addCoordinateSystem (double scale=1.0, int viewport=0)
 Adds 3D axes describing a coordinate system to screen at 0,0,0.
void addCoordinateSystem (double scale, float x, float y, float z, int viewport=0)
 Adds 3D axes describing a coordinate system to screen at x, y, z.
void addCoordinateSystem (double scale, const Eigen::Matrix4f &t, int viewport=0)
 Adds 3D axes describing a coordinate system to screen at x, y, z, Roll,Pitch,Yaw.
bool removeCoordinateSystem (int viewport=0)
 Removes a previously added 3D axes (coordinate system)
bool removePointCloud (const std::string &id="cloud", int viewport=0)
 Removes a Point Cloud from screen, based on a given ID.
bool removeShape (const std::string &id="cloud", int viewport=0)
 Removes an added shape from screen (line, polygon, etc.), based on a given ID.
bool removeText3D (const std::string &id="cloud", int viewport=0)
 Removes an added 3D text from the scene, based on a given ID.
bool removeAllPointClouds (int viewport=0)
 Remove all point cloud data on screen from the given viewport.
bool removeAllShapes (int viewport=0)
 Remove all 3D shape data on screen from the given viewport.
void setBackgroundColor (const double &r, const double &g, const double &b, int viewport=0)
 Set the viewport's background color.
bool addText (const std::string &text, int xpos, int ypos, const std::string &id="", int viewport=0)
 Add a text to screen.
bool addText (const std::string &text, int xpos, int ypos, double r, double g, double b, const std::string &id="", int viewport=0)
 Add a text to screen.
bool addText (const std::string &text, int xpos, int ypos, int fontsize, double r, double g, double b, const std::string &id="", int viewport=0)
 Add a text to screen.
template<typename PointT >
bool addText3D (const std::string &text, const PointT &position, double textScale=1.0, double r=1.0, double g=1.0, double b=1.0, const std::string &id="", int viewport=0)
 Add a 3d text to the scene.
template<typename PointNT >
bool addPointCloudNormals (const typename pcl::PointCloud< PointNT >::ConstPtr &cloud, int level=100, double scale=0.02, const std::string &id="cloud", int viewport=0)
 Add the estimated surface normals of a Point Cloud to screen.
template<typename PointT , typename PointNT >
bool addPointCloudNormals (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const typename pcl::PointCloud< PointNT >::ConstPtr &normals, int level=100, double scale=0.02, const std::string &id="cloud", int viewport=0)
 Add the estimated surface normals of a Point Cloud to screen.
bool addPointCloudPrincipalCurvatures (const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud, const pcl::PointCloud< pcl::Normal >::ConstPtr &normals, const pcl::PointCloud< pcl::PrincipalCurvatures >::ConstPtr &pcs, int level=100, double scale=1.0, const std::string &id="cloud", int viewport=0)
 Add the estimated principal curvatures of a Point Cloud to screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
template<typename PointT >
bool updatePointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::string &id="cloud")
 Updates the XYZ data for an existing cloud object id on screen.
template<typename PointT >
bool updatePointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const PointCloudGeometryHandler< PointT > &geometry_handler, const std::string &id="cloud")
 Updates the XYZ data for an existing cloud object id on screen.
template<typename PointT >
bool updatePointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const PointCloudColorHandler< PointT > &color_handler, const std::string &id="cloud")
 Updates the XYZ data for an existing cloud object id on screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const PointCloudGeometryHandler< PointT > &geometry_handler, const std::string &id="cloud", int viewport=0)
 Updates the XYZRGB data for an existing cloud object id on screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const GeometryHandlerConstPtr &geometry_handler, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const PointCloudColorHandler< PointT > &color_handler, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const ColorHandlerConstPtr &color_handler, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const GeometryHandlerConstPtr &geometry_handler, const ColorHandlerConstPtr &color_handler, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
template<typename PointT >
bool addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const PointCloudColorHandler< PointT > &color_handler, const PointCloudGeometryHandler< PointT > &geometry_handler, const std::string &id="cloud", int viewport=0)
 Add a Point Cloud (templated) to screen.
bool addPointCloud (const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud, const std::string &id="cloud", int viewport=0)
 Add a PointXYZ Point Cloud to screen.
bool addPointCloud (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &cloud, const std::string &id="cloud", int viewport=0)
 Add a PointXYZRGB Point Cloud to screen.
bool updatePointCloud (const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &cloud, const std::string &id="cloud")
 Updates the XYZ data for an existing cloud object id on screen.
bool updatePointCloud (const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &cloud, const std::string &id="cloud")
 Updates the XYZRGB data for an existing cloud object id on screen.
bool addPolygonMesh (const pcl::PolygonMesh &polymesh, const std::string &id="polygon", int viewport=0)
 Add a PolygonMesh object to screen.
template<typename PointT >
bool addPolygonMesh (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::vector< pcl::Vertices > &vertices, const std::string &id="polygon", int viewport=0)
 Add a PolygonMesh object to screen.
bool addPolylineFromPolygonMesh (const pcl::PolygonMesh &polymesh, const std::string &id="polyline", int viewport=0)
 Add a Polygonline from a polygonMesh object to screen.
template<typename PointT >
bool addCorrespondences (const typename pcl::PointCloud< PointT >::ConstPtr &source_points, const typename pcl::PointCloud< PointT >::ConstPtr &target_points, const std::vector< int > &correspondences, const std::string &id="correspondences", int viewport=0)
 Add the specified correspondences to the display.
template<typename PointT >
bool addCorrespondences (const typename pcl::PointCloud< PointT >::ConstPtr &source_points, const typename pcl::PointCloud< PointT >::ConstPtr &target_points, const pcl::Correspondences &correspondences, const std::string &id="correspondences", int viewport=0)
 Add the specified correspondences to the display.
void removeCorrespondences (const std::string &id="correspondences", int viewport=0)
 Remove the specified correspondences from the display.
int getColorHandlerIndex (const std::string &id)
 Get the color handler index of a rendered PointCloud based on its ID.
int getGeometryHandlerIndex (const std::string &id)
 Get the geometry handler index of a rendered PointCloud based on its ID.
bool updateColorHandlerIndex (const std::string &id, int index)
 Update/set the color index of a renderered PointCloud based on its ID.
bool setPointCloudRenderingProperties (int property, double val1, double val2, double val3, const std::string &id="cloud", int viewport=0)
 Set the rendering properties of a PointCloud (3x values - e.g., RGB)
bool setPointCloudRenderingProperties (int property, double value, const std::string &id="cloud", int viewport=0)
 Set the rendering properties of a PointCloud.
bool getPointCloudRenderingProperties (int property, double &value, const std::string &id="cloud")
 Get the rendering properties of a PointCloud.
bool setShapeRenderingProperties (int property, double value, const std::string &id, int viewport=0)
 Set the rendering properties of a shape.
bool setShapeRenderingProperties (int property, double val1, double val2, double val3, const std::string &id, int viewport=0)
 Set the rendering properties of a shape (3x values - e.g., RGB)
bool wasStopped () const
 Returns true when the user tried to close the window.
void resetStoppedFlag ()
 Set the stopped flag back to false.
void createViewPort (double xmin, double ymin, double xmax, double ymax, int &viewport)
 Create a new viewport from [xmin,ymin] -> [xmax,ymax].
template<typename PointT >
bool addPolygon (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, double r, double g, double b, const std::string &id="polygon", int viewport=0)
 Add a polygon (polyline) that represents the input point cloud (connects all points in order)
template<typename PointT >
bool addPolygon (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const std::string &id="polygon", int viewport=0)
 Add a polygon (polyline) that represents the input point cloud (connects all points in order)
template<typename P1 , typename P2 >
bool addLine (const P1 &pt1, const P2 &pt2, const std::string &id="line", int viewport=0)
 Add a line segment from two points.
template<typename P1 , typename P2 >
bool addLine (const P1 &pt1, const P2 &pt2, double r, double g, double b, const std::string &id="line", int viewport=0)
 Add a line segment from two points.
template<typename P1 , typename P2 >
bool addArrow (const P1 &pt1, const P2 &pt2, double r, double g, double b, const std::string &id="arrow", int viewport=0)
 Add a line arrow segment between two points, and display the distance between them.
template<typename PointT >
bool addSphere (const PointT &center, double radius, const std::string &id="sphere", int viewport=0)
 Add a sphere shape from a point and a radius.
template<typename PointT >
bool addSphere (const PointT &center, double radius, double r, double g, double b, const std::string &id="sphere", int viewport=0)
 Add a sphere shape from a point and a radius.
bool addModelFromPolyData (vtkSmartPointer< vtkPolyData > polydata, const std::string &id="PolyData", int viewport=0)
 Add a vtkPolydata as a mesh.
bool addModelFromPolyData (vtkSmartPointer< vtkPolyData > polydata, vtkSmartPointer< vtkTransform > transform, const std::string &id="PolyData", int viewport=0)
 Add a vtkPolydata as a mesh.
bool addModelFromPLYFile (const std::string &filename, const std::string &id="PLYModel", int viewport=0)
 Add a PLYmodel as a mesh.
bool addModelFromPLYFile (const std::string &filename, vtkSmartPointer< vtkTransform > transform, const std::string &id="PLYModel", int viewport=0)
 Add a PLYmodel as a mesh and applies given transformation.
bool addCylinder (const pcl::ModelCoefficients &coefficients, const std::string &id="cylinder", int viewport=0)
 Add a cylinder from a set of given model coefficients.
bool addSphere (const pcl::ModelCoefficients &coefficients, const std::string &id="sphere", int viewport=0)
 Add a sphere from a set of given model coefficients.
bool addLine (const pcl::ModelCoefficients &coefficients, const std::string &id="line", int viewport=0)
 Add a line from a set of given model coefficients.
bool addPlane (const pcl::ModelCoefficients &coefficients, const std::string &id="plane", int viewport=0)
 Add a plane from a set of given model coefficients.
bool addCircle (const pcl::ModelCoefficients &coefficients, const std::string &id="circle", int viewport=0)
 Add a circle from a set of given model coefficients.
bool addCone (const pcl::ModelCoefficients &coefficients, const std::string &id="cone", int viewport=0)
 Add a cone from a set of given model coefficients.
bool addCube (const pcl::ModelCoefficients &coefficients, const std::string &id="cube", int viewport=0)
 Add a cube from a set of given model coefficients.
void setRepresentationToSurfaceForAllActors ()
 Changes the visual representation for all actors to surface representation.
void renderView (int xres, int yres, pcl::PointCloud< pcl::PointXYZ >::Ptr &cloud)
 Renders a virtual scene as seen from the camera viewpoint and returns the rendered point cloud.
void renderViewTesselatedSphere (int xres, int yres, std::vector< pcl::PointCloud< pcl::PointXYZ >, Eigen::aligned_allocator< pcl::PointCloud< pcl::PointXYZ > > > &cloud, std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > &poses, std::vector< float > &enthropies, int tesselation_level, float view_angle=45, float radius_sphere=1, bool use_vertices=true)
 The purpose of this method is to render a CAD model added to the visualizer from different viewpoints in order to simulate partial views of model.
void initCameraParameters ()
 Initialize camera parameters with some default values.
bool getCameraParameters (int argc, char **argv)
 Search for camera parameters at the command line and set them internally.
bool cameraParamsSet () const
 Checks whether the camera parameters were manually loaded from file.
void updateCamera ()
 Update camera parameters and render.
void resetCamera ()
 Reset camera parameters and render.
void resetCameraViewpoint (const std::string &id="cloud")
 Reset the camera direction from {0, 0, 0} to the center_{x, y, z} of a given dataset.
void setCameraPosition (double posX, double posY, double posZ, double viewX, double viewY, double viewZ)
 Set the camera location and viewup according to the given arguments.
void getCameras (std::vector< Camera > &cameras)
 Get the current camera parameters.
Eigen::Affine3f getViewerPose ()
 Get the current viewing pose.
void saveScreenshot (const std::string &file)
 Save the current rendered image to disk, as a PNG screenshot.
vtkSmartPointer< vtkRenderWindow > getRenderWindow ()
 Return a pointer to the underlying VTK Render Window used.
void createInteractor ()
 Create the internal Interactor object.

Public Attributes

Camera camera_
 Camera view, window position and size.

Detailed Description

PCL Visualizer main class.

Author:
Radu Bogdan Rusu

Member Typedef Documentation

Definition at line 92 of file pcl_visualizer.h.

Definition at line 94 of file pcl_visualizer.h.

Definition at line 93 of file pcl_visualizer.h.

Definition at line 88 of file pcl_visualizer.h.

Definition at line 90 of file pcl_visualizer.h.

Definition at line 89 of file pcl_visualizer.h.


Constructor & Destructor Documentation

pcl::visualization::PCLVisualizer::PCLVisualizer ( const std::string &  name = "",
const bool  create_interactor = true 
)

PCL Visualizer constructor.

Parameters:
[in]namethe window name (empty by default)
[in]create_interactorif true (default), create an interactor, false otherwise
pcl::visualization::PCLVisualizer::PCLVisualizer ( int &  argc,
char **  argv,
const std::string &  name = "",
PCLVisualizerInteractorStyle style = PCLVisualizerInteractorStyle::New(),
const bool  create_interactor = true 
)

PCL Visualizer constructor.

Parameters:
[in]argc
[in]argv
[in]namethe window name (empty by default)
[in]styleinteractor style (defaults to PCLVisualizerInteractorStyle)
[in]create_interactorif true (default), create an interactor, false otherwise
virtual pcl::visualization::PCLVisualizer::~PCLVisualizer ( ) [virtual]

PCL Visualizer destructor.


Member Function Documentation

template<typename P1 , typename P2 >
bool pcl::visualization::PCLVisualizer::addArrow ( const P1 &  pt1,
const P2 &  pt2,
double  r,
double  g,
double  b,
const std::string &  id = "arrow",
int  viewport = 0 
)

Add a line arrow segment between two points, and display the distance between them.

Parameters:
pt1the first (start) point on the line
pt2the second (end) point on the line
rthe red channel of the color that the line should be rendered with
gthe green channel of the color that the line should be rendered with
bthe blue channel of the color that the line should be rendered with
idthe line id/name (default: "arrow")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 360 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addCircle ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "circle",
int  viewport = 0 
)

Add a circle from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (x, y, radius)
idthe circle id/name (default: "circle")
viewport(optional) the id of the new viewport (default: 0)
 // The following are given (or computed using sample consensus techniques)
 // See SampleConsensusModelCircle2D for more information
 // float x, y, radius;

 pcl::ModelCoefficients circle_coeff;
 circle_coeff.values.resize (3);    // We need 3 values
 circle_coeff.values[0] = x;
 circle_coeff.values[1] = y;
 circle_coeff.values[2] = radius;

 vtkSmartPointer<vtkDataSet> data = pcl::visualization::create2DCircle (circle_coeff, z);
bool pcl::visualization::PCLVisualizer::addCone ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "cone",
int  viewport = 0 
)

Add a cone from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (point_on_axis, axis_direction, radiu)
idthe cone id/name (default: "cone")
viewport(optional) the id of the new viewport (default: 0)
void pcl::visualization::PCLVisualizer::addCoordinateSystem ( double  scale = 1.0,
int  viewport = 0 
)

Adds 3D axes describing a coordinate system to screen at 0,0,0.

Parameters:
scalethe scale of the axes (default: 1)
viewportthe view port where the 3D axes should be added (default: all)
void pcl::visualization::PCLVisualizer::addCoordinateSystem ( double  scale,
float  x,
float  y,
float  z,
int  viewport = 0 
)

Adds 3D axes describing a coordinate system to screen at x, y, z.

Parameters:
scalethe scale of the axes (default: 1)
xthe X position of the axes
ythe Y position of the axes
zthe Z position of the axes
viewportthe view port where the 3D axes should be added (default: all)
void pcl::visualization::PCLVisualizer::addCoordinateSystem ( double  scale,
const Eigen::Matrix4f &  t,
int  viewport = 0 
)

Adds 3D axes describing a coordinate system to screen at x, y, z, Roll,Pitch,Yaw.

Parameters:
scalethe scale of the axes (default: 1)
ttransformation matrix
tube_sizethe size of tube(radius of each orthogonal axies ,default: 1)
viewportthe view port where the 3D axes should be added (default: all)

RPY Angles Rotate the reference frame by the angle roll about axis x Rotate the reference frame by the angle pitch about axis y Rotate the reference frame by the angle yaw about axis z

Description: Sets the orientation of the Prop3D. Orientation is specified as X,Y and Z rotations in that order, but they are performed as RotateZ, RotateX, and finally RotateY.

All axies use right hand rule. x=red axis, y=green axis, z=blue axis z direction is point into the screen. z \ \ \ -----------> x | | | | | | y

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addCorrespondences ( const typename pcl::PointCloud< PointT >::ConstPtr &  source_points,
const typename pcl::PointCloud< PointT >::ConstPtr &  target_points,
const std::vector< int > &  correspondences,
const std::string &  id = "correspondences",
int  viewport = 0 
)

Add the specified correspondences to the display.

Parameters:
[in]source_pointsThe source points
[in]target_pointsThe target points
[in]correspondencesThe mapping from source points to target points. Each element must be an index into target_points
[in]line_idsA vector of strings into which the IDs of the newly drawn lines will be added
[in]idthe polygon object id (default: "correspondences")
[in]viewportthe view port where the correspondences should be added (default: all)

Definition at line 626 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addCorrespondences ( const typename pcl::PointCloud< PointT >::ConstPtr &  source_points,
const typename pcl::PointCloud< PointT >::ConstPtr &  target_points,
const pcl::Correspondences correspondences,
const std::string &  id = "correspondences",
int  viewport = 0 
)

Add the specified correspondences to the display.

Parameters:
[in]source_pointsThe source points
[in]target_pointsThe target points
[in]correspondencesThe mapping from source points to target points. Each element must be an index into target_points
[in]line_idsA vector of strings into which the IDs of the newly drawn lines will be added
[in]idthe polygon object id (default: "correspondences")
[in]viewportthe view port where the correspondences should be added (default: all)

Definition at line 685 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addCube ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "cube",
int  viewport = 0 
)

Add a cube from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (Tx, Ty, Tz, Qx, Qy, Qz, Qw, width, height, depth)
idthe cone id/name (default: "cube")
viewport(optional) the id of the new viewport (default: 0)
bool pcl::visualization::PCLVisualizer::addCylinder ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "cylinder",
int  viewport = 0 
)

Add a cylinder from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (point_on_axis, axis_direction, radius)
idthe cylinder id/name (default: "cylinder")
viewport(optional) the id of the new viewport (default: 0)
 // The following are given (or computed using sample consensus techniques)
 // See SampleConsensusModelCylinder for more information.
 // Eigen::Vector3f pt_on_axis, axis_direction;
 // float radius;

 pcl::ModelCoefficients cylinder_coeff;
 cylinder_coeff.values.resize (7);    // We need 7 values
 cylinder_coeff.values[0] = pt_on_axis.x ();
 cylinder_coeff.values[1] = pt_on_axis.y ();
 cylinder_coeff.values[2] = pt_on_axis.z ();

 cylinder_coeff.values[3] = axis_direction.x ();
 cylinder_coeff.values[4] = axis_direction.y ();
 cylinder_coeff.values[5] = axis_direction.z ();

 cylinder_coeff.values[6] = radius;

 addCylinder (cylinder_coeff);
template<typename P1 , typename P2 >
bool pcl::visualization::PCLVisualizer::addLine ( const P1 &  pt1,
const P2 &  pt2,
const std::string &  id = "line",
int  viewport = 0 
)

Add a line segment from two points.

Parameters:
pt1the first (start) point on the line
pt2the second (end) point on the line
idthe line id/name (default: "line")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 389 of file pcl_visualizer.hpp.

template<typename P1 , typename P2 >
bool pcl::visualization::PCLVisualizer::addLine ( const P1 &  pt1,
const P2 &  pt2,
double  r,
double  g,
double  b,
const std::string &  id = "line",
int  viewport = 0 
)

Add a line segment from two points.

Parameters:
pt1the first (start) point on the line
pt2the second (end) point on the line
rthe red channel of the color that the line should be rendered with
gthe green channel of the color that the line should be rendered with
bthe blue channel of the color that the line should be rendered with
idthe line id/name (default: "line")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 333 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addLine ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "line",
int  viewport = 0 
)

Add a line from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (point_on_line, direction)
idthe line id/name (default: "line")
viewport(optional) the id of the new viewport (default: 0)
 // The following are given (or computed using sample consensus techniques)
 // See SampleConsensusModelLine for more information
 // Eigen::Vector3f point_on_line, line_direction;

 pcl::ModelCoefficients line_coeff;
 line_coeff.values.resize (6);    // We need 6 values
 line_coeff.values[0] = point_on_line.x ();
 line_coeff.values[1] = point_on_line.y ();
 line_coeff.values[2] = point_on_line.z ();

 line_coeff.values[3] = line_direction.x ();
 line_coeff.values[4] = line_direction.y ();
 line_coeff.values[5] = line_direction.z ();

 addLine (line_coeff);
bool pcl::visualization::PCLVisualizer::addModelFromPLYFile ( const std::string &  filename,
const std::string &  id = "PLYModel",
int  viewport = 0 
)

Add a PLYmodel as a mesh.

Parameters:
filenameof the ply file
idthe model id/name (default: "PLYModel")
viewport(optional) the id of the new viewport (default: 0)
bool pcl::visualization::PCLVisualizer::addModelFromPLYFile ( const std::string &  filename,
vtkSmartPointer< vtkTransform >  transform,
const std::string &  id = "PLYModel",
int  viewport = 0 
)

Add a PLYmodel as a mesh and applies given transformation.

Parameters:
filenameof the ply file
transformtransformation to apply
idthe model id/name (default: "PLYModel")
viewport(optional) the id of the new viewport (default: 0)
bool pcl::visualization::PCLVisualizer::addModelFromPolyData ( vtkSmartPointer< vtkPolyData >  polydata,
const std::string &  id = "PolyData",
int  viewport = 0 
)

Add a vtkPolydata as a mesh.

Parameters:
polydatavtkPolyData
idthe model id/name (default: "PolyData")
viewport(optional) the id of the new viewport (default: 0)
bool pcl::visualization::PCLVisualizer::addModelFromPolyData ( vtkSmartPointer< vtkPolyData >  polydata,
vtkSmartPointer< vtkTransform >  transform,
const std::string &  id = "PolyData",
int  viewport = 0 
)

Add a vtkPolydata as a mesh.

Parameters:
polydatavtkPolyData
transformtransformation to apply
idthe model id/name (default: "PolyData")
viewport(optional) the id of the new viewport (default: 0)
bool pcl::visualization::PCLVisualizer::addPlane ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "plane",
int  viewport = 0 
)

Add a plane from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (a, b, c, d with ax+by+cz+d=0)
idthe plane id/name (default: "plane")
viewport(optional) the id of the new viewport (default: 0)
 // The following are given (or computed using sample consensus techniques)
 // See SampleConsensusModelPlane for more information
 // Eigen::Vector4f plane_parameters;

 pcl::ModelCoefficients plane_coeff;
 plane_coeff.values.resize (4);    // We need 4 values
 plane_coeff.values[0] = plane_parameters.x ();
 plane_coeff.values[1] = plane_parameters.y ();
 plane_coeff.values[2] = plane_parameters.z ();
 plane_coeff.values[3] = plane_parameters.w ();

 addPlane (plane_coeff);
template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 50 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const PointCloudGeometryHandler< PointT > &  geometry_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Updates the XYZRGB data for an existing cloud object id on screen.

Parameters:
cloudthe input point cloud dataset
color_handlerthe RGB color handler to use
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was foundAdd a Point Cloud (templated) to screen.
Parameters:
cloudthe input point cloud dataset
geometry_handleruse a geometry handler object to extract the XYZ data
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 61 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const GeometryHandlerConstPtr geometry_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Because the geometry handler is given as a pointer, it will be pushed back to the list of available handlers, rather than replacing the current active geometric handler. This makes it possible to switch between different geometric handlers 'on-the-fly' at runtime, from the PCLVisualizer interactor interface (using Alt+0..9).

Parameters:
cloudthe input point cloud dataset
geometry_handleruse a geometry handler object to extract the XYZ data
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 82 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const PointCloudColorHandler< PointT > &  color_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Parameters:
cloudthe input point cloud dataset
color_handlera specific PointCloud visualizer handler for colors
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 105 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const ColorHandlerConstPtr color_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Because the color handler is given as a pointer, it will be pushed back to the list of available handlers, rather than replacing the current active color handler. This makes it possible to switch between different color handlers 'on-the-fly' at runtime, from the PCLVisualizer interactor interface (using 0..9).

Parameters:
cloudthe input point cloud dataset
color_handlera specific PointCloud visualizer handler for colors
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 130 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const GeometryHandlerConstPtr geometry_handler,
const ColorHandlerConstPtr color_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Because the geometry/color handler is given as a pointer, it will be pushed back to the list of available handlers, rather than replacing the current active handler. This makes it possible to switch between different handlers 'on-the-fly' at runtime, from the PCLVisualizer interactor interface (using [Alt+]0..9).

Parameters:
cloudthe input point cloud dataset
geometry_handlera specific PointCloud visualizer handler for geometry
color_handlera specific PointCloud visualizer handler for colors
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 151 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const PointCloudColorHandler< PointT > &  color_handler,
const PointCloudGeometryHandler< PointT > &  geometry_handler,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add a Point Cloud (templated) to screen.

Parameters:
cloudthe input point cloud dataset
color_handlera specific PointCloud visualizer handler for colors
geometry_handleruse a geometry handler object to extract the XYZ data
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 172 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addPointCloud ( const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &  cloud,
const std::string &  id = "cloud",
int  viewport = 0 
) [inline]

Add a PointXYZ Point Cloud to screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 562 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::addPointCloud ( const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &  cloud,
const std::string &  id = "cloud",
int  viewport = 0 
) [inline]

Add a PointXYZRGB Point Cloud to screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 575 of file pcl_visualizer.h.

template<typename PointNT >
bool pcl::visualization::PCLVisualizer::addPointCloudNormals ( const typename pcl::PointCloud< PointNT >::ConstPtr &  cloud,
int  level = 100,
double  scale = 0.02,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add the estimated surface normals of a Point Cloud to screen.

Parameters:
cloudthe input point cloud dataset containing XYZ data and normals
leveldisplay only every level'th point (default: 100)
scalethe normal arrow scale (default: 0.02m)
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 542 of file pcl_visualizer.hpp.

template<typename PointT , typename PointNT >
bool pcl::visualization::PCLVisualizer::addPointCloudNormals ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const typename pcl::PointCloud< PointNT >::ConstPtr &  normals,
int  level = 100,
double  scale = 0.02,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add the estimated surface normals of a Point Cloud to screen.

Parameters:
cloudthe input point cloud dataset containing the XYZ data
normalsthe input point cloud dataset containing the normal data
leveldisplay only every level'th point (default: 100)
scalethe normal arrow scale (default: 0.02m)
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)

Definition at line 551 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addPointCloudPrincipalCurvatures ( const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &  cloud,
const pcl::PointCloud< pcl::Normal >::ConstPtr &  normals,
const pcl::PointCloud< pcl::PrincipalCurvatures >::ConstPtr &  pcs,
int  level = 100,
double  scale = 1.0,
const std::string &  id = "cloud",
int  viewport = 0 
)

Add the estimated principal curvatures of a Point Cloud to screen.

Parameters:
cloudthe input point cloud dataset containing the XYZ data
normalsthe input point cloud dataset containing the normal data
pcsthe input point cloud dataset containing the principal curvatures data
leveldisplay only every level'th point (default: 100)
scalethe normal arrow scale (default: 1.0))
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud should be added (default: all)
template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPolygon ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
double  r,
double  g,
double  b,
const std::string &  id = "polygon",
int  viewport = 0 
)

Add a polygon (polyline) that represents the input point cloud (connects all points in order)

Parameters:
cloudthe point cloud dataset representing the polygon
rthe red channel of the color that the polygon should be rendered with
gthe green channel of the color that the polygon should be rendered with
bthe blue channel of the color that the polygon should be rendered with
id(optional) the polygon id/name (default: "polygon")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 294 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPolygon ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const std::string &  id = "polygon",
int  viewport = 0 
)

Add a polygon (polyline) that represents the input point cloud (connects all points in order)

Parameters:
cloudthe point cloud dataset representing the polygon
idthe polygon id/name (default: "polygon")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 323 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addPolygonMesh ( const pcl::PolygonMesh polymesh,
const std::string &  id = "polygon",
int  viewport = 0 
)

Add a PolygonMesh object to screen.

Parameters:
polymeshthe polygonal mesh
idthe polygon object id (default: "polygon")
viewportthe view port where the PolygonMesh should be added (default: all)
template<typename PointT >
bool pcl::visualization::PCLVisualizer::addPolygonMesh ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const std::vector< pcl::Vertices > &  vertices,
const std::string &  id = "polygon",
int  viewport = 0 
)

Add a PolygonMesh object to screen.

Parameters:
cloudthe polygonal mesh point cloud
verticesthe polygonal mesh vertices
idthe polygon object id (default: "polygon")
viewportthe view port where the PolygonMesh should be added (default: all)

Definition at line 1006 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addPolylineFromPolygonMesh ( const pcl::PolygonMesh polymesh,
const std::string &  id = "polyline",
int  viewport = 0 
)

Add a Polygonline from a polygonMesh object to screen.

Parameters:
[in]polymeshthe polygonal mesh from where the polylines will be extracted
[in]idthe polygon object id (default: "polygon")
[in]viewportthe view port where the PolygonMesh should be added (default: all)
template<typename PointT >
bool pcl::visualization::PCLVisualizer::addSphere ( const PointT &  center,
double  radius,
const std::string &  id = "sphere",
int  viewport = 0 
)

Add a sphere shape from a point and a radius.

Parameters:
centerthe center of the sphere
radiusthe radius of the sphere
idthe line id/name (default: "sphere")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 469 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::addSphere ( const PointT &  center,
double  radius,
double  r,
double  g,
double  b,
const std::string &  id = "sphere",
int  viewport = 0 
)

Add a sphere shape from a point and a radius.

Parameters:
centerthe center of the sphere
radiusthe radius of the sphere
rthe red channel of the color that the sphere should be rendered with
gthe green channel of the color that the sphere should be rendered with
bthe blue channel of the color that the sphere should be rendered with
idthe line id/name (default: "sphere")
viewport(optional) the id of the new viewport (default: 0)

Definition at line 441 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::addSphere ( const pcl::ModelCoefficients coefficients,
const std::string &  id = "sphere",
int  viewport = 0 
)

Add a sphere from a set of given model coefficients.

Parameters:
coefficientsthe model coefficients (sphere center, radius)
idthe sphere id/name (default: "sphere")
viewport(optional) the id of the new viewport (default: 0)
 // The following are given (or computed using sample consensus techniques)
 // See SampleConsensusModelSphere for more information
 // Eigen::Vector3f sphere_center;
 // float radius;

 pcl::ModelCoefficients sphere_coeff;
 sphere_coeff.values.resize (4);    // We need 4 values
 sphere_coeff.values[0] = sphere_center.x ();
 sphere_coeff.values[1] = sphere_center.y ();
 sphere_coeff.values[2] = sphere_center.z ();

 sphere_coeff.values[3] = radius;

 addSphere (sphere_coeff);
bool pcl::visualization::PCLVisualizer::addText ( const std::string &  text,
int  xpos,
int  ypos,
const std::string &  id = "",
int  viewport = 0 
)

Add a text to screen.

Parameters:
textthe text to add
xposthe X position on screen where the text should be added
yposthe Y position on screen where the text should be added
idthe text object id (default: equal to the "text" parameter)
viewportthe view port (default: all)
bool pcl::visualization::PCLVisualizer::addText ( const std::string &  text,
int  xpos,
int  ypos,
double  r,
double  g,
double  b,
const std::string &  id = "",
int  viewport = 0 
)

Add a text to screen.

Parameters:
textthe text to add
xposthe X position on screen where the text should be added
yposthe Y position on screen where the text should be added
rthe red color value
gthe green color value
bthe blue color vlaue
idthe text object id (default: equal to the "text" parameter)
viewportthe view port (default: all)
bool pcl::visualization::PCLVisualizer::addText ( const std::string &  text,
int  xpos,
int  ypos,
int  fontsize,
double  r,
double  g,
double  b,
const std::string &  id = "",
int  viewport = 0 
)

Add a text to screen.

Parameters:
textthe text to add
xposthe X position on screen where the text should be added
yposthe Y position on screen where the text should be added
fontsizethe fontsize of the text
rthe red color value
gthe green color value
bthe blue color vlaue
idthe text object id (default: equal to the "text" parameter)
viewportthe view port (default: all)
template<typename PointT >
bool pcl::visualization::PCLVisualizer::addText3D ( const std::string &  text,
const PointT &  position,
double  textScale = 1.0,
double  r = 1.0,
double  g = 1.0,
double  b = 1.0,
const std::string &  id = "",
int  viewport = 0 
)

Add a 3d text to the scene.

Parameters:
textthe text to add
positionthe world position where the text should be added
textScalethe scale of the text to render
rthe red color value
gthe green color value
bthe blue color value
idthe text object id (default: equal to the "text" parameter)
viewportthe view port (default: all)

Definition at line 476 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::cameraParamsSet ( ) const

Checks whether the camera parameters were manually loaded from file.

void pcl::visualization::PCLVisualizer::createInteractor ( )

Create the internal Interactor object.

void pcl::visualization::PCLVisualizer::createViewPort ( double  xmin,
double  ymin,
double  xmax,
double  ymax,
int &  viewport 
)

Create a new viewport from [xmin,ymin] -> [xmax,ymax].

Parameters:
xminthe minimum X coordinate for the viewport (0.0 <= 1.0)
yminthe minimum Y coordinate for the viewport (0.0 <= 1.0)
xmaxthe maximum X coordinate for the viewport (0.0 <= 1.0)
ymaxthe maximum Y coordinate for the viewport (0.0 <= 1.0)
viewportthe id of the new viewport
bool pcl::visualization::PCLVisualizer::getCameraParameters ( int  argc,
char **  argv 
)

Search for camera parameters at the command line and set them internally.

Parameters:
argc
argv
void pcl::visualization::PCLVisualizer::getCameras ( std::vector< Camera > &  cameras)

Get the current camera parameters.

int pcl::visualization::PCLVisualizer::getColorHandlerIndex ( const std::string &  id) [inline]

Get the color handler index of a rendered PointCloud based on its ID.

Parameters:
[in]idthe point cloud object id

Definition at line 683 of file pcl_visualizer.h.

int pcl::visualization::PCLVisualizer::getGeometryHandlerIndex ( const std::string &  id) [inline]

Get the geometry handler index of a rendered PointCloud based on its ID.

Parameters:
idthe point cloud object id

Definition at line 696 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::getPointCloudRenderingProperties ( int  property,
double &  value,
const std::string &  id = "cloud" 
)

Get the rendering properties of a PointCloud.

Parameters:
propertythe property type
valuethe resultant property value
idthe point cloud object id (default: cloud)
vtkSmartPointer<vtkRenderWindow> pcl::visualization::PCLVisualizer::getRenderWindow ( ) [inline]

Return a pointer to the underlying VTK Render Window used.

Definition at line 1173 of file pcl_visualizer.h.

Eigen::Affine3f pcl::visualization::PCLVisualizer::getViewerPose ( )

Get the current viewing pose.

void pcl::visualization::PCLVisualizer::initCameraParameters ( )

Initialize camera parameters with some default values.

boost::signals2::connection pcl::visualization::PCLVisualizer::registerKeyboardCallback ( boost::function< void(const pcl::visualization::KeyboardEvent &)>  )

Register a callback boost::function for keyboard events.

Parameters:
[in]aboost function that will be registered as a callback for a keyboard event
Returns:
connection object that allows to disconnect the callback function.
boost::signals2::connection pcl::visualization::PCLVisualizer::registerKeyboardCallback ( void(*)(const pcl::visualization::KeyboardEvent &, void *)  callback,
void *  cookie = NULL 
) [inline]

Register a callback function for keyboard events.

Parameters:
[in]callbackthe function that will be registered as a callback for a keyboard event
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 127 of file pcl_visualizer.h.

template<typename T >
boost::signals2::connection pcl::visualization::PCLVisualizer::registerKeyboardCallback ( void(T::*)(const pcl::visualization::KeyboardEvent &, void *)  callback,
T &  instance,
void *  cookie = NULL 
) [inline]

Register a callback function for keyboard events.

Parameters:
[in]callbackthe member function that will be registered as a callback for a keyboard event
[in]instanceinstance to the class that implements the callback function
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 139 of file pcl_visualizer.h.

boost::signals2::connection pcl::visualization::PCLVisualizer::registerMouseCallback ( boost::function< void(const pcl::visualization::MouseEvent &)>  )

Register a callback function for mouse events.

Parameters:
[in]aboost function that will be registered as a callback for a mouse event
Returns:
connection object that allows to disconnect the callback function.
boost::signals2::connection pcl::visualization::PCLVisualizer::registerMouseCallback ( void(*)(const pcl::visualization::MouseEvent &, void *)  callback,
void *  cookie = NULL 
) [inline]

Register a callback function for mouse events.

Parameters:
[in]callbackthe function that will be registered as a callback for a mouse event
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 157 of file pcl_visualizer.h.

template<typename T >
boost::signals2::connection pcl::visualization::PCLVisualizer::registerMouseCallback ( void(T::*)(const pcl::visualization::MouseEvent &, void *)  callback,
T &  instance,
void *  cookie = NULL 
) [inline]

Register a callback function for mouse events.

Parameters:
[in]callbackthe member function that will be registered as a callback for a mouse event
[in]instanceinstance to the class that implements the callback function
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 169 of file pcl_visualizer.h.

boost::signals2::connection pcl::visualization::PCLVisualizer::registerPointPickingCallback ( boost::function< void(const pcl::visualization::PointPickingEvent &)>  )

Register a callback function for point picking events.

Parameters:
[in]aboost function that will be registered as a callback for a point picking event
Returns:
connection object that allows to disconnect the callback function.
boost::signals2::connection pcl::visualization::PCLVisualizer::registerPointPickingCallback ( void(*)(const pcl::visualization::PointPickingEvent &, void *)  callback,
void *  cookie = NULL 
) [inline]

Register a callback function for point picking events.

Parameters:
[in]callbackthe function that will be registered as a callback for a point picking event
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 187 of file pcl_visualizer.h.

template<typename T >
boost::signals2::connection pcl::visualization::PCLVisualizer::registerPointPickingCallback ( void(T::*)(const pcl::visualization::PointPickingEvent &, void *)  callback,
T &  instance,
void *  cookie = NULL 
) [inline]

Register a callback function for point picking events.

Parameters:
[in]callbackthe member function that will be registered as a callback for a point picking event
[in]instanceinstance to the class that implements the callback function
[in]cookieuser data that is passed to the callback
Returns:
connection object that allows to disconnect the callback function.

Definition at line 199 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::removeAllPointClouds ( int  viewport = 0)

Remove all point cloud data on screen from the given viewport.

Parameters:
viewportview port from where the clouds should be removed (default: all)
bool pcl::visualization::PCLVisualizer::removeAllShapes ( int  viewport = 0)

Remove all 3D shape data on screen from the given viewport.

Parameters:
viewportview port from where the shapes should be removed (default: all)
bool pcl::visualization::PCLVisualizer::removeCoordinateSystem ( int  viewport = 0)

Removes a previously added 3D axes (coordinate system)

Parameters:
viewportview port where the 3D axes should be removed from (default: all)
void pcl::visualization::PCLVisualizer::removeCorrespondences ( const std::string &  id = "correspondences",
int  viewport = 0 
) [inline]

Remove the specified correspondences from the display.

Parameters:
[in]idthe polygon correspondences object id (i.e., given on addCorrespondences)
[in]viewportview port from where the correspondences should be removed (default: all)

Definition at line 674 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::removePointCloud ( const std::string &  id = "cloud",
int  viewport = 0 
)

Removes a Point Cloud from screen, based on a given ID.

Parameters:
idthe point cloud object id (i.e., given on addPointCloud)
viewportview port from where the Point Cloud should be removed (default: all)
bool pcl::visualization::PCLVisualizer::removeShape ( const std::string &  id = "cloud",
int  viewport = 0 
)

Removes an added shape from screen (line, polygon, etc.), based on a given ID.

Parameters:
idthe shape object id (i.e., given on addLine etc.)
viewportview port from where the Point Cloud should be removed (default: all)
bool pcl::visualization::PCLVisualizer::removeText3D ( const std::string &  id = "cloud",
int  viewport = 0 
)

Removes an added 3D text from the scene, based on a given ID.

Parameters:
idthe 3D text id (i.e., given on addText3D etc.)
viewportview port from where the 3D text should be removed (default: all)
void pcl::visualization::PCLVisualizer::renderView ( int  xres,
int  yres,
pcl::PointCloud< pcl::PointXYZ >::Ptr &  cloud 
)

Renders a virtual scene as seen from the camera viewpoint and returns the rendered point cloud.

ATT: This method will only render the scene if only on viewport exists. Otherwise, returns an empty point cloud and exits immediately.

Parameters:
xresand yres are the size of the window used to render the scene
cloudis the rendered point cloud
void pcl::visualization::PCLVisualizer::renderViewTesselatedSphere ( int  xres,
int  yres,
std::vector< pcl::PointCloud< pcl::PointXYZ >, Eigen::aligned_allocator< pcl::PointCloud< pcl::PointXYZ > > > &  cloud,
std::vector< Eigen::Matrix4f, Eigen::aligned_allocator< Eigen::Matrix4f > > &  poses,
std::vector< float > &  enthropies,
int  tesselation_level,
float  view_angle = 45,
float  radius_sphere = 1,
bool  use_vertices = true 
)

The purpose of this method is to render a CAD model added to the visualizer from different viewpoints in order to simulate partial views of model.

The viewpoint locations are the vertices of a tesselated sphere build from an icosaheadron. The tesselation paremeter controls how many times the triangles of the original icosahedron are divided to approximate the sphere and thus the number of partial view generated for a model, with a tesselation_level of 0, 12 views are generated if use_vertices=true and 20 views if use_vertices=false

Parameters:
xresand yres are the size of the window used to render the partial view of the object
cloudis a vector of pointcloud with XYZ information that represent the model as seen from the respective viewpoints.
posesrepresent the transformation from object coordinates to camera coordinates for the respective viewpoint.
enthropiesare values between 0 and 1 representing which percentage of the model is seen from the respective viewpoint.
tesselation_levelrepresents the number of subdivisions applied to the triangles of original icosahedron.
view_anglefield of view of the virtual camera
use_verticesif true, use the vertices of tesselated icosahedron (12,42,...) or if false, use the faces of tesselated icosahedron (20,80,...)
void pcl::visualization::PCLVisualizer::resetCamera ( )

Reset camera parameters and render.

void pcl::visualization::PCLVisualizer::resetCameraViewpoint ( const std::string &  id = "cloud")

Reset the camera direction from {0, 0, 0} to the center_{x, y, z} of a given dataset.

Parameters:
idthe point cloud object id (default: cloud)
void pcl::visualization::PCLVisualizer::resetStoppedFlag ( ) [inline]

Set the stopped flag back to false.

Definition at line 780 of file pcl_visualizer.h.

void pcl::visualization::PCLVisualizer::saveScreenshot ( const std::string &  file)

Save the current rendered image to disk, as a PNG screenshot.

Parameters:
[in]filethe name of the PNG file
void pcl::visualization::PCLVisualizer::setBackgroundColor ( const double &  r,
const double &  g,
const double &  b,
int  viewport = 0 
)

Set the viewport's background color.

Parameters:
rthe red component of the RGB color
gthe green component of the RGB color
bthe blue component of the RGB color
viewportthe view port (default: all)
void pcl::visualization::PCLVisualizer::setCameraPosition ( double  posX,
double  posY,
double  posZ,
double  viewX,
double  viewY,
double  viewZ 
)

Set the camera location and viewup according to the given arguments.

Parameters:
posXthe x co-ordinate of the camera location
posYthe y co-ordinate of the camera location
posZthe z co-ordinate of the camera location
viewXthe x component of the normal direction of the camera
viewYthe y component of the normal direction of the camera
viewZthe z component of the normal direction of the camera
bool pcl::visualization::PCLVisualizer::setPointCloudRenderingProperties ( int  property,
double  val1,
double  val2,
double  val3,
const std::string &  id = "cloud",
int  viewport = 0 
)

Set the rendering properties of a PointCloud (3x values - e.g., RGB)

Parameters:
propertythe property type
val1the first value to be set
val2the second value to be set
val3the third value to be set
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud's rendering properties should be modified (default: all)
bool pcl::visualization::PCLVisualizer::setPointCloudRenderingProperties ( int  property,
double  value,
const std::string &  id = "cloud",
int  viewport = 0 
)

Set the rendering properties of a PointCloud.

Parameters:
propertythe property type
valuethe value to be set
idthe point cloud object id (default: cloud)
viewportthe view port where the Point Cloud's rendering properties should be modified (default: all)
void pcl::visualization::PCLVisualizer::setRepresentationToSurfaceForAllActors ( )

Changes the visual representation for all actors to surface representation.

bool pcl::visualization::PCLVisualizer::setShapeRenderingProperties ( int  property,
double  value,
const std::string &  id,
int  viewport = 0 
)

Set the rendering properties of a shape.

Parameters:
propertythe property type
valuethe value to be set
idthe shape object id
viewportthe view port where the shape's properties should be modified (default: all)
bool pcl::visualization::PCLVisualizer::setShapeRenderingProperties ( int  property,
double  val1,
double  val2,
double  val3,
const std::string &  id,
int  viewport = 0 
)

Set the rendering properties of a shape (3x values - e.g., RGB)

Parameters:
propertythe property type
val1the first value to be set
val2the second value to be set
val3the third value to be set
idthe shape object id
viewportthe view port where the shape's properties should be modified (default: all)
void pcl::visualization::PCLVisualizer::spin ( )

Spin method.

Calls the interactor and runs an internal loop.

void pcl::visualization::PCLVisualizer::spinOnce ( int  time = 1,
bool  force_redraw = false 
)

Spin once method.

Calls the interactor and updates the screen once.

Parameters:
time- How long (in ms) should the visualization loop be allowed to run.
force_redraw- if false it might return without doing anything if the interactor's framerate does not require a redraw yet.
void pcl::visualization::PCLVisualizer::updateCamera ( )

Update camera parameters and render.

bool pcl::visualization::PCLVisualizer::updateColorHandlerIndex ( const std::string &  id,
int  index 
)

Update/set the color index of a renderered PointCloud based on its ID.

Parameters:
idthe point cloud object id
indexthe color handler index to use
template<typename PointT >
bool pcl::visualization::PCLVisualizer::updatePointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const std::string &  id = "cloud" 
)

Updates the XYZ data for an existing cloud object id on screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was found

Definition at line 881 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::updatePointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const PointCloudGeometryHandler< PointT > &  geometry_handler,
const std::string &  id = "cloud" 
)

Updates the XYZ data for an existing cloud object id on screen.

Parameters:
geometry_handlerthe geometry handler to use
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was found

Definition at line 908 of file pcl_visualizer.hpp.

template<typename PointT >
bool pcl::visualization::PCLVisualizer::updatePointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr &  cloud,
const PointCloudColorHandler< PointT > &  color_handler,
const std::string &  id = "cloud" 
)

Updates the XYZ data for an existing cloud object id on screen.

Parameters:
cloudthe input point cloud dataset
color_handlerthe color handler to use
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was found

Definition at line 938 of file pcl_visualizer.hpp.

bool pcl::visualization::PCLVisualizer::updatePointCloud ( const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &  cloud,
const std::string &  id = "cloud" 
) [inline]

Updates the XYZ data for an existing cloud object id on screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was found

Definition at line 588 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::updatePointCloud ( const pcl::PointCloud< pcl::PointXYZRGB >::ConstPtr &  cloud,
const std::string &  id = "cloud" 
) [inline]

Updates the XYZRGB data for an existing cloud object id on screen.

Parameters:
cloudthe input point cloud dataset
idthe point cloud object id to update (default: cloud)
Returns:
false if no cloud with the specified ID was found

Definition at line 600 of file pcl_visualizer.h.

bool pcl::visualization::PCLVisualizer::wasStopped ( ) const [inline]

Returns true when the user tried to close the window.

Definition at line 776 of file pcl_visualizer.h.


Member Data Documentation

Camera view, window position and size.

Definition at line 1114 of file pcl_visualizer.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines