Point Cloud Library (PCL)
1.14.1-dev
|
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... | |
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... | |
Typedefs | |
using | VertexIndex = pcl::detail::MeshIndex< struct VertexIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | HalfEdgeIndex = pcl::detail::MeshIndex< struct HalfEdgeIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | EdgeIndex = pcl::detail::MeshIndex< struct EdgeIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | FaceIndex = pcl::detail::MeshIndex< struct FaceIndexTag > |
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 std::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... | |
EdgeIndex | toEdgeIndex (const HalfEdgeIndex &index) |
Convert the given half-edge index to an edge index. More... | |
HalfEdgeIndex | toHalfEdgeIndex (const EdgeIndex &index, const bool get_first=true) |
Convert the given edge index to a half-edge index. More... | |
|
inline |
Definition at line 60 of file geometry.h.
Referenced by pcl::FarthestPointSampling< PointT >::applyFilter(), pcl_cuda::PassThrough< PointCloudSOA< Device > >::applyFilter(), pcl_cuda::VoxelGrid< PointCloudSOA< Device > >::applyFilter(), pcl::StatisticalOutlierRemoval< PointT >::applyFilterIndices(), pcl::approximatePolygon2D(), pcl::MinCutSegmentation< PointT >::calculateBinaryPotential(), pcl::PlaneClipper3D< PointT >::clipPlanarPolygon3D(), pcl::GeometricConsistencyGrouping< PointModelT, PointSceneT >::clusterCorrespondences(), pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::computeDistance(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::computeDistanceHistogram(), pcl::computeMedian(), pcl::MLSResult::computeMLSSurface(), pcl::LeastMedianSquares< PointT >::computeModel(), pcl::MaximumLikelihoodSampleConsensus< PointT >::computeModel(), pcl::MEstimatorSampleConsensus< PointT >::computeModel(), pcl::RandomizedMEstimatorSampleConsensus< PointT >::computeModel(), pcl::ShapeContext3DEstimation< PointInT, PointNT, PointOutT >::computePoint(), pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::computePointDescriptor(), pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >::computePointLRF(), pcl::SampleConsensusModelTorus< PointT, PointNT >::countWithinDistance(), pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::determineCorrespondences(), pcl::registration::CorrespondenceEstimation< PointSource, PointTarget, Scalar >::determineReciprocalCorrespondences(), pcl::eigen33(), pcl::SurfaceNormalModality< PointInT >::extractAllFeatures(), pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::extractDescriptors(), pcl::SurfaceNormalModality< PointInT >::extractFeatures(), pcl::ColorModality< PointInT >::extractFeatures(), pcl::ColorGradientModality< PointInT >::extractFeatures(), pcl::people::HeightMap2D< PointT >::filterMaxima(), pcl::GFPFHEstimation< PointInT, PointLT, PointOutT >::getDominantLabel(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::getEdgeIndex(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::getFaceIndex(), pcl::getFieldIndex(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::getHalfEdgeIndex(), pcl::SHOTLocalReferenceFrameEstimation< PointInT, PointOutT >::getLocalRF(), pcl::GridProjection< PointNT >::getProjectionWithPlaneFit(), pcl::RangeImage::getSurfaceInformation(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::getVertexIndex(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::houghVoting(), pcl::SHOTColorEstimation< PointInT, PointNT, PointOutT, PointRFT >::interpolateDoubleChannel(), pcl::GeneralizedIterativeClosestPoint< PointSource, PointTarget, Scalar >::searchForNeighbors(), pcl::UnaryClassifier< PointT >::segment(), pcl::ExtractPolygonalPrismData< PointT >::segment(), pcl::SampleConsensusModelRegistration2D< PointT >::selectWithinDistance(), pcl::SampleConsensusModelCone< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::selectWithinDistance(), pcl::SampleConsensusModelPlane< PointT >::selectWithinDistance(), pcl::SampleConsensusModelRegistration< PointT >::selectWithinDistance(), pcl::SampleConsensusModelTorus< PointT, PointNT >::selectWithinDistance(), pcl::registration::CorrespondenceRejectorDistance::setMaximumDistance(), pcl::ism::ImplicitShapeModelEstimation< FeatureSize, PointT, NormalT >::simplifyCloud(), and pcl::toPCLPointCloud2().
|
inline |
[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.
|
inline |
[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(), pcl::PCA< PointT >::project(), and projectedAsUnitVector().
|
inline |
Definition at line 68 of file geometry.h.
|
inline |
Convert the given half-edge index to an edge index.
Definition at line 224 of file mesh_indices.h.
References pcl::detail::MeshIndex< IndexTagT >::get(), and pcl::detail::MeshIndex< IndexTagT >::isValid().
Referenced by getBoundBoundaryHalfEdges().
|
inline |
Convert the given edge index to a half-edge index.
index | ||
[in] | get_first | The first half-edge of the edge is returned if this variable is true; elsewise the second. |
Definition at line 235 of file mesh_indices.h.
References pcl::detail::MeshIndex< IndexTagT >::get(), and pcl::detail::MeshIndex< IndexTagT >::isValid().
Referenced by pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::deleteEdge(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::isBoundary(), pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::isDeleted(), and pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::markDeleted().