Point Cloud Library (PCL)  1.14.0-dev
List of all members | Public Types | Public Member Functions | Protected Member Functions
pcl::registration::GraphHandler< GraphT > Class Template Reference

GraphHandler class is a wrapper for a general SLAM graph The actual graph class must fulfill the following boost::graph concepts: More...

#include <pcl/registration/graph_handler.h>

Public Types

using Ptr = shared_ptr< GraphHandler< GraphT > >
 
using ConstPtr = shared_ptr< const GraphHandler< GraphT > >
 
using GraphPtr = shared_ptr< GraphT >
 
using GraphConstPtr = shared_ptr< const GraphT >
 
using Vertex = typename boost::graph_traits< GraphT >::vertex_descriptor
 
using Edge = typename boost::graph_traits< GraphT >::edge_descriptor
 

Public Member Functions

 GraphHandler ()
 Empty constructor. More...
 
 ~GraphHandler ()
 Destructor. More...
 
void clear ()
 Clear the graph. More...
 
GraphConstPtr getGraph () const
 Get a pointer to the BGL graph. More...
 
GraphPtr getGraph ()
 Get a pointer to the BGL graph. More...
 
template<class PointT >
Vertex addPointCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud, const Eigen::Matrix4f &pose)
 Add a new point cloud to the graph and return the new vertex. More...
 
template<class EstimateT >
Vertex addGenericVertex (const EstimateT &estimate)
 Add a new generic vertex created according to the given estimate. More...
 
template<class InformationT >
Edge addPoseConstraint (const Vertex &v_start, const Vertex &v_end, const Eigen::Matrix4f &relative_transformation, const InformationT &information_matrix)
 Add a new constraint between two poses. More...
 
template<class MeasurementT >
Edge addGenericConstraint (const MeasurementT &measurement)
 Add a generic constraint created according to the given measurement. More...
 
void removeVertex (const Vertex &v)
 Remove a vertex from the graph. More...
 
void removeConstraint (const Edge &e)
 Remove a constraint from the graph. More...
 

Protected Member Functions

bool init ()
 This method is called right after the creation of graph_impl_. More...
 
bool deinit ()
 This method is called when graph_impl_ is going to be destroyed. More...
 

Detailed Description

template<typename GraphT>
class pcl::registration::GraphHandler< GraphT >

GraphHandler class is a wrapper for a general SLAM graph The actual graph class must fulfill the following boost::graph concepts:

Other valid expressions:

If a specific graph implementation needs initialization and/or finalization, specialize the protected methods init() and deinit() for your graph type

Author
Nicola Fioraio

Definition at line 85 of file graph_handler.h.

Member Typedef Documentation

◆ ConstPtr

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::ConstPtr = shared_ptr<const GraphHandler<GraphT> >

Definition at line 88 of file graph_handler.h.

◆ Edge

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::Edge = typename boost::graph_traits<GraphT>::edge_descriptor

Definition at line 93 of file graph_handler.h.

◆ GraphConstPtr

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::GraphConstPtr = shared_ptr<const GraphT>

Definition at line 90 of file graph_handler.h.

◆ GraphPtr

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::GraphPtr = shared_ptr<GraphT>

Definition at line 89 of file graph_handler.h.

◆ Ptr

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::Ptr = shared_ptr<GraphHandler<GraphT> >

Definition at line 87 of file graph_handler.h.

◆ Vertex

template<typename GraphT >
using pcl::registration::GraphHandler< GraphT >::Vertex = typename boost::graph_traits<GraphT>::vertex_descriptor

Definition at line 92 of file graph_handler.h.

Constructor & Destructor Documentation

◆ GraphHandler()

template<typename GraphT >
pcl::registration::GraphHandler< GraphT >::GraphHandler ( )
inline

Empty constructor.

Definition at line 96 of file graph_handler.h.

References pcl::registration::GraphHandler< GraphT >::init().

◆ ~GraphHandler()

