versor
3.0
C++11 library for Geometric algebra
|
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 structureMore... | |
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[] | |
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...