Logo ROOT  
Reference Guide
geom.h File Reference
#include "mesh.h"
Include dependency graph for geom.h:
This graph shows which files directly or indirectly include this file:

Macros

#define ABS(x)   ((x) < 0 ? -(x) : (x))
 
#define EdgeEval(u, v, w)   __gl_edgeEval(u,v,w)
 
#define EdgeGoesLeft(e)   VertLeq( (e)->Dst, (e)->Org )
 
#define EdgeGoesRight(e)   VertLeq( (e)->Org, (e)->Dst )
 
#define EdgeSign(u, v, w)   __gl_edgeSign(u,v,w)
 
#define TransEval(u, v, w)   __gl_transEval(u,v,w)
 
#define TransLeq(u, v)
 
#define TransSign(u, v, w)   __gl_transSign(u,v,w)
 
#define VertCCW(u, v, w)   __gl_vertCCW(u,v,w)
 
#define VertEq(u, v)   ((u)->s == (v)->s && (u)->t == (v)->t)
 
#define VertL1dist(u, v)   (ABS(u->s - v->s) + ABS(u->t - v->t))
 
#define VertLeq(u, v)
 

Functions

GLdouble __gl_edgeEval (GLUvertex *u, GLUvertex *v, GLUvertex *w)
 
void __gl_edgeIntersect (GLUvertex *o1, GLUvertex *d1, GLUvertex *o2, GLUvertex *d2, GLUvertex *v)
 
GLdouble __gl_edgeSign (GLUvertex *u, GLUvertex *v, GLUvertex *w)
 
GLdouble __gl_transEval (GLUvertex *u, GLUvertex *v, GLUvertex *w)
 
GLdouble __gl_transSign (GLUvertex *u, GLUvertex *v, GLUvertex *w)
 
int __gl_vertCCW (GLUvertex *u, GLUvertex *v, GLUvertex *w)
 
int __gl_vertLeq (GLUvertex *u, GLUvertex *v)
 

Macro Definition Documentation

◆ ABS

#define ABS (   x)    ((x) < 0 ? -(x) : (x))

Definition at line 69 of file geom.h.

◆ EdgeEval

#define EdgeEval (   u,
  v,
 
)    __gl_edgeEval(u,v,w)

Definition at line 54 of file geom.h.

◆ EdgeGoesLeft

#define EdgeGoesLeft (   e)    VertLeq( (e)->Dst, (e)->Org )

Definition at line 65 of file geom.h.

◆ EdgeGoesRight

#define EdgeGoesRight (   e)    VertLeq( (e)->Org, (e)->Dst )

Definition at line 66 of file geom.h.

◆ EdgeSign

#define EdgeSign (   u,
  v,
 
)    __gl_edgeSign(u,v,w)

Definition at line 55 of file geom.h.

◆ TransEval

#define TransEval (   u,
  v,
 
)    __gl_transEval(u,v,w)

Definition at line 61 of file geom.h.

◆ TransLeq

#define TransLeq (   u,
  v 
)
Value:
(((u)->t < (v)->t) || \
((u)->t == (v)->t && (u)->s <= (v)->s))
static constexpr double s

Definition at line 59 of file geom.h.

◆ TransSign

#define TransSign (   u,
  v,
 
)    __gl_transSign(u,v,w)

Definition at line 62 of file geom.h.

◆ VertCCW

#define VertCCW (   u,
  v,
 
)    __gl_vertCCW(u,v,w)

Definition at line 72 of file geom.h.

◆ VertEq

#define VertEq (   u,
  v 
)    ((u)->s == (v)->s && (u)->t == (v)->t)

Definition at line 49 of file geom.h.

◆ VertL1dist

#define VertL1dist (   u,
  v 
)    (ABS(u->s - v->s) + ABS(u->t - v->t))

Definition at line 70 of file geom.h.

◆ VertLeq

#define VertLeq (   u,
  v 
)
Value:
(((u)->s < (v)->s) || \
((u)->s == (v)->s && (u)->t <= (v)->t))

Definition at line 50 of file geom.h.

Function Documentation

◆ __gl_edgeEval()

GLdouble __gl_edgeEval ( GLUvertex u,
GLUvertex v,
GLUvertex w 
)

Definition at line 47 of file geom.c.

◆ __gl_edgeIntersect()

void __gl_edgeIntersect ( GLUvertex o1,
GLUvertex d1,
GLUvertex o2,
GLUvertex d2,
GLUvertex v 
)

Definition at line 203 of file geom.c.

◆ __gl_edgeSign()

GLdouble __gl_edgeSign ( GLUvertex u,
GLUvertex v,
GLUvertex w 
)

Definition at line 77 of file geom.c.

◆ __gl_transEval()

GLdouble __gl_transEval ( GLUvertex u,
GLUvertex v,
GLUvertex w 
)

Definition at line 102 of file geom.c.

◆ __gl_transSign()

GLdouble __gl_transSign ( GLUvertex u,
GLUvertex v,
GLUvertex w 
)

Definition at line 132 of file geom.c.

◆ __gl_vertCCW()

int __gl_vertCCW ( GLUvertex u,
GLUvertex v,
GLUvertex w 
)

Definition at line 153 of file geom.c.

◆ __gl_vertLeq()

int __gl_vertLeq ( GLUvertex u,
GLUvertex v 
)

Definition at line 40 of file geom.c.