![]() |
Prusa Slicer 2.6.0
|
#include "gluos.h"#include <assert.h>#include <stddef.h>#include <setjmp.h>#include <limits.h>#include "mesh.h"#include "geom.h"#include "tess.h"#include "dict.h"#include "priorityq.h"#include "memalloc.h"#include "sweep.h"
Include dependency graph for sweep.c:Go to the source code of this file.
Macros | |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | DebugEvent(tess) |
| #define | MAX(x, y) ((x) >= (y) ? (x) : (y)) |
| #define | MIN(x, y) ((x) <= (y) ? (x) : (y)) |
| #define | AddWinding(eDst, eSrc) |
| #define | TOLERANCE_NONZERO FALSE |
| #define | SENTINEL_COORD (4 * GLU_TESS_MAX_COORD) |
| #define AddWinding | ( | eDst, | |
| eSrc | |||
| ) |
| #define DebugEvent | ( | tess | ) |
| #define FALSE 0 |
| #define MAX | ( | x, | |
| y | |||
| ) | ((x) >= (y) ? (x) : (y)) |
| #define MIN | ( | x, | |
| y | |||
| ) | ((x) <= (y) ? (x) : (y)) |
| #define SENTINEL_COORD (4 * GLU_TESS_MAX_COORD) |
| #define TOLERANCE_NONZERO FALSE |
| #define TRUE 1 |
| int __gl_computeInterior | ( | GLUtesselator * | tess | ) |
References __gl_meshCheckMesh(), GLUvertex::anEdge, DebugEvent, GLUtesselator::dict, dictKey, dictMin, DoneEdgeDict(), DonePriorityQ(), GLUtesselator::event, FALSE, GLUtesselator::fatalError, InitEdgeDict(), InitPriorityQ(), GLUtesselator::mesh, GLUtesselator::pq, pqExtractMin, pqMinimum, RemoveDegenerateEdges(), RemoveDegenerateFaces(), SpliceMergeVertices(), SweepEvent(), and VertEq.
Referenced by gluTessEndPolygon().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUhalfEdge::activeRegion, GLUtesselator::dict, dictInsertBefore, ActiveRegion::dirty, GLUtesselator::env, ActiveRegion::eUp, FALSE, ActiveRegion::fixUpperEdge, memAlloc, ActiveRegion::nodeUp, and ActiveRegion::sentinel.
Referenced by AddRightEdges(), and ConnectLeftVertex().
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), __gl_meshSplice(), AddRegionBelow(), AddWinding, CheckForRightSplice(), DeleteRegion(), ActiveRegion::dirty, GLUtesselator::env, ActiveRegion::eUp, FALSE, ActiveRegion::inside, IsWindingInside(), GLUhalfEdge::Onext, GLUhalfEdge::Org, RegionBelow, GLUhalfEdge::Sym, TRUE, VertLeq, WalkDirtyRegions(), GLUhalfEdge::winding, and ActiveRegion::windingNumber.
Referenced by CheckForIntersect(), ConnectLeftDegenerate(), ConnectLeftVertex(), ConnectRightVertex(), and SweepEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshMakeEdge(), GLUtesselator::dict, dictInsert, ActiveRegion::dirty, GLUtesselator::env, ActiveRegion::eUp, GLUtesselator::event, FALSE, ActiveRegion::fixUpperEdge, ActiveRegion::inside, memAlloc, GLUtesselator::mesh, ActiveRegion::nodeUp, GLUhalfEdge::Org, GLUvertex::s, ActiveRegion::sentinel, SENTINEL_COORD, GLUvertex::t, TRUE, and ActiveRegion::windingNumber.
Referenced by InitEdgeDict().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CALL_COMBINE_OR_COMBINE_DATA, CALL_ERROR_OR_ERROR_DATA, GLUvertex::coords, GLUvertex::data, GLUtesselator::fatalError, GLU_TESS_NEED_COMBINE_CALLBACK, and TRUE.
Referenced by GetIntersectData(), and SpliceMergeVertices().
Here is the caller graph for this function:
|
static |
References __gl_edgeIntersect(), __gl_meshSplice(), __gl_meshSplitEdge(), AddRightEdges(), CheckForRightSplice(), DebugEvent, ActiveRegion::dirty, EdgeSign, GLUtesselator::env, ActiveRegion::eUp, GLUtesselator::event, FALSE, FinishLeftRegions(), ActiveRegion::fixUpperEdge, GetIntersectData(), GLUhalfEdge::Lnext, MAX, MIN, GLUhalfEdge::Onext, GLUhalfEdge::Org, GLUtesselator::pq, pqDeletePriorityQ, GLUvertex::pqHandle, pqInsert, RegionAbove, RegionBelow, GLUvertex::s, GLUhalfEdge::Sym, GLUvertex::t, TopLeftRegion(), TopRightRegion(), TRUE, VertEq, VertLeq, and void().
Referenced by ConnectRightVertex(), and WalkDirtyRegions().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshSplice(), __gl_meshSplitEdge(), ActiveRegion::dirty, EdgeSign, GLUtesselator::env, ActiveRegion::eUp, FALSE, GLUface::inside, ActiveRegion::inside, GLUhalfEdge::Lface, GLUhalfEdge::Lnext, GLUhalfEdge::Org, RegionAbove, RegionBelow, GLUhalfEdge::Sym, TRUE, VertEq, and VertLeq.
Referenced by WalkDirtyRegions().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshSplice(), __gl_meshSplitEdge(), ActiveRegion::dirty, EdgeSign, GLUtesselator::env, ActiveRegion::eUp, FALSE, GLUhalfEdge::Org, GLUtesselator::pq, pqDelete, GLUvertex::pqHandle, RegionAbove, RegionBelow, SpliceMergeVertices(), GLUhalfEdge::Sym, TRUE, VertEq, and VertLeq.
Referenced by AddRightEdges(), CheckForIntersect(), and WalkDirtyRegions().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ActiveRegion::eUp, ActiveRegion::inside, IsWindingInside(), RegionAbove, GLUhalfEdge::winding, and ActiveRegion::windingNumber.
Referenced by ConnectLeftVertex().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), __gl_meshSplice(), __gl_meshSplitEdge(), AddRightEdges(), GLUvertex::anEdge, DeleteRegion(), EdgeGoesLeft, GLUtesselator::env, ActiveRegion::eUp, FALSE, ActiveRegion::fixUpperEdge, GLUhalfEdge::Onext, GLUhalfEdge::Org, RegionBelow, SpliceMergeVertices(), SweepEvent(), GLUhalfEdge::Sym, TOLERANCE_NONZERO, TopRightRegion(), TRUE, and VertEq.
Referenced by ConnectLeftVertex().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshConnect(), AddRegionBelow(), AddRightEdges(), GLUvertex::anEdge, ComputeWinding(), ConnectLeftDegenerate(), GLUtesselator::dict, dictKey, dictSearch, EdgeSign, GLUtesselator::env, ActiveRegion::eUp, FixUpperEdge(), ActiveRegion::fixUpperEdge, ActiveRegion::inside, GLUhalfEdge::Lnext, GLUhalfEdge::Org, RegionBelow, SweepEvent(), GLUhalfEdge::Sym, TRUE, and VertLeq.
Referenced by SweepEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshConnect(), __gl_meshSplice(), GLUhalfEdge::activeRegion, AddRightEdges(), CheckForIntersect(), GLUtesselator::env, ActiveRegion::eUp, GLUtesselator::event, FALSE, FinishLeftRegions(), ActiveRegion::fixUpperEdge, GLUhalfEdge::Onext, GLUhalfEdge::Org, RegionBelow, GLUhalfEdge::Sym, TopLeftRegion(), TRUE, VertEq, VertLeq, void(), and WalkDirtyRegions().
Referenced by SweepEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUhalfEdge::activeRegion, GLUtesselator::dict, dictDelete, ActiveRegion::eUp, ActiveRegion::fixUpperEdge, memFree, ActiveRegion::nodeUp, and GLUhalfEdge::winding.
Referenced by AddRightEdges(), ConnectLeftDegenerate(), DoneEdgeDict(), FinishRegion(), and WalkDirtyRegions().
Here is the caller graph for this function:
|
static |
References DeleteRegion(), GLUtesselator::dict, dictDeleteDict, dictKey, dictMin, ActiveRegion::fixUpperEdge, ActiveRegion::sentinel, and ActiveRegion::windingNumber.
Referenced by __gl_computeInterior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUtesselator::pq, and pqDeletePriorityQ.
Referenced by __gl_computeInterior().
Here is the caller graph for this function:
|
static |
References EdgeEval, EdgeSign, ActiveRegion::eUp, GLUtesselator::event, GLUhalfEdge::Org, and VertLeq.
Referenced by InitEdgeDict().
Here is the caller graph for this function:
|
static |
References __gl_meshConnect(), __gl_meshSplice(), GLUtesselator::env, ActiveRegion::eUp, FALSE, FinishRegion(), FixUpperEdge(), ActiveRegion::fixUpperEdge, GLUhalfEdge::Onext, GLUhalfEdge::Org, RegionBelow, and GLUhalfEdge::Sym.
Referenced by CheckForIntersect(), ConnectRightVertex(), and SweepEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUface::anEdge, DeleteRegion(), ActiveRegion::eUp, GLUface::inside, ActiveRegion::inside, and GLUhalfEdge::Lface.
Referenced by FinishLeftRegions().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), GLUhalfEdge::activeRegion, ActiveRegion::eUp, FALSE, and ActiveRegion::fixUpperEdge.
Referenced by ConnectLeftVertex(), FinishLeftRegions(), and TopLeftRegion().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References CallCombine(), GLUvertex::coords, GLUvertex::data, TRUE, and VertexWeights().
Referenced by CheckForIntersect().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References AddSentinel(), GLUtesselator::dict, dictNewDict, EdgeLeq(), GLUtesselator::env, and SENTINEL_COORD.
Referenced by __gl_computeInterior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_vertLeq(), GLUtesselator::mesh, GLUvertex::next, GLUtesselator::pq, pqDeletePriorityQ, GLUvertex::pqHandle, pqInit, pqInsert, pqNewPriorityQ, and GLUmesh::vHead.
Referenced by __gl_computeInterior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References FALSE, GL_FALSE, GLU_TESS_WINDING_ABS_GEQ_TWO, GLU_TESS_WINDING_NEGATIVE, GLU_TESS_WINDING_NONZERO, GLU_TESS_WINDING_ODD, GLU_TESS_WINDING_POSITIVE, and GLUtesselator::windingRule.
Referenced by AddRightEdges(), and ComputeWinding().
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), GLUmesh::eHead, GLUtesselator::env, GLUhalfEdge::Lnext, GLUtesselator::mesh, GLUhalfEdge::next, GLUhalfEdge::Org, SpliceMergeVertices(), GLUhalfEdge::Sym, and VertEq.
Referenced by __gl_computeInterior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), AddWinding, GLUface::anEdge, GLUmesh::fHead, GLUhalfEdge::Lnext, GLUface::next, and GLUhalfEdge::Onext.
Referenced by __gl_computeInterior().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshSplice(), CallCombine(), GLUvertex::data, GLUtesselator::env, FALSE, and GLUhalfEdge::Org.
Referenced by __gl_computeInterior(), CheckForRightSplice(), ConnectLeftDegenerate(), and RemoveDegenerateEdges().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References GLUhalfEdge::activeRegion, AddRightEdges(), GLUvertex::anEdge, ConnectLeftVertex(), ConnectRightVertex(), DebugEvent, GLUtesselator::env, ActiveRegion::eUp, GLUtesselator::event, FinishLeftRegions(), GLUhalfEdge::Onext, RegionBelow, TopLeftRegion(), and TRUE.
Referenced by __gl_computeInterior(), ConnectLeftDegenerate(), and ConnectLeftVertex().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References __gl_meshConnect(), ActiveRegion::eUp, FixUpperEdge(), ActiveRegion::fixUpperEdge, GLUhalfEdge::Lnext, GLUhalfEdge::Org, RegionAbove, and RegionBelow.
Referenced by CheckForIntersect(), ConnectRightVertex(), and SweepEvent().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
References ActiveRegion::eUp, and RegionAbove.
Referenced by CheckForIntersect(), and ConnectLeftDegenerate().
Here is the caller graph for this function:
|
static |
References GLUvertex::coords, and VertL1dist.
Referenced by GetIntersectData().
Here is the caller graph for this function:
|
static |
References __gl_meshDelete(), AddWinding, CheckForIntersect(), CheckForLeftSplice(), CheckForRightSplice(), DeleteRegion(), ActiveRegion::dirty, GLUtesselator::env, ActiveRegion::eUp, GLUtesselator::event, FALSE, ActiveRegion::fixUpperEdge, GLUhalfEdge::Org, RegionAbove, RegionBelow, and void().
Referenced by AddRightEdges(), and ConnectRightVertex().
Here is the call graph for this function:
Here is the caller graph for this function: