|
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...
1.8.10