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,
s )   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.