41 #ifndef PCL_GEOMETRY_MESH_ELEMENTS_H
42 #define PCL_GEOMETRY_MESH_ELEMENTS_H
44 #include <pcl/geometry/mesh_indices.h>
50 template <
class DerivedT,
class MeshTraitsT,
class MeshTagT>
53 template <
class MeshT>
79 explicit Vertex (
const HalfEdgeIndex& idx_outgoing_half_edge = HalfEdgeIndex ())
80 : idx_outgoing_half_edge_ (idx_outgoing_half_edge)
84 HalfEdgeIndex idx_outgoing_half_edge_;
86 template <
class DerivedT,
class MeshTraitsT,
class MeshTagT>
89 template <
class MeshT>
121 explicit HalfEdge (
const VertexIndex& idx_terminating_vertex = VertexIndex (),
122 const HalfEdgeIndex& idx_next_half_edge = HalfEdgeIndex (),
123 const HalfEdgeIndex& idx_prev_half_edge = HalfEdgeIndex (),
124 const FaceIndex& idx_face = FaceIndex ())
125 : idx_terminating_vertex_ (idx_terminating_vertex),
126 idx_next_half_edge_ (idx_next_half_edge),
127 idx_prev_half_edge_ (idx_prev_half_edge),
133 VertexIndex idx_terminating_vertex_;
136 HalfEdgeIndex idx_next_half_edge_;
139 HalfEdgeIndex idx_prev_half_edge_;
144 template <
class DerivedT,
class MeshTraitsT,
class MeshTagT>
147 template <
class MeshT>
174 explicit Face (
const HalfEdgeIndex& idx_inner_half_edge = HalfEdgeIndex ())
175 : idx_inner_half_edge_ (idx_inner_half_edge)
179 HalfEdgeIndex idx_inner_half_edge_;
181 template <
class DerivedT,
class MeshTraitsT,
class MeshTagT>
184 template <
class MeshT>
190 #endif // PCL_GEOMETRY_MESH_ELEMENTS_H
An edge is a connection between two vertices.
Base class for the half-edge mesh.
Index used to access elements in the half-edge mesh.
Index used to access elements in the half-edge mesh.
Read / write the half-edge mesh from / to a file.
A vertex is a node in the mesh.
Index used to access elements in the half-edge mesh.
A face is a closed loop of edges.