versor  3.0
C++11 library for Geometric algebra
Classes | Public Member Functions | List of all members
vsr::HEGraph< T > Struct Template Reference

Templated half edge structure (pointers to any type) Navigates references to surface topology of data only (DOES NOT STORE DATA) More...

#include <vsr_graph.h>

Classes

struct  Face
 
struct  HalfEdge
 

HALF EDGE Data structure

More...
 
struct  Node
 

A Node stores address of value of type T and pointer to an emanating edge. More...

 

Public Member Functions

void seedNodes ()
 
void facet (HalfEdge *ea, HalfEdge *eb, HalfEdge *ec, Face *f)
 
NodeaddNode (T &v)
 
HEGraphfillFace (int a, int b, int c)
 
HEGraphadd (T &v)
 
HEGraphaddAt (T &v, HalfEdge &e)
 
HEGraphaddAt (T &v, int x)
 
void seed (T &a, T &b, T &c, T &d)
 
void insert (T &pa, HalfEdge &e)
 
void close (HalfEdge &ha, HalfEdge &hb)
 eb /ea counter clockwise
 
void close (HalfEdge &e, Node &n)
 
void close (HalfEdge &e)
 
void removeFacet (int idx)
 
void removeEdge (int idx)
 
vector< HalfEdge * > edgeLoop0 (vector< HalfEdge * > loop)
 
vector< HalfEdge * > emanatingEdges (vector< HalfEdge * > loop)
 
vector< HalfEdge * > edgeLoop (vector< HalfEdge * > loop)
 
vector< HalfEdge * > nullEdges ()
 Get null edges of graph.
 
bool hasBorder ()
 Any Null Edges?
 
HalfEdgefirstNull ()
 Find first null edge.
 
vector< HalfEdge * > nullEdgeLoop ()
 Get null edge path (boundary) of graph.
 
void reset ()
 
void clear ()
 
HalfEdgelastEdge ()
 
FacelastFace ()
 
NodelastNode ()
 
Faceface (int idx)
 
HalfEdgeedge (int idx)
 
Nodenode (int idx)
 
vector< HalfEdge * > & edge ()
 
vector< Face * > & face ()
 
vector< Node * > & node ()
 
vector< HalfEdge * > edge () const
 
vector< Face * > face () const
 
vector< Node * > node () const
 
template<class S >
HEGraphUV (int w, int h, S &p, bool bCloseU=false, bool bCloseV=false)
 
template<class S >
HEGraph< T > & UV (int w, int h, S &p, bool bCloseU, bool bCloseV)
 class S needs only be indexable by operator[]
 

Detailed Description

template<class T>
struct vsr::HEGraph< T >

Templated half edge structure (pointers to any type) Navigates references to surface topology of data only (DOES NOT STORE DATA)

thoughts: could this be applied to any complex? perhaps by treating edges as generic k-1 simplices...


The documentation for this struct was generated from the following file: