Point Cloud Library (PCL)  1.9.1-dev
Classes | Functions
pcl::geometry Namespace Reference

Classes

struct  DefaultMeshTraits
 The mesh traits are used to set up compile time settings for the mesh. More...
 
class  EdgeIndex
 Index used to access elements in the half-edge mesh. More...
 
class  Face
 A face is a closed loop of edges. More...
 
class  FaceAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the face of the outer 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  FaceIndex
 Index used to access elements in the half-edge mesh. More...
 
class  HalfEdge
 An edge is a connection between two vertices. More...
 
class  HalfEdgeIndex
 Index used to access elements in the half-edge mesh. More...
 
class  IncomingHalfEdgeAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the incoming 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  MeshBase
 Base class for the half-edge mesh. More...
 
class  MeshIO
 Read / write the half-edge mesh from / to a file. More...
 
struct  NoData
 No data is associated with the vertices / half-edges / edges / faces. More...
 
class  OuterHalfEdgeAroundFaceCirculator
 Circulates clockwise around a face and returns an index to the outer 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  PolygonMesh
 General half-edge mesh that can store any polygon with a minimum number of vertices of 3. More...
 
struct  PolygonMeshTag
 Tag describing the type of the mesh. More...
 
class  QuadMesh
 Half-edge mesh that can only store quads. More...
 
struct  QuadMeshTag
 Tag describing the type of the mesh. More...
 
class  TriangleMesh
 Half-edge mesh that can only store triangles. More...
 
struct  TriangleMeshTag
 Tag describing the type of the mesh. More...
 
class  Vertex
 A vertex is a node in the mesh. 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  VertexAroundVertexCirculator
 Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the outgoing half-edge (the target). More...
 
class  VertexIndex
 Index used to access elements in the half-edge mesh. 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)
 
Eigen::Vector3f projectedAsUnitVector (Eigen::Vector3f const &point, Eigen::Vector3f const &plane_origin, Eigen::Vector3f const &plane_normal)
 Given a plane defined by plane_origin and plane_normal, find the unit vector pointing from plane_origin to the projection of point on the plane. More...
 
Eigen::Vector3f randomOrthogonalAxis (Eigen::Vector3f const &axis)
 Define a random unit vector orthogonal to axis. More...
 
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 173 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 312 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 451 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 590 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 180 of file mesh_indices.h.

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

istream operator.

Definition at line 319 of file mesh_indices.h.

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

istream operator.

Definition at line 458 of file mesh_indices.h.

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

istream operator.

Definition at line 597 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(), pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::computePointDescriptor(), and projectedAsUnitVector().

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 615 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