Point Cloud Library (PCL)  1.7.1
Classes | Functions
pcl::geometry Namespace Reference

Classes

class  MeshIO
 Read / write the half-edge mesh from / to a file. More...
 
class  MeshBase
 Base class for the half-edge mesh. More...
 
class  VertexAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the outgoing half-edge (the target). More...
 
class  OutgoingHalfEdgeAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the outgoing half-edge (the target). More...
 
class  IncomingHalfEdgeAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the incoming half-edge (the target). More...
 
class  FaceAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the face of the outgoing half-edge (the target). More...
 
class  VertexAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the terminating vertex of the inner half-edge (the target). More...
 
class  InnerHalfEdgeAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the inner half-edge (the target). More...
 
class  OuterHalfEdgeAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the outer half-edge (the target). More...
 
class  FaceAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the face of the outer half-edge (the target). More...
 
class  Vertex
 A vertex is a node in the mesh. More...
 
class  HalfEdge
 An edge is a connection between two vertices. More...
 
class  Face
 A face is a closed loop of edges. More...
 
class  VertexIndex
 Index used to access elements in the half-edge mesh. More...
 
class  HalfEdgeIndex
 Index used to access elements in the half-edge mesh. More...
 
class  EdgeIndex
 Index used to access elements in the half-edge mesh. More...
 
class  FaceIndex
 Index used to access elements in the half-edge mesh. More...
 
struct  NoData
 No data is associated with the vertices / half-edges / edges / faces. More...
 
struct  DefaultMeshTraits
 The mesh traits are used to set up compile time settings for the mesh. More...
 
struct  PolygonMeshTag
 Tag describing the type of the mesh. More...
 
class  PolygonMesh
 General half-edge mesh that can store any polygon with a minimum number of vertices of 3. More...
 
struct  QuadMeshTag
 Tag describing the type of the mesh. More...
 
class  QuadMesh
 Half-edge mesh that can only store quads. More...
 
struct  TriangleMeshTag
 Tag describing the type of the mesh. More...
 
class  TriangleMesh
 Half-edge mesh that can only store triangles. More...
 

Functions

template<typename PointT >
float distance (const PointT &p1, const PointT &p2)
 
template<typename PointT >
float squaredDistance (const PointT &p1, const PointT &p2)
 
template<typename PointT , typename NormalT >
void project (const PointT &point, const PointT &plane_origin, const NormalT &plane_normal, PointT &projected)
 
void project (const Eigen::Vector3f &point, const Eigen::Vector3f &plane_origin, const Eigen::Vector3f &plane_normal, Eigen::Vector3f &projected)
 
template<class MeshT >
void getBoundBoundaryHalfEdges (const MeshT &mesh, std::vector< typename MeshT::HalfEdgeIndices > &boundary_he_collection, const size_t expected_size=3)
 Get a collection of boundary half-edges for the input mesh. More...
 
template<class HalfEdgeMeshT >
void toFaceVertexMesh (const HalfEdgeMeshT &half_edge_mesh, pcl::PolygonMesh &face_vertex_mesh)
 Convert a half-edge mesh to a face-vertex mesh. More...
 
template<class HalfEdgeMeshT >
int toHalfEdgeMesh (const pcl::PolygonMesh &face_vertex_mesh, HalfEdgeMeshT &half_edge_mesh)
 Convert a face-vertex mesh to a half-edge mesh. More...
 
std::ostream & operator<< (std::ostream &os, const pcl::geometry::VertexIndex &index)
 ostream operator. More...
 
std::istream & operator>> (std::istream &is, pcl::geometry::VertexIndex &index)
 istream operator. More...
 
std::ostream & operator<< (std::ostream &os, const pcl::geometry::HalfEdgeIndex &index)
 ostream operator. More...
 
std::istream & operator>> (std::istream &is, pcl::geometry::HalfEdgeIndex &index)
 istream operator. More...
 
std::ostream & operator<< (std::ostream &os, const pcl::geometry::EdgeIndex &index)
 ostream operator. More...
 
std::istream & operator>> (std::istream &is, pcl::geometry::EdgeIndex &index)
 istream operator. More...
 
std::ostream & operator<< (std::ostream &os, const pcl::geometry::FaceIndex &index)
 ostream operator. More...
 
