Logo ROOT  
Reference Guide
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 GLAPIENTRY __gl_noBeginData (GLenum type, void *polygonData)
 
void GLAPIENTRY __gl_noCombineData (GLdouble coords[3], void *data[4], GLfloat weight[4], void **outData, void *polygonData)
 
void GLAPIENTRY __gl_noEdgeFlagData (GLboolean boundaryEdge, void *polygonData)
 
void GLAPIENTRY __gl_noEndData (void *polygonData)
 
void GLAPIENTRY __gl_noErrorData (GLenum errnum, void *polygonData)
 
void GLAPIENTRY __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 GLAPIENTRY gluBeginPolygon (GLUtesselator *tess)
 
void GLAPIENTRY gluDeleteTess (GLUtesselator *tess)
 
void GLAPIENTRY gluEndPolygon (GLUtesselator *tess)
 
void GLAPIENTRY gluGetTessProperty (GLUtesselator *tess, GLenum which, GLdouble *value)
 
GLUtesselator *GLAPIENTRY gluNewTess (void)
 
void GLAPIENTRY gluNextContour (GLUtesselator *tess, GLenum type)
 
void GLAPIENTRY gluTessBeginContour (GLUtesselator *tess)
 
void GLAPIENTRY gluTessBeginPolygon (GLUtesselator *tess, void *data)
 
void GLAPIENTRY gluTessCallback (GLUtesselator *tess, GLenum which, _GLUfuncptr fn)
 
void GLAPIENTRY gluTessEndContour (GLUtesselator *tess)
 
void GLAPIENTRY gluTessEndPolygon (GLUtesselator *tess)
 
void GLAPIENTRY gluTessNormal (GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z)
 
void GLAPIENTRY gluTessProperty (GLUtesselator *tess, GLenum which, GLdouble value)
 
void GLAPIENTRY gluTessVertex (GLUtesselator *tess, GLdouble coords[3], void *data)
 
static void GotoState (GLUtesselator *tess, enum TessState newState)
 
static void MakeDormant (GLUtesselator *tess)
 
static void GLAPIENTRY noBegin (GLenum type)
 
static void GLAPIENTRY noCombine (GLdouble coords[3], void *data[4], GLfloat weight[4], void **dataOut)
 
static void GLAPIENTRY noEdgeFlag (GLboolean boundaryEdge)
 
static void GLAPIENTRY noEnd (void)
 
static void GLAPIENTRY noError (GLenum errnum)
 
static void GLAPIENTRY noMesh (GLUmesh *mesh)
 
static void GLAPIENTRY 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))))
Definition: mesh.h:155
Definition: mesh.h:126
#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 GLAPIENTRY __gl_noBeginData ( GLenum  type,
void polygonData 
)

Definition at line 73 of file tess.c.

◆ __gl_noCombineData()

void GLAPIENTRY __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 GLAPIENTRY __gl_noEdgeFlagData ( GLboolean  boundaryEdge,
void polygonData 
)

Definition at line 75 of file tess.c.

◆ __gl_noEndData()

void GLAPIENTRY __gl_noEndData ( void polygonData)

Definition at line 79 of file tess.c.

◆ __gl_noErrorData()

void GLAPIENTRY __gl_noErrorData ( GLenum  errnum,
void polygonData 
)

Definition at line 80 of file tess.c.

◆ __gl_noVertexData()

void GLAPIENTRY __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 GLAPIENTRY gluBeginPolygon ( GLUtesselator tess)

Definition at line 621 of file tess.c.

◆ gluDeleteTess()

void GLAPIENTRY gluDeleteTess ( GLUtesselator tess)

Definition at line 203 of file tess.c.

◆ gluEndPolygon()

void GLAPIENTRY gluEndPolygon ( GLUtesselator tess)

Definition at line 639 of file tess.c.

◆ gluGetTessProperty()

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

Definition at line 250 of file tess.c.

◆ gluNewTess()

GLUtesselator *GLAPIENTRY gluNewTess ( void  )

Definition at line 102 of file tess.c.

◆ gluNextContour()

void GLAPIENTRY gluNextContour ( GLUtesselator tess,
GLenum  type 
)

Definition at line 630 of file tess.c.

◆ gluTessBeginContour()

void GLAPIENTRY gluTessBeginContour ( GLUtesselator tess)

Definition at line 486 of file tess.c.

◆ gluTessBeginPolygon()

void GLAPIENTRY gluTessBeginPolygon ( GLUtesselator tess,
void data 
)

Definition at line 472 of file tess.c.

◆ gluTessCallback()

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

Definition at line 286 of file tess.c.

◆ gluTessEndContour()

void GLAPIENTRY gluTessEndContour ( GLUtesselator tess)

Definition at line 503 of file tess.c.

◆ gluTessEndPolygon()

void GLAPIENTRY gluTessEndPolygon ( GLUtesselator tess)

Definition at line 510 of file tess.c.

◆ gluTessNormal()

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

Definition at line 278 of file tess.c.

◆ gluTessProperty()

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

Definition at line 211 of file tess.c.

◆ gluTessVertex()

void GLAPIENTRY gluTessVertex ( GLUtesselator tess,
GLdouble  coords[3],
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 GLAPIENTRY noBegin ( GLenum  type)
static

Definition at line 63 of file tess.c.

◆ noCombine()

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

Definition at line 68 of file tess.c.

◆ noEdgeFlag()

static void GLAPIENTRY noEdgeFlag ( GLboolean  boundaryEdge)
static

Definition at line 64 of file tess.c.

◆ noEnd()

static void GLAPIENTRY noEnd ( void  )
static

Definition at line 66 of file tess.c.

◆ noError()

static void GLAPIENTRY noError ( GLenum  errnum)
static

Definition at line 67 of file tess.c.

◆ noMesh()

static void GLAPIENTRY noMesh ( GLUmesh mesh)
static

Definition at line 70 of file tess.c.

◆ noVertex()

static void GLAPIENTRY noVertex ( void data)
static

Definition at line 65 of file tess.c.