Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
tess.c File Reference
#include "gluos.h"
#include <stddef.h>
#include <assert.h>
#include <setjmp.h>
#include "memalloc.h"
#include "tess.h"
#include "mesh.h"
#include "normal.h"
#include "sweep.h"
#include "tessmono.h"
#include "render.h"
Include dependency graph for tess.c:

Macros

#define FALSE   0
 
#define GLU_TESS_DEFAULT_TOLERANCE   0.0
 
#define GLU_TESS_MESH   100112 /* void (*)(GLUmesh *mesh) */
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MAX_FAST_ALLOC
 
#define RequireState(tess, s)   if( tess->state != s ) GotoState(tess,s)
 
#define TRUE   1
 

Functions

void __gl_noBeginData (GLenum type, void *polygonData)
 
void __gl_noCombineData (GLdouble coords[3], void *data[4], GLfloat weight[4], void **outData, void *polygonData)
 
void __gl_noEdgeFlagData (GLboolean boundaryEdge, void *polygonData)
 
void __gl_noEndData (void *polygonData)
 
void __gl_noErrorData (GLenum errnum, void *polygonData)
 
void __gl_noVertexData (void *data, void *polygonData)
 
static int AddVertex (GLUtesselator *tess, GLdouble coords[3], void *data)
 
static void CacheVertex (GLUtesselator *tess, GLdouble coords[3], void *data)
 
static int EmptyCache (GLUtesselator *tess)
 
void gluBeginPolygon (GLUtesselator *tess)
 
void gluDeleteTess (GLUtesselator *tess)
 
void gluEndPolygon (GLUtesselator *tess)
 
void gluGetTessProperty (GLUtesselator *tess, GLenum which, GLdouble *value)
 
GLUtesselatorgluNewTess (void)
 
void gluNextContour (GLUtesselator *tess, GLenum type)
 
void gluTessBeginContour (GLUtesselator *tess)
 
void gluTessBeginPolygon (GLUtesselator *tess, void *data)
 
void gluTessCallback (GLUtesselator *tess, GLenum which, _GLUfuncptr fn)
 
void gluTessEndContour (GLUtesselator *tess)
 
void gluTessEndPolygon (GLUtesselator *tess)
 
void gluTessNormal (GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z)
 
void gluTessProperty (GLUtesselator *tess, GLenum which, GLdouble value)
 
void gluTessVertex (GLUtesselator *tess, GLdouble *coords, void *data)
 
static void GotoState (GLUtesselator *tess, enum TessState newState)
 
static void MakeDormant (GLUtesselator *tess)
 
static void noBegin (GLenum type)
 
static void noCombine (GLdouble coords[3], void *data[4], GLfloat weight[4], void **dataOut)
 
static void noEdgeFlag (GLboolean boundaryEdge)
 
static void noEnd (void)
 
static void noError (GLenum errnum)
 
static void noMesh (GLUmesh *mesh)
 
static void noVertex (void *data)
 

Macro Definition Documentation

◆ FALSE

#define FALSE   0

Definition at line 54 of file tess.c.

◆ GLU_TESS_DEFAULT_TOLERANCE

#define GLU_TESS_DEFAULT_TOLERANCE   0.0

Definition at line 47 of file tess.c.

◆ GLU_TESS_MESH

#define GLU_TESS_MESH   100112 /* void (*)(GLUmesh *mesh) */

Definition at line 48 of file tess.c.

◆ MAX

#define MAX (   a,
  b 
)    ((a) > (b) ? (a) : (b))

Definition at line 96 of file tess.c.

◆ MAX_FAST_ALLOC

#define MAX_FAST_ALLOC
Value:
(MAX(sizeof(EdgePair), \
MAX(sizeof(GLUvertex),sizeof(GLUface))))
#define MAX(a, b)
Definition tess.c:96

Definition at line 97 of file tess.c.

◆ RequireState

#define RequireState (   tess,
 
)    if( tess->state != s ) GotoState(tess,s)

Definition at line 162 of file tess.c.

◆ TRUE

#define TRUE   1

Definition at line 51 of file tess.c.

Function Documentation

◆ __gl_noBeginData()

void __gl_noBeginData ( GLenum  type,
void *  polygonData 
)

Definition at line 73 of file tess.c.

◆ __gl_noCombineData()

void __gl_noCombineData ( GLdouble  coords[3],
void *  data[4],
GLfloat  weight[4],
void **  outData,
void *  polygonData 
)

