35 #ifndef LVR2_GEOMETRY_HALFEDGE_H_ 36 #define LVR2_GEOMETRY_HALFEDGE_H_ 98 template <
typename BaseVecT>
105 os <<
"HE" << h.
idx();
128 struct hash<
lvr2::HalfEdgeHandle> {
131 return std::hash<lvr2::Index>()(h.
idx());
NonOptionalT unwrap() const
Extracts the handle. If this doesn't hold a handle (is "None"), this method panics.
std::ostream & operator<<(std::ostream &os, const BaseVector< T > &v)
Interface for all kinds of handles. Handles are basically a key to refer to something.
Handle to access vertices of the mesh.
Handle to access edges of the mesh.
HalfEdgeHandle twin
The twin edge.
static HalfEdgeHandle oneHalfOf(EdgeHandle eH)
OptionalHalfEdgeHandle(EdgeHandle eH)
Half-edge data structure implementing the BaseMesh interface.
size_t operator()(const lvr2::HalfEdgeHandle &h) const
Semantically equivalent to boost::optional<FaceHandle>
Semantically equivalent to boost::optional<HalfEdgeHandle>
Handle to access half edges of the HEM.
Base class for optional handles (handles that can be "null" or "None").
HalfEdge()
Initializes all fields with dummy values (unsafe, thus private).
VertexHandle target
The vertex this edge points to.