std::istream & operator>> (std::istream &is, pcl::geometry::FaceIndex &index)
 istream operator. More...
 
pcl::geometry::EdgeIndex toEdgeIndex (const HalfEdgeIndex &index)
 Convert the given half-edge index to an edge index. More...
 
pcl::geometry::HalfEdgeIndex toHalfEdgeIndex (const EdgeIndex &index, const bool get_first=true)
 Convert the given edge index to a half-edge index. More...
 

Function Documentation

template<typename PointT >
float pcl::geometry::distance ( const PointT p1,
const PointT p2 
)
inline
Returns
the euclidean distance between 2 points

Definition at line 60 of file geometry.h.

std::ostream& pcl::geometry::operator<< ( std::ostream &  os,
const pcl::geometry::VertexIndex index 
)
inline

ostream operator.

Definition at line 174 of file mesh_indices.h.

References pcl::geometry::VertexIndex::get().

std::ostream& pcl::geometry::operator<< ( std::ostream &  os,
const pcl::geometry::HalfEdgeIndex index 
)
inline

ostream operator.

Definition at line 313 of file mesh_indices.h.

References pcl::geometry::HalfEdgeIndex::get().

std::ostream& pcl::geometry::operator<< ( std::ostream &  os,
const pcl::geometry::EdgeIndex index 
)
inline

ostream operator.

Definition at line 452 of file mesh_indices.h.

References pcl::geometry::EdgeIndex::get().

std::ostream& pcl::geometry::operator<< ( std::ostream &  os,
const pcl::geometry::FaceIndex index 
)
inline

ostream operator.

Definition at line 591 of file mesh_indices.h.

References pcl::geometry::FaceIndex::get().

std::istream& pcl::geometry::operator>> ( std::istream &  is,
pcl::geometry::VertexIndex index 
)
inline

istream operator.

Definition at line 181 of file mesh_indices.h.

std::istream& pcl::geometry::operator>> ( std::istream &  is,
pcl::geometry::HalfEdgeIndex index 
)
inline

istream operator.

Definition at line 320 of file mesh_indices.h.

std::istream& pcl::geometry::operator>> ( std::istream &  is,
pcl::geometry::EdgeIndex index 
)
inline

istream operator.

Definition at line 459 of file mesh_indices.h.

std::istream& pcl::geometry::operator>> ( std::istream &  is,
pcl::geometry::FaceIndex index 
)
inline

istream operator.

Definition at line 598 of file mesh_indices.h.

template<typename PointT , typename NormalT >
void pcl::geometry::project ( const PointT point,
const PointT plane_origin,
const NormalT plane_normal,
PointT projected 
)
inline
Returns
the point projection on a plane defined by its origin and normal vector
Parameters
[in]pointPoint to be projected
[in]plane_originThe plane origin
[in]plane_normalThe plane normal
[out]projectedThe returned projected point

Definition at line 81 of file geometry.h.

Referenced by pcl::ShapeContext3DEstimation< PointInT, PointNT, PointOutT >::computePoint(), and pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::computePointDescriptor().

void pcl::geometry::project ( const Eigen::Vector3f &  point,
const Eigen::Vector3f &  plane_origin,
const Eigen::Vector3f &  plane_normal,
Eigen::Vector3f &  projected 
)
inline
Returns
the point projection on a plane defined by its origin and normal vector
Parameters
[in]pointPoint to be projected
[in]plane_originThe plane origin
[in]plane_normalThe plane normal
[out]projectedThe returned projected point

Definition at line 97 of file geometry.h.

template<typename PointT >
float pcl::geometry::squaredDistance ( const PointT p1,
const PointT p2 
)
inline
Returns
the squared euclidean distance between 2 points

Definition at line 68 of file geometry.h.

pcl::geometry::EdgeIndex pcl::geometry::toEdgeIndex ( const HalfEdgeIndex &  index)
inline

Convert the given half-edge index to an edge index.

Definition at line 616 of file mesh_indices.h.

References pcl::geometry::HalfEdgeIndex::get(), and pcl::geometry::HalfEdgeIndex::isValid().

Referenced by getBoundBoundaryHalfEdges().

pcl::geometry::HalfEdgeIndex pcl::geometry::toHalfEdgeIndex ( const EdgeIndex &  index,
const bool  get_first = true 
)
inline