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)
 
Node & addNode (T &v)
 
HEGraph & fillFace (int a, int b, int c)
 
HEGraph & add (T &v)
 
HEGraph & addAt (T &v, HalfEdge &e)
 
HEGraph & addAt (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?
 
HalfEdge & firstNull ()
 Find first null edge.
 
vector< HalfEdge * > nullEdgeLoop ()
 Get null edge path (boundary) of graph.
 
void reset ()
 
void clear ()
 
HalfEdge & lastEdge ()
 
Face & lastFace ()
 
Node & lastNode ()
 
Face & face (int idx)
 
HalfEdge & edge (int idx)
 
Node & node (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 >
HEGraph & UV (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: