Point Cloud Library (PCL)
1.11.0
|
General half-edge mesh that can store any polygon with a minimum number of vertices of 3. More...
#include <pcl/geometry/polygon_mesh.h>
Public Types | |
using | Base = pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag > |
using | Self = PolygonMesh< MeshTraitsT > |
using | Ptr = shared_ptr< Self > |
using | ConstPtr = shared_ptr< const Self > |
using | VertexData = typename Base::VertexData |
using | HalfEdgeData = typename Base::HalfEdgeData |
using | EdgeData = typename Base::EdgeData |
using | FaceData = typename Base::FaceData |
using | IsManifold = typename Base::IsManifold |
using | MeshTag = typename Base::MeshTag |
using | HasVertexData = typename Base::HasVertexData |
using | HasHalfEdgeData = typename Base::HasHalfEdgeData |
using | HasEdgeData = typename Base::HasEdgeData |
using | HasFaceData = typename Base::HasFaceData |
using | VertexDataCloud = typename Base::VertexDataCloud |
using | HalfEdgeDataCloud = typename Base::HalfEdgeDataCloud |
using | EdgeDataCloud = typename Base::EdgeDataCloud |
using | FaceDataCloud = typename Base::FaceDataCloud |
using | VertexIndex = typename Base::VertexIndex |
using | HalfEdgeIndex = typename Base::HalfEdgeIndex |
using | EdgeIndex = typename Base::EdgeIndex |
using | FaceIndex = typename Base::FaceIndex |
using | VertexIndices = typename Base::VertexIndices |
using | HalfEdgeIndices = typename Base::HalfEdgeIndices |
using | EdgeIndices = typename Base::EdgeIndices |
using | FaceIndices = typename Base::FaceIndices |
using | VertexAroundVertexCirculator = typename Base::VertexAroundVertexCirculator |
using | OutgoingHalfEdgeAroundVertexCirculator = typename Base::OutgoingHalfEdgeAroundVertexCirculator |
using | IncomingHalfEdgeAroundVertexCirculator = typename Base::IncomingHalfEdgeAroundVertexCirculator |
using | FaceAroundVertexCirculator = typename Base::FaceAroundVertexCirculator |
using | VertexAroundFaceCirculator = typename Base::VertexAroundFaceCirculator |
using | InnerHalfEdgeAroundFaceCirculator = typename Base::InnerHalfEdgeAroundFaceCirculator |
using | OuterHalfEdgeAroundFaceCirculator = typename Base::OuterHalfEdgeAroundFaceCirculator |
using | FaceAroundFaceCirculator = typename Base::FaceAroundFaceCirculator |
![]() | |
using | Self = MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, PolygonMeshTag > |
using | Ptr = shared_ptr< Self > |
using | ConstPtr = shared_ptr< const Self > |
using | Derived = PolygonMesh< MeshTraitsT > |
using | VertexData = typename MeshTraitsT::VertexData |
using | HalfEdgeData = typename MeshTraitsT::HalfEdgeData |
using | EdgeData = typename MeshTraitsT::EdgeData |
using | FaceData = typename MeshTraitsT::FaceData |
using | IsManifold = typename MeshTraitsT::IsManifold |
Public Member Functions | |
PolygonMesh () | |
Constructor. More... | |
FaceIndex | addFace (const VertexIndex &idx_v_0, const VertexIndex &idx_v_1, const VertexIndex &idx_v_2, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData()) |
Add a triangle to the mesh. More... | |
FaceIndex | addFace (const VertexIndex &idx_v_0, const VertexIndex &idx_v_1, const VertexIndex &idx_v_2, const VertexIndex &idx_v_3, const FaceData &face_data=FaceData(), const EdgeData &edge_data=EdgeData(), const HalfEdgeData &half_edge_data=HalfEdgeData()) |
Add a quad to the mesh. More... | |
Friends | |
class | pcl::geometry::MeshBase< PolygonMesh< MeshTraitsT >, MeshTraitsT, pcl::geometry::PolygonMeshTag > |
General half-edge mesh that can store any polygon with a minimum number of vertices of 3.
MeshTraitsT | Please have a look at pcl::geometry::DefaultMeshTraits. |
Definition at line 60 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::Base = pcl::geometry::MeshBase <PolygonMesh <MeshTraitsT>, MeshTraitsT, PolygonMeshTag> |
Definition at line 64 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::ConstPtr = shared_ptr<const Self> |
Definition at line 68 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeData = typename Base::EdgeData |
Definition at line 72 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeDataCloud = typename Base::EdgeDataCloud |
Definition at line 84 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeIndex = typename Base::EdgeIndex |
Definition at line 90 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::EdgeIndices = typename Base::EdgeIndices |
Definition at line 95 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceAroundFaceCirculator = typename Base::FaceAroundFaceCirculator |
Definition at line 106 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceAroundVertexCirculator = typename Base::FaceAroundVertexCirculator |
Definition at line 102 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceData = typename Base::FaceData |
Definition at line 73 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceDataCloud = typename Base::FaceDataCloud |
Definition at line 85 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceIndex = typename Base::FaceIndex |
Definition at line 91 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::FaceIndices = typename Base::FaceIndices |
Definition at line 96 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeData = typename Base::HalfEdgeData |
Definition at line 71 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeDataCloud = typename Base::HalfEdgeDataCloud |
Definition at line 83 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeIndex = typename Base::HalfEdgeIndex |
Definition at line 89 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HalfEdgeIndices = typename Base::HalfEdgeIndices |
Definition at line 94 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HasEdgeData = typename Base::HasEdgeData |
Definition at line 79 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HasFaceData = typename Base::HasFaceData |
Definition at line 80 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HasHalfEdgeData = typename Base::HasHalfEdgeData |
Definition at line 78 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::HasVertexData = typename Base::HasVertexData |
Definition at line 77 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::IncomingHalfEdgeAroundVertexCirculator = typename Base::IncomingHalfEdgeAroundVertexCirculator |
Definition at line 101 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::InnerHalfEdgeAroundFaceCirculator = typename Base::InnerHalfEdgeAroundFaceCirculator |
Definition at line 104 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::IsManifold = typename Base::IsManifold |
Definition at line 74 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::MeshTag = typename Base::MeshTag |
Definition at line 75 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::OuterHalfEdgeAroundFaceCirculator = typename Base::OuterHalfEdgeAroundFaceCirculator |
Definition at line 105 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::OutgoingHalfEdgeAroundVertexCirculator = typename Base::OutgoingHalfEdgeAroundVertexCirculator |
Definition at line 100 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::Ptr = shared_ptr<Self> |
Definition at line 67 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::Self = PolygonMesh<MeshTraitsT> |
Definition at line 66 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexAroundFaceCirculator = typename Base::VertexAroundFaceCirculator |
Definition at line 103 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexAroundVertexCirculator = typename Base::VertexAroundVertexCirculator |
Definition at line 99 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexData = typename Base::VertexData |
Definition at line 70 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexDataCloud = typename Base::VertexDataCloud |
Definition at line 82 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexIndex = typename Base::VertexIndex |
Definition at line 88 of file polygon_mesh.h.
using pcl::geometry::PolygonMesh< MeshTraitsT >::VertexIndices = typename Base::VertexIndices |
Definition at line 93 of file polygon_mesh.h.
|
inline |
Constructor.
Definition at line 109 of file polygon_mesh.h.
|
inline |
Add a triangle to the mesh.
Data is only added if it is associated with the elements. The last vertex is connected with the first one.
[in] | idx_v_0 | Index to the first vertex. |
[in] | idx_v_1 | Index to the second vertex. |
[in] | idx_v_2 | Index to the third vertex. |
[in] | face_data | Data that is set for the face. |
[in] | half_edge_data | Data that is set for all added half-edges. |
[in] | edge_data | Data that is set for all added edges. |
Definition at line 130 of file polygon_mesh.h.
|
inline |
Add a quad to the mesh.
Data is only added if it is associated with the elements. The last vertex is connected with the first one.
[in] | idx_v_0 | Index to the first vertex. |
[in] | idx_v_1 | Index to the second vertex. |
[in] | idx_v_2 | Index to the third vertex. |
[in] | idx_v_3 | Index to the fourth vertex. |
[in] | face_data | Data that is set for the face. |
[in] | half_edge_data | Data that is set for all added half-edges. |
[in] | edge_data | Data that is set for all added edges. |
Definition at line 156 of file polygon_mesh.h.
|
friend |
Definition at line 175 of file polygon_mesh.h.