Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CTesselator.cpp File Reference
#include "CTesselator.hpp"
#include "math/utils.hpp"
#include <GL/gl.h>
#include <GL/glu.h>
#include <algorithm>
Include dependency graph for CTesselator.cpp:

Classes

struct  SPrvBand
 
struct  SPrvTriangulationT
 

Macros

#define PrvNumVertexIntersected   100
 

Functions

static void APIENTRY prvBeginTriangle (GLenum typePrimitive, void *data)
 
static void APIENTRY prvAppendVertex (void *dataPoint, void *data)
 
static void APIENTRY prvEndTriangles (void *data)
 
static void APIENTRY prvCombineTriangle (const GLdouble coords[3], GLdouble *neighborVertex[4], GLfloat neighborWeight[4], GLdouble **dataOut)
 
static void APIENTRY prvErrorTriangle (GLenum typeError)
 
void prvSetupFunction (GLUtesselator *tesselator)
 
static void prvAppendPolygon (GLdouble *polygon, uint64_t numPoints, GLUtesselator *tesselator)
 
static void prvDestroyPoints (GLdouble ***polygons, uint64_t numPolygons)
 
std::vector< SPrvBandprvTesselation (const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > &contour, double tolerance)
 
static void prvAppendVertex (const std::vector< iv::math::geometry::Point3d > &pointsBand, double tolerance, std::vector< iv::math::geometry::Point3d > points, std::vector< uint64_t > &indexVertex)
 
static void prvAppendQuadsAsTriangles (const std::vector< uint64_t > &indexBand, std::vector< uint64_t > indexTriangles)
 
std::vector< iv::math::geometry::Point3dprvCreateNormals (const std::vector< iv::math::geometry::Point3d > &points, double Nx, double Ny, double Nz)
 

Variables

static uint64_t PrvNumIntersection = 0
 
static GLdouble PrvVertexIntersection [PrvNumVertexIntersected][7]
 

Macro Definition Documentation

◆ PrvNumVertexIntersected

#define PrvNumVertexIntersected   100

Function Documentation

◆ prvAppendPolygon()

static void prvAppendPolygon ( GLdouble * polygon,
uint64_t numPoints,
GLUtesselator * tesselator )
static

◆ prvAppendQuadsAsTriangles()

static void prvAppendQuadsAsTriangles ( const std::vector< uint64_t > & indexBand,
std::vector< uint64_t > indexTriangles )
static

◆ prvAppendVertex() [1/2]

static void prvAppendVertex ( const std::vector< iv::math::geometry::Point3d > & pointsBand,
double tolerance,
std::vector< iv::math::geometry::Point3d > points,
std::vector< uint64_t > & indexVertex )
static

◆ prvAppendVertex() [2/2]

static void APIENTRY prvAppendVertex ( void * dataPoint,
void * data )
static

◆ prvBeginTriangle()

static void APIENTRY prvBeginTriangle ( GLenum typePrimitive,
void * data )
static

◆ prvCombineTriangle()

static void APIENTRY prvCombineTriangle ( const GLdouble coords[3],
GLdouble * neighborVertex[4],
GLfloat neighborWeight[4],
GLdouble ** dataOut )
static

◆ prvCreateNormals()

std::vector< iv::math::geometry::Point3d > prvCreateNormals ( const std::vector< iv::math::geometry::Point3d > & points,
double Nx,
double Ny,
double Nz )

◆ prvDestroyPoints()

static void prvDestroyPoints ( GLdouble *** polygons,
uint64_t numPolygons )
static

◆ prvEndTriangles()

static void APIENTRY prvEndTriangles ( void * data)
static

◆ prvErrorTriangle()

static void APIENTRY prvErrorTriangle ( GLenum typeError)
static

◆ prvSetupFunction()

void prvSetupFunction ( GLUtesselator * tesselator)

◆ prvTesselation()

std::vector< SPrvBand > prvTesselation ( const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > & contour,
double tolerance )

Variable Documentation

◆ PrvNumIntersection

uint64_t PrvNumIntersection = 0
static

◆ PrvVertexIntersection

GLdouble PrvVertexIntersection[PrvNumVertexIntersected][7]
static