Definition at line 82 of file tess.c.

◆ __gl_noEdgeFlagData()

void __gl_noEdgeFlagData ( GLboolean  boundaryEdge,
void *  polygonData 
)

Definition at line 75 of file tess.c.

◆ __gl_noEndData()

void __gl_noEndData ( void *  polygonData)

Definition at line 79 of file tess.c.

◆ __gl_noErrorData()

void __gl_noErrorData ( GLenum  errnum,
void *  polygonData 
)

Definition at line 80 of file tess.c.

◆ __gl_noVertexData()

void __gl_noVertexData ( void *  data,
void *  polygonData 
)

Definition at line 77 of file tess.c.

◆ AddVertex()

static int AddVertex ( GLUtesselator tess,
GLdouble  coords[3],
void *  data 
)
static

Definition at line 355 of file tess.c.

◆ CacheVertex()

static void CacheVertex ( GLUtesselator tess,
GLdouble  coords[3],
void *  data 
)
static

Definition at line 394 of file tess.c.

◆ EmptyCache()

static int EmptyCache ( GLUtesselator tess)
static

Definition at line 406 of file tess.c.

◆ gluBeginPolygon()

void gluBeginPolygon ( GLUtesselator tess)

Definition at line 621 of file tess.c.

◆ gluDeleteTess()

void gluDeleteTess ( GLUtesselator tess)

Definition at line 203 of file tess.c.

◆ gluEndPolygon()

void gluEndPolygon ( GLUtesselator tess)

Definition at line 639 of file tess.c.

◆ gluGetTessProperty()

void gluGetTessProperty ( GLUtesselator tess,
GLenum  which,
GLdouble value 
)

Definition at line 250 of file tess.c.

◆ gluNewTess()

GLUtesselator * gluNewTess ( void  )

Definition at line 102 of file tess.c.

◆ gluNextContour()

void gluNextContour ( GLUtesselator tess,
GLenum  type 
)

Definition at line 630 of file tess.c.

◆ gluTessBeginContour()

void gluTessBeginContour ( GLUtesselator tess)

Definition at line 486 of file tess.c.

◆ gluTessBeginPolygon()

void gluTessBeginPolygon ( GLUtesselator tess,
void *  data 
)

Definition at line 472 of file tess.c.

◆ gluTessCallback()

void gluTessCallback ( GLUtesselator tess,
GLenum  which,
_GLUfuncptr  fn 
)

Definition at line 286 of file tess.c.

◆ gluTessEndContour()

void gluTessEndContour ( GLUtesselator tess)

Definition at line 503 of file tess.c.

◆ gluTessEndPolygon()

void gluTessEndPolygon ( GLUtesselator tess)

Definition at line 510 of file tess.c.

◆ gluTessNormal()

void gluTessNormal ( GLUtesselator tess,
GLdouble  x,
GLdouble  y,
GLdouble  z 
)

Definition at line 278 of file tess.c.

◆ gluTessProperty()

void gluTessProperty ( GLUtesselator tess,
GLenum  which,
GLdouble  value 
)

Definition at line 211 of file tess.c.

◆ gluTessVertex()

void gluTessVertex ( GLUtesselator tess,
GLdouble coords,
void *  data 
)

Definition at line 425 of file tess.c.

◆ GotoState()

static void GotoState ( GLUtesselator tess,
enum TessState  newState 
)
static

Definition at line 164 of file tess.c.

◆ MakeDormant()

static void MakeDormant ( GLUtesselator tess)
static

Definition at line 150 of file tess.c.

◆ noBegin()

static void noBegin ( GLenum  type)
static

Definition at line 63 of file tess.c.

◆ noCombine()

static void noCombine ( GLdouble  coords[3],
void *  data[4],
GLfloat  weight[4],
void **  dataOut 
)
static

Definition at line 68 of file tess.c.

◆ noEdgeFlag()

static void noEdgeFlag ( GLboolean  boundaryEdge)
static

Definition at line 64 of file tess.c.

◆ noEnd()

static void noEnd ( void  )
static

Definition at line 66 of file tess.c.

◆ noError()

static void noError ( GLenum  errnum)
static

Definition at line 67 of file tess.c.

◆ noMesh()

static void noMesh ( GLUmesh mesh)
static

Definition at line 70 of file tess.c.

◆ noVertex()

static void noVertex ( void *  data)
static

Definition at line 65 of file tess.c.