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.