Go to the source code of this file.
|
#define | tools_glutess_geom |
|
#define | VertEq(u, v) ((u)->s == (v)->s && (u)->t == (v)->t) |
|
#define | VertLeq(u, v) (((u)->s < (v)->s) || ((u)->s == (v)->s && (u)->t <= (v)->t)) |
|
#define | EdgeEval(u, v, w) __gl_edgeEval(u,v,w) |
|
#define | EdgeSign(u, v, w) __gl_edgeSign(u,v,w) |
|
#define | TransLeq(u, v) |
|
#define | TransEval(u, v, w) __gl_transEval(u,v,w) |
|
#define | TransSign(u, v, w) __gl_transSign(u,v,w) |
|
#define | EdgeGoesLeft(e) VertLeq( (e)->Dst, (e)->Org ) |
|
#define | EdgeGoesRight(e) VertLeq( (e)->Org, (e)->Dst ) |
|
#define | VertL1dist(u, v) (GLU_ABS(u->s - v->s) + GLU_ABS(u->t - v->t)) |
|
#define | VertCCW(u, v, w) __gl_vertCCW(u,v,w) |
|
#define | Interpolate(a, x, b, y) |
|
#define | Swap(a, b) do { GLUvertex *t = a; a = b; b = t; } while(false) |
|
|
int | __gl_vertLeq (GLUvertex *u, GLUvertex *v) |
| inlined C code : /////////////////////////////////// More...
|
|
GLUdouble | __gl_edgeEval (GLUvertex *u, GLUvertex *v, GLUvertex *w) |
|
GLUdouble | __gl_edgeSign (GLUvertex *u, GLUvertex *v, GLUvertex *w) |
|
GLUdouble | __gl_transEval (GLUvertex *u, GLUvertex *v, GLUvertex *w) |
|
GLUdouble | __gl_transSign (GLUvertex *u, GLUvertex *v, GLUvertex *w) |
|
int | __gl_vertCCW (GLUvertex *u, GLUvertex *v, GLUvertex *w) |
|
void | __gl_edgeIntersect (GLUvertex *o1, GLUvertex *d1, GLUvertex *o2, GLUvertex *d2, GLUvertex *v) |
|
◆ EdgeEval
Definition at line 11 of file geom.
◆ EdgeGoesLeft
#define EdgeGoesLeft |
( |
|
e | ) |
VertLeq( (e)->Dst, (e)->Org ) |
Definition at line 22 of file geom.
◆ EdgeGoesRight
#define EdgeGoesRight |
( |
|
e | ) |
VertLeq( (e)->Org, (e)->Dst ) |
Definition at line 23 of file geom.
◆ EdgeSign
Definition at line 12 of file geom.
◆ Interpolate
#define Interpolate |
( |
|
a, |
|
|
|
x, |
|
|
|
b, |
|
|
|
y |
|
) |
| |
Value: (a = (a < 0) ? 0 : a, b = (b < 0) ? 0 : b, \
((a <= b) ? ((b == 0) ? ((x+y) / 2) \
: (x + (y-x) * (a/(a+b)))) \
: (y + (x-y) * (b/(a+b)))))
Definition at line 169 of file geom.
◆ Swap
#define Swap |
( |
|
a, |
|
|
|
b |
|
) |
| do { GLUvertex *t = a; a = b; b = t; } while(false) |
Definition at line 176 of file geom.
◆ tools_glutess_geom
#define tools_glutess_geom |
Definition at line 4 of file geom.
◆ TransEval
Definition at line 18 of file geom.
◆ TransLeq
#define TransLeq |
( |
|
u, |
|
|
|
v |
|
) |
| |
Value: (((u)->t < (v)->t) || \
((u)->t == (v)->t && (u)->s <= (v)->s))
Definition at line 16 of file geom.
◆ TransSign
Definition at line 19 of file geom.
◆ VertCCW
Definition at line 27 of file geom.
◆ VertEq
#define VertEq |
( |
|
u, |
|
|
|
v |
|
) |
| ((u)->s == (v)->s && (u)->t == (v)->t) |
Definition at line 8 of file geom.
◆ VertL1dist
#define VertL1dist |
( |
|
u, |
|
|
|
v |
|
) |
| (GLU_ABS(u->s - v->s) + GLU_ABS(u->t - v->t)) |
Definition at line 25 of file geom.
◆ VertLeq
#define VertLeq |
( |
|
u, |
|
|
|
v |
|
) |
| (((u)->s < (v)->s) || ((u)->s == (v)->s && (u)->t <= (v)->t)) |
Definition at line 9 of file geom.
◆ __gl_edgeEval()
Definition at line 40 of file geom.
59 if( gapL + gapR > 0 ) {
61 return (v->
t - u->
t) + (u->
t - w->
t) * (gapL / (gapL + gapR));
63 return (v->
t - w->
t) + (w->
t - u->
t) * (gapR / (gapL + gapR));
◆ __gl_edgeIntersect()
Definition at line 178 of file geom.
202 v->
s = (o2->
s + d1->
s) / 2;
203 }
else if(
VertLeq( d1, d2 )) {
207 if( z1+z2 < 0 ) { z1 = -z1; z2 = -z2; }
213 if( z1+z2 < 0 ) { z1 = -z1; z2 = -z2; }
225 v->
t = (o2->
t + d1->
t) / 2;
230 if( z1+z2 < 0 ) { z1 = -z1; z2 = -z2; }
236 if( z1+z2 < 0 ) { z1 = -z1; z2 = -z2; }
◆ __gl_edgeSign()
Definition at line 70 of file geom.
87 if( gapL + gapR > 0 ) {
88 return (v->
t - w->
t) * gapL + (v->
t - u->
t) * gapR;
◆ __gl_transEval()
Definition at line 99 of file geom.
118 if( gapL + gapR > 0 ) {
120 return (v->
s - u->
s) + (u->
s - w->
s) * (gapL / (gapL + gapR));
122 return (v->
s - w->
s) + (w->
s - u->
s) * (gapR / (gapL + gapR));
◆ __gl_transSign()
Definition at line 129 of file geom.
142 if( gapL + gapR > 0 ) {
143 return (v->
s - w->
s) * gapL + (v->
s - u->
s) * gapR;
◆ __gl_vertCCW()
Definition at line 150 of file geom.
158 return (u->
s*(v->
t - w->
t) + v->
s*(w->
t - u->
t) + w->
s*(u->
t - v->
t)) >= 0;
◆ __gl_vertLeq()
inlined C code : ///////////////////////////////////
Definition at line 33 of file geom.