Point Cloud Library (PCL)
1.7.0
|
Half-edge mesh that can only store triangles. More...
#include <pcl/geometry/triangle_mesh.h>
Half-edge mesh that can only store triangles.
MeshTraitsT | Please have a look at pcl::geometry::DefaultMeshTraits. |
Definition at line 61 of file triangle_mesh.h.
typedef pcl::geometry::MeshBase<TriangleMesh <MeshTraitsT>, MeshTraitsT, TriangleMeshTag> pcl::geometry::TriangleMesh< MeshTraitsT >::Base |
Definition at line 65 of file triangle_mesh.h.
typedef boost::shared_ptr<const Self> pcl::geometry::TriangleMesh< MeshTraitsT >::ConstPtr |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 69 of file triangle_mesh.h.
typedef Base::EdgeData pcl::geometry::TriangleMesh< MeshTraitsT >::EdgeData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 73 of file triangle_mesh.h.
typedef Base::EdgeDataCloud pcl::geometry::TriangleMesh< MeshTraitsT >::EdgeDataCloud |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 85 of file triangle_mesh.h.
typedef Base::EdgeIndex pcl::geometry::TriangleMesh< MeshTraitsT >::EdgeIndex |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 91 of file triangle_mesh.h.
typedef Base::EdgeIndices pcl::geometry::TriangleMesh< MeshTraitsT >::EdgeIndices |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 97 of file triangle_mesh.h.
typedef Base::FaceAroundFaceCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::FaceAroundFaceCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 108 of file triangle_mesh.h.
typedef Base::FaceAroundVertexCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::FaceAroundVertexCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 104 of file triangle_mesh.h.
typedef Base::FaceData pcl::geometry::TriangleMesh< MeshTraitsT >::FaceData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 74 of file triangle_mesh.h.
typedef Base::FaceDataCloud pcl::geometry::TriangleMesh< MeshTraitsT >::FaceDataCloud |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 86 of file triangle_mesh.h.
typedef Base::FaceIndex pcl::geometry::TriangleMesh< MeshTraitsT >::FaceIndex |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 92 of file triangle_mesh.h.
typedef std::pair<FaceIndex, FaceIndex> pcl::geometry::TriangleMesh< MeshTraitsT >::FaceIndexPair |
Definition at line 93 of file triangle_mesh.h.
typedef Base::FaceIndices pcl::geometry::TriangleMesh< MeshTraitsT >::FaceIndices |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 98 of file triangle_mesh.h.
typedef Base::HalfEdgeData pcl::geometry::TriangleMesh< MeshTraitsT >::HalfEdgeData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 72 of file triangle_mesh.h.
typedef Base::HalfEdgeDataCloud pcl::geometry::TriangleMesh< MeshTraitsT >::HalfEdgeDataCloud |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 84 of file triangle_mesh.h.
typedef Base::HalfEdgeIndex pcl::geometry::TriangleMesh< MeshTraitsT >::HalfEdgeIndex |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 90 of file triangle_mesh.h.
typedef Base::HalfEdgeIndices pcl::geometry::TriangleMesh< MeshTraitsT >::HalfEdgeIndices |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 96 of file triangle_mesh.h.
typedef Base::HasEdgeData pcl::geometry::TriangleMesh< MeshTraitsT >::HasEdgeData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 80 of file triangle_mesh.h.
typedef Base::HasFaceData pcl::geometry::TriangleMesh< MeshTraitsT >::HasFaceData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 81 of file triangle_mesh.h.
typedef Base::HasHalfEdgeData pcl::geometry::TriangleMesh< MeshTraitsT >::HasHalfEdgeData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 79 of file triangle_mesh.h.
typedef Base::HasVertexData pcl::geometry::TriangleMesh< MeshTraitsT >::HasVertexData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 78 of file triangle_mesh.h.
typedef Base::IncomingHalfEdgeAroundVertexCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::IncomingHalfEdgeAroundVertexCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 103 of file triangle_mesh.h.
typedef Base::InnerHalfEdgeAroundFaceCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::InnerHalfEdgeAroundFaceCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 106 of file triangle_mesh.h.
typedef Base::IsManifold pcl::geometry::TriangleMesh< MeshTraitsT >::IsManifold |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 75 of file triangle_mesh.h.
typedef Base::MeshTag pcl::geometry::TriangleMesh< MeshTraitsT >::MeshTag |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 76 of file triangle_mesh.h.
typedef Base::OuterHalfEdgeAroundFaceCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::OuterHalfEdgeAroundFaceCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 107 of file triangle_mesh.h.
typedef Base::OutgoingHalfEdgeAroundVertexCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::OutgoingHalfEdgeAroundVertexCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 102 of file triangle_mesh.h.
typedef boost::shared_ptr<Self> pcl::geometry::TriangleMesh< MeshTraitsT >::Ptr |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 68 of file triangle_mesh.h.
typedef TriangleMesh<MeshTraitsT> pcl::geometry::TriangleMesh< MeshTraitsT >::Self |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 67 of file triangle_mesh.h.
typedef Base::VertexAroundFaceCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::VertexAroundFaceCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 105 of file triangle_mesh.h.
typedef Base::VertexAroundVertexCirculator pcl::geometry::TriangleMesh< MeshTraitsT >::VertexAroundVertexCirculator |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 101 of file triangle_mesh.h.
typedef Base::VertexData pcl::geometry::TriangleMesh< MeshTraitsT >::VertexData |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 71 of file triangle_mesh.h.
typedef Base::VertexDataCloud pcl::geometry::TriangleMesh< MeshTraitsT >::VertexDataCloud |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 83 of file triangle_mesh.h.
typedef Base::VertexIndex pcl::geometry::TriangleMesh< MeshTraitsT >::VertexIndex |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 89 of file triangle_mesh.h.
typedef Base::VertexIndices pcl::geometry::TriangleMesh< MeshTraitsT >::VertexIndices |
Reimplemented from pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >.
Definition at line 95 of file triangle_mesh.h.
pcl::geometry::TriangleMesh< MeshTraitsT >::TriangleMesh | ( | ) | [inline] |
Constructor.
Definition at line 111 of file triangle_mesh.h.
FaceIndex pcl::geometry::TriangleMesh< MeshTraitsT >::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 () |
||
) | [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 133 of file triangle_mesh.h.
References pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >::addFaceImplBase().
Referenced by pcl::geometry::TriangleMesh< MeshTraitsT >::addTrianglePair().
FaceIndexPair pcl::geometry::TriangleMesh< MeshTraitsT >::addTrianglePair | ( | const VertexIndices & | vertices, |
const FaceData & | face_data = FaceData () , |
||
const EdgeData & | edge_data = EdgeData () , |
||
const HalfEdgeData & | half_edge_data = HalfEdgeData () |
||
) | [inline] |
Add two triangles for the four given input vertices.
When using a manifold triangle mesh it is not possible to connect two bounded regions without going through a non-manifold intermediate step. This method first tries to add the triangles individually and if this fails connects the whole configuration at once (if possible).
[in] | vertices | Indices to the vertices of the new face. (The size must be equal to four). |
[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 triangle_mesh.h.
FaceIndexPair pcl::geometry::TriangleMesh< MeshTraitsT >::addTrianglePair | ( | 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 () |
||
) | [inline] |
Add two triangles for the four given input vertices.
When using a manifold triangle mesh it is not possible to connect two bounded regions without going through a non-manifold intermediate step. This method first tries to add the triangles individually and if this fails connects the whole configuration at once (if possible).
[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 183 of file triangle_mesh.h.
References pcl::geometry::TriangleMesh< MeshTraitsT >::addFace(), pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, TriangleMeshTag >::checkTopology1(), and pcl::geometry::FaceIndex::isValid().
friend class pcl::geometry::MeshBase< TriangleMesh< MeshTraitsT >, MeshTraitsT, pcl::geometry::TriangleMeshTag > [friend] |
Definition at line 257 of file triangle_mesh.h.