Point Cloud Library (PCL)
1.14.1-dev
|
The PCL geometry library contains computational geometry data structures and algorithms.
Classes | |
class | pcl::LineIterator |
Organized Index Iterator for iterating over the "pixels" for a given line using the Bresenham algorithm. More... | |
class | pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT > |
Base class for the half-edge mesh. More... | |
class | pcl::geometry::VertexAroundVertexCirculator< MeshT > |
Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the outgoing half-edge (the target). More... | |
class | pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT > |
Circulates counter-clockwise around a vertex and returns an index to the outgoing half-edge (the target). More... | |
class | pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT > |
Circulates counter-clockwise around a vertex and returns an index to the incoming half-edge (the target). More... | |
class | pcl::geometry::FaceAroundVertexCirculator< MeshT > |
Circulates counter-clockwise around a vertex and returns an index to the face of the outgoing half-edge (the target). More... | |
class | pcl::geometry::VertexAroundFaceCirculator< MeshT > |
Circulates clockwise around a face and returns an index to the terminating vertex of the inner half-edge (the target). More... | |
class | pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT > |
Circulates clockwise around a face and returns an index to the inner half-edge (the target). More... | |
class | pcl::geometry::OuterHalfEdgeAroundFaceCirculator< MeshT > |
Circulates clockwise around a face and returns an index to the outer half-edge (the target). More... | |
class | pcl::geometry::FaceAroundFaceCirculator< MeshT > |
Circulates clockwise around a face and returns an index to the face of the outer half-edge (the target). More... | |
class | pcl::geometry::Vertex |
A vertex is a node in the mesh. More... | |
class | pcl::geometry::HalfEdge |
An edge is a connection between two vertices. More... | |
class | pcl::geometry::Face |
A face is a closed loop of edges. More... | |
class | pcl::geometry::MeshIO< MeshT > |
Read / write the half-edge mesh from / to a file. More... | |
struct | pcl::geometry::DefaultMeshTraits< VertexDataT, HalfEdgeDataT, EdgeDataT, FaceDataT > |
The mesh traits are used to set up compile time settings for the mesh. More... | |
class | pcl::OrganizedIndexIterator |
base class for iterators on 2-dimensional maps like images/organized clouds etc. More... | |
class | pcl::geometry::PolygonMesh< MeshTraitsT > |
General half-edge mesh that can store any polygon with a minimum number of vertices of 3. More... | |
class | pcl::geometry::QuadMesh< MeshTraitsT > |
Half-edge mesh that can only store quads. More... | |
class | pcl::geometry::TriangleMesh< MeshTraitsT > |
Half-edge mesh that can only store triangles. More... | |
Typedefs | |
using | pcl::geometry::VertexIndex = pcl::detail::MeshIndex< struct VertexIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | pcl::geometry::HalfEdgeIndex = pcl::detail::MeshIndex< struct HalfEdgeIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | pcl::geometry::EdgeIndex = pcl::detail::MeshIndex< struct EdgeIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
using | pcl::geometry::FaceIndex = pcl::detail::MeshIndex< struct FaceIndexTag > |
Index used to access elements in the half-edge mesh. More... | |
Functions | |
Eigen::Vector3f | pcl::geometry::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 | pcl::geometry::randomOrthogonalAxis (Eigen::Vector3f const &axis) |
Define a random unit vector orthogonal to axis. More... | |
template<class MeshT > | |
void | pcl::geometry::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 | pcl::geometry::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 | pcl::geometry::toHalfEdgeMesh (const pcl::PolygonMesh &face_vertex_mesh, HalfEdgeMeshT &half_edge_mesh) |
Convert a face-vertex mesh to a half-edge mesh. More... | |
using pcl::geometry::EdgeIndex = typedef pcl::detail::MeshIndex<struct EdgeIndexTag> |
#include <pcl/geometry/mesh_indices.h>
Index used to access elements in the half-edge mesh.
It is basically just a wrapper around an integer with a few added methods.
Definition at line 205 of file mesh_indices.h.
using pcl::geometry::FaceIndex = typedef pcl::detail::MeshIndex<struct FaceIndexTag> |
#include <pcl/geometry/mesh_indices.h>
Index used to access elements in the half-edge mesh.
It is basically just a wrapper around an integer with a few added methods.
Definition at line 211 of file mesh_indices.h.
using pcl::geometry::HalfEdgeIndex = typedef pcl::detail::MeshIndex<struct HalfEdgeIndexTag> |
#include <pcl/geometry/mesh_indices.h>
Index used to access elements in the half-edge mesh.
It is basically just a wrapper around an integer with a few added methods.
Definition at line 199 of file mesh_indices.h.
using pcl::geometry::VertexIndex = typedef pcl::detail::MeshIndex<struct VertexIndexTag> |
#include <pcl/geometry/mesh_indices.h>
Index used to access elements in the half-edge mesh.
It is basically just a wrapper around an integer with a few added methods.
Definition at line 193 of file mesh_indices.h.
void pcl::geometry::getBoundBoundaryHalfEdges | ( | const MeshT & | mesh, |
std::vector< typename MeshT::HalfEdgeIndices > & | boundary_he_collection, | ||
const std::size_t | expected_size = 3 |
||
) |
#include <pcl/geometry/get_boundary.h>
Get a collection of boundary half-edges for the input mesh.
[in] | mesh | The input mesh. |
[out] | boundary_he_collection | Collection of boundary half-edges. Each element in the vector is one connected boundary. The whole boundary is the union of all elements. |
[in] | expected_size | If you already know the size of the longest boundary you can tell this here. Defaults to 3 (minimum possible boundary). |
Definition at line 60 of file get_boundary.h.
References pcl::detail::MeshIndex< IndexTagT >::get(), and pcl::geometry::toEdgeIndex().
|
inline |
#include <pcl/common/geometry.h>
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.
[in] | point | Point projected on the plane |
[in] | plane_origin | The plane origin |
[in] | plane_normal | The plane normal |
Definition at line 115 of file geometry.h.
References pcl::geometry::project().
Referenced by pcl::FLARELocalReferenceFrameEstimation< PointInT, PointNT, PointOutT, SignedDistanceT >::computePointLRF().
|
inline |
#include <pcl/common/geometry.h>
Define a random unit vector orthogonal to axis.
[in] | axis | Axis |
Definition at line 134 of file geometry.h.
Referenced by pcl::BOARDLocalReferenceFrameEstimation< PointInT, PointNT, PointOutT >::computePointLRF(), and pcl::FLARELocalReferenceFrameEstimation< PointInT, PointNT, PointOutT, SignedDistanceT >::computePointLRF().
void pcl::geometry::toFaceVertexMesh | ( | const HalfEdgeMeshT & | half_edge_mesh, |
pcl::PolygonMesh & | face_vertex_mesh | ||
) |
#include <pcl/geometry/mesh_conversion.h>
Convert a half-edge mesh to a face-vertex mesh.
[in] | half_edge_mesh | The input mesh. |
[out] | face_vertex_mesh | The output mesh. |
Definition at line 56 of file mesh_conversion.h.
References pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons, pcl::toPCLPointCloud2(), and pcl::Vertices::vertices.
int pcl::geometry::toHalfEdgeMesh | ( | const pcl::PolygonMesh & | face_vertex_mesh, |
HalfEdgeMeshT & | half_edge_mesh | ||
) |
#include <pcl/geometry/mesh_conversion.h>
Convert a face-vertex mesh to a half-edge mesh.
[in] | face_vertex_mesh | The input mesh. |
[out] | half_edge_mesh | The output mesh. It must have data associated with the vertices. |
Definition at line 88 of file mesh_conversion.h.
References pcl::PolygonMesh::cloud, pcl::fromPCLPointCloud2(), and pcl::PolygonMesh::polygons.