![]() |
Prusa Slicer 2.6.0
|
#include "gluos.h"#include <assert.h>#include <stddef.h>#include "mesh.h"#include "tess.h"#include "render.h"
Include dependency graph for render.c:Go to the source code of this file.
Classes | |
| struct | FaceCount |
Macros | |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | Marked(f) (! (f)->inside || (f)->marked) |
| #define | AddToTrail(f, t) ((f)->trail = (t), (t) = (f), (f)->marked = TRUE) |
| #define | FreeTrail(t) |
| #define | IsEven(n) (((n) & 1) == 0) |
| #define | SIGN_INCONSISTENT 2 |
Functions | |
| static struct FaceCount | MaximumFan (GLUhalfEdge *eOrig) |
| static struct FaceCount | MaximumStrip (GLUhalfEdge *eOrig) |
| static void | RenderFan (GLUtesselator *tess, GLUhalfEdge *eStart, long size) |
| static void | RenderStrip (GLUtesselator *tess, GLUhalfEdge *eStart, long size) |
| static void | RenderTriangle (GLUtesselator *tess, GLUhalfEdge *eStart, long size) |
| static void | RenderMaximumFaceGroup (GLUtesselator *tess, GLUface *fOrig) |
| static void | RenderLonelyTriangles (GLUtesselator *tess, GLUface *head) |
| void | __gl_renderMesh (GLUtesselator *tess, GLUmesh *mesh) |
| void | __gl_renderBoundary (GLUtesselator *tess, GLUmesh *mesh) |
| static int | ComputeNormal (GLUtesselator *tess, GLdouble norm[3], int check) |
| GLboolean | __gl_renderCache (GLUtesselator *tess) |
| #define AddToTrail | ( | f, | |
| t | |||
| ) | ((f)->trail = (t), (t) = (f), (f)->marked = TRUE) |
| #define FALSE 0 |
| #define FreeTrail | ( | t | ) |
| #define IsEven | ( | n | ) | (((n) & 1) == 0) |
| #define Marked | ( | f | ) | (! (f)->inside || (f)->marked) |
| #define SIGN_INCONSISTENT 2 |
| #define TRUE 1 |
| void __gl_renderBoundary | ( | GLUtesselator * | tess, |
| GLUmesh * | mesh | ||
| ) |
References GLUface::anEdge, CALL_BEGIN_OR_BEGIN_DATA, CALL_END_OR_END_DATA, CALL_VERTEX_OR_VERTEX_DATA, GLUvertex::data, GLUmesh::fHead, GL_LINE_LOOP, GLUface::inside, GLUhalfEdge::Lnext, GLUface::next, and GLUhalfEdge::Org.
Referenced by gluTessEndPolygon().
Here is the caller graph for this function:| GLboolean __gl_renderCache | ( | GLUtesselator * | tess | ) |
References GLUtesselator::boundaryOnly, GLUtesselator::cache, GLUtesselator::cacheCount, CALL_BEGIN_OR_BEGIN_DATA, CALL_END_OR_END_DATA, CALL_VERTEX_OR_VERTEX_DATA, ComputeNormal(), CachedVertex::data, FALSE, GL_LINE_LOOP, GL_TRIANGLE_FAN, GL_TRIANGLES, GLU_TESS_WINDING_ABS_GEQ_TWO, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_POSITIVE, GLUtesselator::normal, sign(), SIGN_INCONSISTENT, TRUE, and GLUtesselator::windingRule.
Referenced by gluTessEndPolygon().
Here is the call graph for this function:
Here is the caller graph for this function:| void __gl_renderMesh | ( | GLUtesselator * | tess, |
| GLUmesh * | mesh | ||
| ) |
References FALSE, GLUmesh::fHead, GLUface::inside, GLUtesselator::lonelyTriList, GLUface::marked, GLUface::next, RenderLonelyTriangles(), and RenderMaximumFaceGroup().
Referenced by gluTessEndPolygon().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUtesselator::cache, GLUtesselator::cacheCount, CachedVertex::coords, sign(), and SIGN_INCONSISTENT.
Referenced by __gl_renderCache().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References AddToTrail, FaceCount::eStart, FreeTrail, GLUhalfEdge::Lface, Marked, GLUhalfEdge::Onext, RenderFan(), and FaceCount::size.
Referenced by RenderMaximumFaceGroup().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References AddToTrail, FaceCount::eStart, FreeTrail, IsEven, GLUhalfEdge::Lface, Marked, GLUhalfEdge::Onext, RenderStrip(), FaceCount::size, and GLUhalfEdge::Sym.
Referenced by RenderMaximumFaceGroup().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CALL_BEGIN_OR_BEGIN_DATA, CALL_END_OR_END_DATA, CALL_VERTEX_OR_VERTEX_DATA, GLUvertex::data, GL_TRIANGLE_FAN, GLUhalfEdge::Lface, GLUface::marked, Marked, GLUhalfEdge::Onext, GLUhalfEdge::Org, FaceCount::size, and TRUE.
Referenced by MaximumFan().
Here is the caller graph for this function:
|
static |
References GLUface::anEdge, CALL_BEGIN_OR_BEGIN_DATA, CALL_EDGE_FLAG_OR_EDGE_FLAG_DATA, CALL_END_OR_END_DATA, CALL_VERTEX_OR_VERTEX_DATA, GLUvertex::data, GLUtesselator::flagBoundary, GL_TRIANGLES, GLUhalfEdge::Lnext, GLUhalfEdge::Org, and GLUface::trail.
Referenced by __gl_renderMesh().
Here is the caller graph for this function:
|
static |
References GLUface::anEdge, GLUtesselator::flagBoundary, GLUhalfEdge::Lnext, MaximumFan(), MaximumStrip(), RenderTriangle(), and FaceCount::size.
Referenced by __gl_renderMesh().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CALL_BEGIN_OR_BEGIN_DATA, CALL_END_OR_END_DATA, CALL_VERTEX_OR_VERTEX_DATA, GLUvertex::data, GL_TRIANGLE_STRIP, GLUhalfEdge::Lface, GLUface::marked, Marked, GLUhalfEdge::Onext, GLUhalfEdge::Org, FaceCount::size, and TRUE.
Referenced by MaximumStrip().
Here is the caller graph for this function:
|
static |
References AddToTrail, GLUhalfEdge::Lface, GLUtesselator::lonelyTriList, and FaceCount::size.
Referenced by RenderMaximumFaceGroup().
Here is the caller graph for this function: