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

## distance()

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.

Referenced by pcl_cuda::VoxelGrid< PointCloudSOA< Device > >::applyFilter(), pcl_cuda::PassThrough< PointCloudSOA< Device > >::applyFilter(), pcl::approximatePolygon2D(), pcl::registration::DefaultConvergenceCriteria< float >::calculateMSE(), pcl::PlaneClipper3D< PointT >::clipPlanarPolygon3D(), pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::computeDistance(), pcl::MovingLeastSquares< PointInT, PointOutT >::computeMLSPointNormal(), pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >::countWithinDistance(), pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::determineCorrespondences(), pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::determineReciprocalCorrespondences(), pcl::SurfaceNormalModality< PointXYZT >::extractAllFeatures(), pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::extractDescriptors(), pcl::ColorModality< PointInT >::extractFeatures(), pcl::ColorGradientModality< PointRGBT >::extractFeatures(), pcl::SurfaceNormalModality< PointXYZT >::extractFeatures(), pcl::people::HeightMap2D< PointT >::filterMaxima(), pcl::MomentOfInertiaEstimation< PointT >::getEccentricity(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getEdgeIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getFaceIndex(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getHalfEdgeIndex(), pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::getLocalRF(), pcl::RangeImage::getNormalForClosestNeighbors(), pcl::GridProjection< PointNT >::getProjectionWithPlaneFit(), pcl::RangeImage::getSurfaceInformation(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::getVertexIndex(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::houghVoting(), pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::interpolateDoubleChannel(), pcl::SHOTEstimationBase< PointInT, PointNT, PointOutT, PointRFT >::interpolateSingleChannel(), pcl::search::BruteForce< PointT >::nearestKSearch(), POINT_CLOUD_REGISTER_POINT_STRUCT(), pcl::SupervoxelClustering< PointT >::refineSupervoxels(), pcl::UnaryClassifier< PointT >::segment(), pcl::ExtractPolygonalPrismData< PointT >::segment(), pcl::SampleConsensusModelRegistration2D< PointT >::selectWithinDistance(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >::selectWithinDistance(), pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >::selectWithinDistance(), pcl::SampleConsensusModelRegistration< PointT >::selectWithinDistance(), pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelPlane< PointT >::selectWithinDistance(), pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >::selectWithinDistance(), pcl::registration::CorrespondenceRejectorDistance::setMaximumDistance(), and pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::simplifyCloud().

## operator<<() [1/4]

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().

## operator<<() [2/4]

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().

## operator<<() [3/4]

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().

## operator<<() [4/4]

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().

## operator>>() [1/4]

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

inline

istream operator.

Definition at line 181 of file mesh_indices.h.

## operator>>() [2/4]

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

inline

istream operator.

Definition at line 320 of file mesh_indices.h.

## operator>>() [3/4]

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

inline

istream operator.

Definition at line 459 of file mesh_indices.h.

## operator>>() [4/4]

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

inline

istream operator.

Definition at line 598 of file mesh_indices.h.

## project() [1/2]

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] | point | Point to be projected
  [in] | plane_origin | The plane origin
  [in] | plane_normal | The plane normal
  [out] | projected | The 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 pcl::PCA< PointT >::project().

## project() [2/2]

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] | point | Point to be projected
  [in] | plane_origin | The plane origin
  [in] | plane_normal | The plane normal
  [out] | projected | The returned projected point

Definition at line 97 of file geometry.h.

## squaredDistance()

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.

## toEdgeIndex()

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().

## toHalfEdgeIndex()

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

inline

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

Parameters

  | index |
  [in] | get_first | The first half-edge of the edge is returned if this variable is true; elsewise the second.

Definition at line 626 of file mesh_indices.h.

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

Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteEdge(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isBoundary(), pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::isDeleted(), and pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::markDeleted().