![]() |
Prusa Slicer 2.6.0
|
#include <src/clipper/clipper.hpp>
Inheritance diagram for ClipperLib::Clipper:
Collaboration diagram for ClipperLib::Clipper:Public Member Functions | |
| Clipper (int initOptions=0) | |
| ~Clipper () | |
| void | Clear () |
| bool | Execute (ClipType clipType, Paths &solution, PolyFillType fillType=pftEvenOdd) |
| bool | Execute (ClipType clipType, Paths &solution, PolyFillType subjFillType, PolyFillType clipFillType) |
| bool | Execute (ClipType clipType, PolyTree &polytree, PolyFillType fillType=pftEvenOdd) |
| bool | Execute (ClipType clipType, PolyTree &polytree, PolyFillType subjFillType, PolyFillType clipFillType) |
| bool | ReverseSolution () const |
| void | ReverseSolution (bool value) |
| bool | StrictlySimple () const |
| void | StrictlySimple (bool value) |
| bool | AddPath (const Path &pg, PolyType PolyTyp, bool Closed) |
| template<typename PathsProvider > | |
| bool | AddPaths (PathsProvider &&paths_provider, PolyType PolyTyp, bool Closed) |
| IntRect | GetBounds () |
| bool | PreserveCollinear () const |
| void | PreserveCollinear (bool value) |
Protected Types | |
| using | Edges = std::vector< TEdge, Allocator< TEdge > > |
Protected Member Functions | |
| void | Reset () |
| virtual bool | ExecuteInternal () |
| bool | AddPathInternal (const Path &pg, int highI, PolyType PolyTyp, bool Closed, TEdge *edges) |
| TEdge * | AddBoundsToLML (TEdge *e, bool IsClosed) |
| TEdge * | ProcessBound (TEdge *E, bool IsClockwise) |
| TEdge * | DescendToMin (TEdge *&E) |
| void | AscendToMax (TEdge *&E, bool Appending, bool IsClosed) |
Protected Attributes | |
| std::vector< LocalMinimum, Allocator< LocalMinimum > > | m_MinimaList |
| std::vector< Edges, Allocator< Edges > > | m_edges |
| bool | m_PreserveCollinear |
| bool | m_HasOpenPaths |
Static Protected Attributes | |
| static constexpr const bool | m_UseFullRange = false |
Private Types | |
| using | cInts = std::vector< cInt, Allocator< cInt > > |
Private Attributes | |
| std::deque< OutRec, Allocator< OutRec > > | m_PolyOuts |
| std::deque< std::array< OutPt, m_OutPtsChunkSize >, Allocator< std::array< OutPt, m_OutPtsChunkSize > > > | m_OutPts |
| OutPt * | m_OutPtsFree |
| size_t | m_OutPtsChunkLast |
| std::vector< Join, Allocator< Join > > | m_Joins |
| std::vector< Join, Allocator< Join > > | m_GhostJoins |
| std::vector< IntersectNode, Allocator< IntersectNode > > | m_IntersectList |
| ClipType | m_ClipType |
| std::priority_queue< cInt, cInts > | m_Scanbeam |
| cInts | m_Maxima |
| TEdge * | m_ActiveEdges |
| TEdge * | m_SortedEdges |
| PolyFillType | m_ClipFillType |
| PolyFillType | m_SubjFillType |
| bool | m_ReverseOutput |
| bool | m_UsingPolyTree |
| bool | m_StrictSimple |
Static Private Attributes | |
| static constexpr const size_t | m_OutPtsChunkSize = 32 |
|
private |
|
protectedinherited |
| ClipperLib::Clipper::Clipper | ( | int | initOptions = 0 | ) |
References ClipperLib::ioPreserveCollinear, ClipperLib::ioReverseSolution, ClipperLib::ioStrictlySimple, ClipperLib::ClipperBase::m_HasOpenPaths, ClipperLib::ClipperBase::m_PreserveCollinear, m_ReverseOutput, and m_StrictSimple.
|
inline |
References m_SortedEdges, ClipperLib::TEdge::NextInSEL, and ClipperLib::TEdge::PrevInSEL.
Referenced by InsertLocalMinimaIntoAEL(), and ProcessEdgesAtTopOfScanbeam().
Here is the caller graph for this function:References AddOutPt(), AppendPolygon(), ClipperLib::TEdge::OutIdx, ClipperLib::Unassigned, and ClipperLib::TEdge::WindDelta.
Referenced by DoMaxima(), IntersectEdges(), and ProcessHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References AddOutPt(), ClipperLib::TEdge::Dx, ClipperLib::esLeft, ClipperLib::esRight, ClipperLib::IsHorizontal(), m_Joins, ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, ClipperLib::TEdge::Side, ClipperLib::SlopesEqual(), ClipperLib::TEdge::Top, ClipperLib::TopX(), and ClipperLib::TEdge::WindDelta.
Referenced by InsertLocalMinimaIntoAEL(), and IntersectEdges().
Here is the call graph for this function:
Here is the caller graph for this function:References AllocateOutPt(), CreateOutRec(), ClipperLib::esLeft, ClipperLib::OutPt::Idx, ClipperLib::OutRec::Idx, ClipperLib::OutRec::IsOpen, m_PolyOuts, ClipperLib::OutPt::Next, ClipperLib::TEdge::OutIdx, ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, ClipperLib::OutRec::Pts, SetHoleState(), ClipperLib::TEdge::Side, and ClipperLib::TEdge::WindDelta.
Referenced by AddLocalMaxPoly(), AddLocalMinPoly(), DoMaxima(), InsertLocalMinimaIntoAEL(), IntersectEdges(), ProcessEdgesAtTopOfScanbeam(), and ProcessHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:Referenced by ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), Slic3r::fix_after_inner_offset(), Slic3r::fix_after_outer_offset(), and Slic3r::shrink_paths().
Here is the caller graph for this function:
|
protectedinherited |
References ClipperLib::TEdge::Curr, ClipperLib::esLeft, ClipperLib::esRight, ClipperLib::FindNextLocMin(), ClipperLib::InitEdge(), ClipperLib::InitEdge2(), ClipperLib::LocalMinimum::LeftBound, ClipperLib::TEdge::Next, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::Prev, ClipperLib::Pt2IsBetweenPt1AndPt3(), ClipperLib::ptClip, ClipperLib::RangeTest(), ClipperLib::RemoveEdge(), ClipperLib::ReverseHorizontal(), ClipperLib::LocalMinimum::RightBound, ClipperLib::TEdge::Side, ClipperLib::Skip, ClipperLib::SlopesEqual(), ClipperLib::TEdge::WindDelta, and ClipperLib::LocalMinimum::Y.
Here is the call graph for this function:
|
inlineinherited |
Referenced by Slic3r::_clipper_pl_open(), Slic3r::clipper_do(), Slic3r::clipper_union(), ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), Slic3r::expolygons_to_zpaths_shrunk(), Slic3r::shrink_paths(), Slic3r::top_level_islands(), Slic3r::variable_offset_inner(), Slic3r::variable_offset_inner_ex(), Slic3r::variable_offset_outer(), Slic3r::variable_offset_outer_ex(), and Slic3r::Algorithm::wavefront_clip().
Here is the caller graph for this function:
|
private |
References m_OutPts, m_OutPtsChunkLast, m_OutPtsChunkSize, m_OutPtsFree, and ClipperLib::OutPt::Next.
Referenced by AddOutPt(), and DupOutPt().
Here is the caller graph for this function:References ClipperLib::OutRec::BottomPt, ClipperLib::esLeft, ClipperLib::esRight, ClipperLib::OutRec::FirstLeft, ClipperLib::GetLowermostRec(), ClipperLib::OutRec::Idx, ClipperLib::OutRec::IsHole, m_ActiveEdges, m_PolyOuts, ClipperLib::OutPt::Next, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::OutIdx, ClipperLib::Param1RightOfParam2(), ClipperLib::OutPt::Prev, ClipperLib::OutRec::Pts, ClipperLib::ReversePolyPtLinks(), ClipperLib::TEdge::Side, and ClipperLib::Unassigned.
Referenced by AddLocalMaxPoly().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedinherited |
References ClipperLib::TEdge::Curr, ClipperLib::IntersectPoint(), m_ActiveEdges, m_IntersectList, m_SortedEdges, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInSEL, ClipperLib::TEdge::PrevInAEL, ClipperLib::TEdge::PrevInSEL, SwapPositionsInSEL(), and ClipperLib::TopX().
Referenced by ProcessIntersections().
Here is the call graph for this function:
Here is the caller graph for this function:References m_PolyOuts, ClipperLib::PointCount(), ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Referenced by Execute().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::PolyNode::AddChild(), ClipperLib::PolyTree::AllNodes, ClipperLib::PolyNode::Childs, ClipperLib::PolyTree::Clear(), ClipperLib::PolyNode::Contour, ClipperLib::OutRec::FirstLeft, ClipperLib::PolyNode::Index, ClipperLib::OutRec::IsHole, m_PolyOuts, ClipperLib::PolyNode::Parent, ClipperLib::PointCount(), ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, and ClipperLib::OutRec::Pts.
Referenced by Execute().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Referenced by Slic3r::expolygons_to_zpaths_shrunk(), Slic3r::top_level_islands(), Slic3r::variable_offset_inner(), and Slic3r::variable_offset_outer().
Here is the caller graph for this function:
|
private |
References m_ActiveEdges, m_SortedEdges, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInSEL, ClipperLib::TEdge::PrevInAEL, and ClipperLib::TEdge::PrevInSEL.
Referenced by FixupIntersectionOrder().
Here is the caller graph for this function:
|
private |
References ClipperLib::OutRec::BottomPt, ClipperLib::OutRec::FirstLeft, ClipperLib::OutRec::Idx, ClipperLib::OutRec::IsHole, ClipperLib::OutRec::IsOpen, m_PolyOuts, ClipperLib::OutRec::PolyNd, and ClipperLib::OutRec::Pts.
Referenced by AddOutPt(), DoSimplePolygons(), and JoinCommonEdges().
Here is the caller graph for this function:References m_ActiveEdges, ClipperLib::TEdge::NextInAEL, and ClipperLib::TEdge::PrevInAEL.
Referenced by DoMaxima(), and ProcessHorizontal().
Here is the caller graph for this function:References m_SortedEdges, ClipperLib::TEdge::NextInSEL, and ClipperLib::TEdge::PrevInSEL.
Referenced by ProcessHorizontals().
Here is the caller graph for this function:
|
private |
References m_OutPts, m_OutPtsChunkLast, m_OutPtsChunkSize, m_OutPtsFree, and m_PolyOuts.
Referenced by Execute(), and Execute().
Here is the caller graph for this function:References ClipperLib::OutPt::Next.
Referenced by FixupOutPolygon(), and FixupOutPolyline().
Here is the caller graph for this function:References ClipperLib::OutPt::Next, and ClipperLib::OutPt::Prev.
Referenced by FixupOutPolygon(), and FixupOutPolyline().
Here is the caller graph for this function:References AddLocalMaxPoly(), AddOutPt(), DeleteFromAEL(), ClipperLib::GetMaximaPair(), IntersectEdges(), ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::OutIdx, SwapPositionsInAEL(), ClipperLib::TEdge::Top, ClipperLib::Unassigned, and ClipperLib::TEdge::WindDelta.
Referenced by ProcessEdgesAtTopOfScanbeam().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References CreateOutRec(), ClipperLib::OutRec::FirstLeft, FixupFirstLefts1(), FixupFirstLefts2(), ClipperLib::OutRec::IsHole, ClipperLib::OutRec::IsOpen, m_PolyOuts, m_UsingPolyTree, ClipperLib::OutPt::Next, ClipperLib::Poly2ContainsPoly1(), ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, ClipperLib::OutRec::Pts, and ClipperLib::UpdateOutPtIdxs().
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:References AllocateOutPt(), ClipperLib::OutPt::Idx, ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Referenced by JoinHorz(), and JoinPoints().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Referenced by Slic3r::_clipper_pl_open(), Slic3r::clipper_do(), Slic3r::clipper_union(), ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), Slic3r::expolygons_to_zpaths_shrunk(), Slic3r::fix_after_inner_offset(), Slic3r::fix_after_outer_offset(), Slic3r::shrink_paths(), Slic3r::top_level_islands(), Slic3r::variable_offset_inner(), Slic3r::variable_offset_inner_ex(), Slic3r::variable_offset_outer(), Slic3r::variable_offset_outer_ex(), and Slic3r::Algorithm::wavefront_clip().
Here is the caller graph for this function:| bool ClipperLib::Clipper::Execute | ( | ClipType | clipType, |
| Paths & | solution, | ||
| PolyFillType | subjFillType, | ||
| PolyFillType | clipFillType | ||
| ) |
References BuildResult(), DisposeAllOutRecs(), ExecuteInternal(), m_ClipFillType, m_ClipType, ClipperLib::ClipperBase::m_HasOpenPaths, m_SubjFillType, and m_UsingPolyTree.
Here is the call graph for this function:
|
inline |
| bool ClipperLib::Clipper::Execute | ( | ClipType | clipType, |
| PolyTree & | polytree, | ||
| PolyFillType | subjFillType, | ||
| PolyFillType | clipFillType | ||
| ) |
References BuildResult2(), DisposeAllOutRecs(), ExecuteInternal(), m_ClipFillType, m_ClipType, m_SubjFillType, and m_UsingPolyTree.
Here is the call graph for this function:
|
protectedvirtual |
References ClipperLib::Area(), DoSimplePolygons(), FixupOutPolygon(), FixupOutPolyline(), InsertLocalMinimaIntoAEL(), JoinCommonEdges(), m_GhostJoins, m_Joins, ClipperLib::ClipperBase::m_MinimaList, m_PolyOuts, m_ReverseOutput, m_Scanbeam, m_StrictSimple, ProcessEdgesAtTopOfScanbeam(), ProcessHorizontals(), ProcessIntersections(), Reset(), and ClipperLib::ReversePolyPtLinks().
Referenced by Execute(), and Execute().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::OutRec::FirstLeft, m_PolyOuts, ClipperLib::Poly2ContainsPoly1(), and ClipperLib::OutRec::Pts.
Referenced by DoSimplePolygons(), and JoinCommonEdges().
Here is the call graph for this function:
Here is the caller graph for this function:References m_PolyOuts.
Referenced by DoSimplePolygons(), and JoinCommonEdges().
Here is the caller graph for this function:
|
private |
References CopyAELToSEL(), ClipperLib::EdgesAdjacent(), m_IntersectList, and SwapPositionsInSEL().
Referenced by ProcessIntersections().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::OutRec::BottomPt, DisposeOutPt(), DisposeOutPts(), ClipperLib::ClipperBase::m_PreserveCollinear, m_StrictSimple, ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, ClipperLib::Pt2IsBetweenPt1AndPt3(), ClipperLib::OutRec::Pts, and ClipperLib::SlopesEqual().
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:References DisposeOutPt(), DisposeOutPts(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, and ClipperLib::OutRec::Pts.
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inherited |
References ClipperLib::TEdge::Bot, ClipperLib::IntRect::bottom, ClipperLib::IntRect::left, ClipperLib::TEdge::NextInLML, ClipperLib::IntRect::right, ClipperLib::IntRect::top, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), Slic3r::fix_after_inner_offset(), and Slic3r::shrink_paths().
Here is the caller graph for this function:References ClipperLib::esLeft, m_PolyOuts, ClipperLib::TEdge::OutIdx, ClipperLib::OutPt::Prev, ClipperLib::OutRec::Pts, and ClipperLib::TEdge::Side.
Referenced by ProcessHorizontal().
Here is the caller graph for this function:
|
private |
References ClipperLib::OutRec::Idx, and m_PolyOuts.
Referenced by JoinCommonEdges().
Here is the caller graph for this function:References ClipperLib::E2InsertsBeforeE1(), m_ActiveEdges, ClipperLib::TEdge::NextInAEL, and ClipperLib::TEdge::PrevInAEL.
Referenced by InsertLocalMinimaIntoAEL().
Here is the call graph for this function:
Here is the caller graph for this function:References AddEdgeToSEL(), AddLocalMinPoly(), AddOutPt(), ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, ClipperLib::HorzSegmentsOverlap(), InsertEdgeIntoAEL(), IntersectEdges(), IsContributing(), ClipperLib::IsHorizontal(), m_GhostJoins, m_Joins, ClipperLib::ClipperBase::m_MinimaList, m_Scanbeam, ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, SetWindingCount(), ClipperLib::SlopesEqual(), ClipperLib::TEdge::Top, ClipperLib::TEdge::WindCnt, ClipperLib::TEdge::WindCnt2, and ClipperLib::TEdge::WindDelta.
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:References AddLocalMaxPoly(), AddLocalMinPoly(), AddOutPt(), ClipperLib::ctDifference, ClipperLib::ctIntersection, ClipperLib::ctUnion, ClipperLib::ctXor, IsEvenOddFillType(), m_ClipFillType, m_ClipType, m_SubjFillType, ClipperLib::TEdge::OutIdx, ClipperLib::pftNegative, ClipperLib::pftPositive, ClipperLib::TEdge::PolyTyp, ClipperLib::ptClip, ClipperLib::ptSubject, ClipperLib::TEdge::Side, ClipperLib::Unassigned, ClipperLib::TEdge::WindCnt, ClipperLib::TEdge::WindCnt2, and ClipperLib::TEdge::WindDelta.
Referenced by DoMaxima(), InsertLocalMinimaIntoAEL(), ProcessHorizontal(), and ProcessIntersections().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::ctDifference, ClipperLib::ctIntersection, ClipperLib::ctUnion, ClipperLib::ctXor, m_ClipFillType, m_ClipType, m_SubjFillType, ClipperLib::pftEvenOdd, ClipperLib::pftNonZero, ClipperLib::pftPositive, ClipperLib::TEdge::PolyTyp, ClipperLib::ptSubject, ClipperLib::TEdge::WindCnt, ClipperLib::TEdge::WindCnt2, and ClipperLib::TEdge::WindDelta.
Referenced by InsertLocalMinimaIntoAEL().
Here is the caller graph for this function:References ClipperLib::pftEvenOdd, ClipperLib::TEdge::PolyTyp, and ClipperLib::ptSubject.
Referenced by SetWindingCount().
Here is the caller graph for this function:References ClipperLib::pftEvenOdd, ClipperLib::TEdge::PolyTyp, and ClipperLib::ptSubject.
Referenced by IntersectEdges(), and SetWindingCount().
Here is the caller graph for this function:
|
private |
References ClipperLib::Area(), ClipperLib::OutRec::BottomPt, CreateOutRec(), ClipperLib::OutRec::FirstLeft, FixupFirstLefts1(), FixupFirstLefts2(), ClipperLib::GetLowermostRec(), GetOutRec(), ClipperLib::OutRec::Idx, ClipperLib::OutRec::IsHole, ClipperLib::OutRec::IsOpen, JoinPoints(), m_Joins, m_PolyOuts, m_ReverseOutput, m_UsingPolyTree, ClipperLib::Param1RightOfParam2(), ClipperLib::Poly2ContainsPoly1(), ClipperLib::OutRec::Pts, ClipperLib::ReversePolyPtLinks(), and ClipperLib::UpdateOutPtIdxs().
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References ClipperLib::dLeftToRight, ClipperLib::dRightToLeft, DupOutPt(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Referenced by JoinPoints().
Here is the call graph for this function:
Here is the caller graph for this function:References DupOutPt(), ClipperLib::GetOverlap(), JoinHorz(), ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::OutPt::Next, ClipperLib::Join::OffPt, ClipperLib::Join::OutPt1, ClipperLib::Join::OutPt2, ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, and ClipperLib::SlopesEqual().
Referenced by JoinCommonEdges().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineinherited |
|
inlineinherited |
References ClipperLib::TEdge::Bot, ClipperLib::IsHorizontal(), ClipperLib::LocalMinimum::LeftBound, ClipperLib::TEdge::Next, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::Prev, ClipperLib::ReverseHorizontal(), ClipperLib::LocalMinimum::RightBound, ClipperLib::Skip, ClipperLib::TEdge::Top, and ClipperLib::LocalMinimum::Y.
Here is the call graph for this function:References AddEdgeToSEL(), AddOutPt(), ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, DoMaxima(), ClipperLib::GetMaximaPair(), ClipperLib::IsHorizontal(), ClipperLib::IsIntermediate(), ClipperLib::IsMaxima(), m_ActiveEdges, m_Joins, m_Maxima, m_StrictSimple, ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInLML, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, ProcessHorizontals(), ClipperLib::SlopesEqual(), ClipperLib::TEdge::Top, ClipperLib::TopX(), UpdateEdgeIntoAEL(), and ClipperLib::TEdge::WindDelta.
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:References AddLocalMaxPoly(), AddOutPt(), ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, DeleteFromAEL(), ClipperLib::dLeftToRight, ClipperLib::dRightToLeft, ClipperLib::TEdge::Dx, ClipperLib::GetHorzDirection(), GetLastOutPt(), ClipperLib::GetMaximaPair(), ClipperLib::HorzSegmentsOverlap(), IntersectEdges(), ClipperLib::IntPoint2d(), ClipperLib::IsHorizontal(), m_GhostJoins, m_Joins, m_Maxima, m_PolyOuts, m_SortedEdges, ClipperLib::ClipperBase::m_UseFullRange, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInLML, ClipperLib::TEdge::NextInSEL, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, ClipperLib::SlopesEqual(), SwapPositionsInAEL(), ClipperLib::TEdge::Top, UpdateEdgeIntoAEL(), and ClipperLib::TEdge::WindDelta.
Referenced by ProcessHorizontals().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
References DeleteFromSEL(), m_SortedEdges, and ProcessHorizontal().
Referenced by ExecuteInternal(), and ProcessEdgesAtTopOfScanbeam().
Here is the call graph for this function:
Here is the caller graph for this function:References BuildIntersectList(), FixupIntersectionOrder(), IntersectEdges(), m_ActiveEdges, m_IntersectList, m_SortedEdges, and SwapPositionsInAEL().
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
References m_ActiveEdges, m_Maxima, ClipperLib::ClipperBase::m_MinimaList, m_Scanbeam, m_SortedEdges, and ClipperLib::ClipperBase::Reset().
Referenced by ExecuteInternal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Referenced by ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), Slic3r::fix_after_inner_offset(), Slic3r::fix_after_outer_offset(), and Slic3r::shrink_paths().
Here is the caller graph for this function:
|
inline |
References ClipperLib::OutRec::FirstLeft, ClipperLib::OutRec::IsHole, m_PolyOuts, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, and ClipperLib::TEdge::WindDelta.
Referenced by AddOutPt().
Here is the caller graph for this function:References ClipperLib::ctUnion, IsEvenOddAltFillType(), IsEvenOddFillType(), m_ActiveEdges, m_ClipType, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::PolyTyp, ClipperLib::TEdge::PrevInAEL, ClipperLib::TEdge::WindCnt, ClipperLib::TEdge::WindCnt2, and ClipperLib::TEdge::WindDelta.
Referenced by InsertLocalMinimaIntoAEL().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
inline |
References m_ActiveEdges, ClipperLib::TEdge::NextInAEL, and ClipperLib::TEdge::PrevInAEL.
Referenced by DoMaxima(), ProcessHorizontal(), and ProcessIntersections().
Here is the caller graph for this function:References m_SortedEdges, ClipperLib::TEdge::NextInSEL, and ClipperLib::TEdge::PrevInSEL.
Referenced by BuildIntersectList(), and FixupIntersectionOrder().
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, ClipperLib::IsHorizontal(), m_ActiveEdges, m_Scanbeam, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInLML, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::PrevInAEL, ClipperLib::TEdge::Side, ClipperLib::TEdge::Top, ClipperLib::TEdge::WindCnt, ClipperLib::TEdge::WindCnt2, and ClipperLib::TEdge::WindDelta.
Referenced by ProcessEdgesAtTopOfScanbeam(), and ProcessHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
private |
Referenced by Execute(), Execute(), IntersectEdges(), and IsContributing().
|
private |
Referenced by Execute(), Execute(), IntersectEdges(), IsContributing(), and SetWindingCount().
Referenced by ExecuteInternal(), InsertLocalMinimaIntoAEL(), and ProcessHorizontal().
|
protectedinherited |
|
private |
Referenced by BuildIntersectList(), FixupIntersectionOrder(), and ProcessIntersections().
|
private |
Referenced by ProcessEdgesAtTopOfScanbeam(), ProcessHorizontal(), and Reset().
|
protectedinherited |
Referenced by ExecuteInternal(), InsertLocalMinimaIntoAEL(), and Reset().
|
private |
Referenced by AllocateOutPt(), and DisposeAllOutRecs().
|
private |
Referenced by AllocateOutPt(), and DisposeAllOutRecs().
|
staticconstexprprivate |
Referenced by AllocateOutPt(), and DisposeAllOutRecs().
|
private |
Referenced by AllocateOutPt(), and DisposeAllOutRecs().
|
protectedinherited |
Referenced by Clipper(), and FixupOutPolygon().
|
private |
Referenced by Clipper(), ExecuteInternal(), and JoinCommonEdges().
Referenced by ExecuteInternal(), InsertLocalMinimaIntoAEL(), Reset(), and UpdateEdgeIntoAEL().
|
private |
|
private |
Referenced by Clipper(), ExecuteInternal(), FixupOutPolygon(), and ProcessEdgesAtTopOfScanbeam().
|
private |
Referenced by Execute(), Execute(), IntersectEdges(), and IsContributing().
|
staticconstexprprotectedinherited |
|
private |
Referenced by DoSimplePolygons(), Execute(), Execute(), and JoinCommonEdges().