public Mesh() { var v = _vHead = new MeshUtils.Vertex(); var f = _fHead = new MeshUtils.Face(); var pair = MeshUtils.EdgePair.Create(); var e = _eHead = pair._e; var eSym = _eHeadSym = pair._eSym; v._next = v._prev = v; f._next = f._prev = f; e._next = e; e._Sym = eSym; eSym._next = eSym; eSym._Sym = e; }
public Mesh() { var v = _vHead = new MeshUtils.Vertex(); var f = _fHead = new MeshUtils.Face(); var pair = MeshUtils.EdgePair.Create(); var e = _eHead = pair._e; var eSym = _eHeadSym = pair._eSym; v._next = v._prev = v; v._anEdge = null; f._next = f._prev = f; f._anEdge = null; f._trail = null; f._marked = false; f._inside = false; e._next = e; e._Sym = eSym; e._Onext = null; e._Lnext = null; e._Org = null; e._Lface = null; e._winding = 0; e._activeRegion = null; eSym._next = eSym; eSym._Sym = e; eSym._Onext = null; eSym._Lnext = null; eSym._Org = null; eSym._Lface = null; eSym._winding = 0; eSym._activeRegion = null; }
public static bool EdgeGoesRight(MeshUtils.Edge e) { return(VertLeq(e._Org, e._Dst)); }
public static void AddWinding(MeshUtils.Edge eDst, MeshUtils.Edge eSrc) { eDst._winding += eSrc._winding; eDst._Sym._winding += eSrc._Sym._winding; }
public static bool EdgeGoesLeft(MeshUtils.Edge e) { return(VertLeq(e._Dst, e._Org)); }