42#define AddWinding(eDst,eSrc) (eDst->winding += eSrc->winding, \
43 eDst->Sym->winding += eSrc->Sym->winding)
84 for( ;
VertLeq( up->Dst, up->
Org ); up = up->Lprev )
90 while( up->
Lnext != lo ) {
99 if (tempHalfEdge == NULL)
return 0;
100 lo = tempHalfEdge->
Sym;
108 if (tempHalfEdge == NULL)
return 0;
109 up = tempHalfEdge->
Sym;
118 assert( lo->
Lnext != up );
121 if (tempHalfEdge == NULL)
return 0;
122 lo = tempHalfEdge->
Sym;
138 for(
f =
mesh->fHead.next;
f != &
mesh->fHead;
f = next ) {
160 for(
f =
mesh->fHead.next;
f != &
mesh->fHead;
f = next ) {
169#define MARKED_FOR_DELETION 0x7fffffff
184 for(
e =
mesh->eHead.next;
e != &
mesh->eHead;
e = eNext ) {
186 if(
e->Rface->inside !=
e->Lface->inside ) {
189 e->
winding = (
e->Lface->inside) ? value : -value;
193 if( ! keepOnlyBoundary ) {
#define EdgeSign(u, v, w)
void __gl_meshZapFace(GLUface *fZap)
GLUhalfEdge * __gl_meshConnect(GLUhalfEdge *eOrg, GLUhalfEdge *eDst)
int __gl_meshDelete(GLUhalfEdge *eDel)
int __gl_meshTessellateMonoRegion(GLUface *face)
int __gl_meshSetWindingNumber(GLUmesh *mesh, int value, GLboolean keepOnlyBoundary)
void __gl_meshDiscardExterior(GLUmesh *mesh)
int __gl_meshTessellateInterior(GLUmesh *mesh)