template<typename GraphT >
pcl::registration::GraphHandler< GraphT >::~GraphHandler ( )
inline

Destructor.

Definition at line 106 of file graph_handler.h.

References pcl::registration::GraphHandler< GraphT >::deinit().

Member Function Documentation

◆ addGenericConstraint()

template<typename GraphT >
template<class MeasurementT >
Edge pcl::registration::GraphHandler< GraphT >::addGenericConstraint ( const MeasurementT &  measurement)
inline

Add a generic constraint created according to the given measurement.

Parameters
measurementthe measurement
Returns
a reference to the new edge

Definition at line 184 of file graph_handler.h.

◆ addGenericVertex()

template<typename GraphT >
template<class EstimateT >
Vertex pcl::registration::GraphHandler< GraphT >::addGenericVertex ( const EstimateT &  estimate)
inline

Add a new generic vertex created according to the given estimate.

Parameters
estimatethe parameters' estimate
Returns
a reference to the new vertex

Definition at line 154 of file graph_handler.h.

◆ addPointCloud()

template<typename GraphT >
template<class PointT >
Vertex pcl::registration::GraphHandler< GraphT >::addPointCloud ( const typename pcl::PointCloud< PointT >::ConstPtr cloud,
const Eigen::Matrix4f &  pose 
)
inline

Add a new point cloud to the graph and return the new vertex.

Parameters
cloudthe new point cloud
posethe pose estimate
Returns
a reference to the new vertex

Definition at line 142 of file graph_handler.h.

◆ addPoseConstraint()

template<typename GraphT >
template<class InformationT >
Edge pcl::registration::GraphHandler< GraphT >::addPoseConstraint ( const Vertex v_start,
const Vertex v_end,
const Eigen::Matrix4f &  relative_transformation,
const InformationT &  information_matrix 
)
inline

Add a new constraint between two poses.

Parameters
v_startthe first pose
v_endthe second pose
relative_transformationthe transformation from v_start to v_end
information_matrixthe uncertainty
Returns
a reference to the new edge

Definition at line 168 of file graph_handler.h.

◆ clear()

template<typename GraphT >
void pcl::registration::GraphHandler< GraphT >::clear ( )
inline

◆ deinit()

template<typename GraphT >
bool pcl::registration::GraphHandler< GraphT >::deinit ( )
inlineprotected

This method is called when graph_impl_ is going to be destroyed.

Definition at line 217 of file graph_handler.h.

Referenced by pcl::registration::GraphHandler< GraphT >::clear(), and pcl::registration::GraphHandler< GraphT >::~GraphHandler().

◆ getGraph() [1/2]

template<typename GraphT >
GraphPtr pcl::registration::GraphHandler< GraphT >::getGraph ( )
inline

Get a pointer to the BGL graph.

Definition at line 130 of file graph_handler.h.

◆ getGraph() [2/2]

template<typename GraphT >
GraphConstPtr pcl::registration::GraphHandler< GraphT >::getGraph ( ) const
inline

Get a pointer to the BGL graph.

Definition at line 123 of file graph_handler.h.

◆ init()

template<typename GraphT >
bool pcl::registration::GraphHandler< GraphT >::init ( )
inlineprotected

This method is called right after the creation of graph_impl_.

Definition at line 210 of file graph_handler.h.

Referenced by pcl::registration::GraphHandler< GraphT >::clear(), and pcl::registration::GraphHandler< GraphT >::GraphHandler().

◆ removeConstraint()

template<typename GraphT >
void pcl::registration::GraphHandler< GraphT >::removeConstraint ( const Edge e)
inline

Remove a constraint from the graph.

Parameters
ethe edge

Definition at line 202 of file graph_handler.h.

◆ removeVertex()

template<typename GraphT >
void pcl::registration::GraphHandler< GraphT >::removeVertex ( const Vertex v)
inline

Remove a vertex from the graph.

Parameters
vthe vertex

Definition at line 193 of file graph_handler.h.


The documentation for this class was generated from the following file: