OpenABF 2.1.0
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex Struct Reference

Vertex type More...

#include <OpenABF/OpenABF.hpp>

Inheritance diagram for OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex:
[legend]
Collaboration diagram for OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex:
[legend]

Public Member Functions

 Vertex ()=default
 Default constructor.
 
template<typename... Args>
 Vertex (Args... args)
 Construct from position values.
 
 Vertex (const Vertex &rhs)
 Copy-construct inherited traits.
 
auto wheel () const
 Get the edges of a vertex's wheel.
 
auto normal () const -> Vec< T, Dim >
 Unit vertex normal.
 
auto is_boundary () const -> bool
 Returns if vertex is on mesh boundary.
 
auto is_interior () const -> bool
 Returns if vertex is interior to mesh.
 
auto is_unreferenced () const -> bool
 Returns if vertex is unreferenced.
 
auto is_manifold () const -> bool
 Returns if vertex is manifold.
 

Static Public Member Functions

template<typename... Args>
static auto New (Args &&... args) -> VertPtr
 Construct a new Vertex pointer.
 

Public Attributes

std::size_t idx {0}
 Insertion index.
 
Vec< T, Dimpos
 Vertex position.
 
EdgePtr edge
 Pointer to an Edge with this vertex as its head.
 
HalfEdgeMeshmesh {nullptr}
 Mesh to which this vertex belongs.
 

Detailed Description

template<typename T, std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
struct OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex

Vertex type

Member Function Documentation

◆ wheel()

template<typename T , std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
auto OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex::wheel ( ) const
inline

Get the edges of a vertex's wheel.

Exceptions
MeshExceptionIf vertex is a boundary vertex.

Member Data Documentation

◆ edge

template<typename T , std::size_t Dim = 3, typename VertexTraits = traits::DefaultVertexTraits<T>, typename EdgeTraits = traits::DefaultEdgeTraits<T>, typename FaceTraits = traits::DefaultFaceTraits<T>>
EdgePtr OpenABF::HalfEdgeMesh< T, Dim, VertexTraits, EdgeTraits, FaceTraits >::Vertex::edge

Pointer to an Edge with this vertex as its head.

Note
There may be many such vertices.