![]() |
Prusa Slicer 2.6.0
|
Classes | |
| class | Clipper |
| class | ClipperBase |
| class | clipperException |
| class | ClipperOffset |
| struct | IntersectNode |
| struct | IntRect |
| struct | Join |
| struct | LocalMinimum |
| struct | OutPt |
| struct | OutRec |
| class | PolyNode |
| class | PolyTree |
| struct | TEdge |
Typedefs | |
| using | cInt = int32_t |
| using | CrossProductType = int64_t |
| using | IntPoint = Eigen::Matrix< cInt, 2, 1, Eigen::DontAlign > |
| using | DoublePoint = Eigen::Matrix< double, 2, 1, Eigen::DontAlign > |
| template<typename BaseType > | |
| using | Allocator = tbb::scalable_allocator< BaseType > |
| using | Path = std::vector< IntPoint, Allocator< IntPoint > > |
| using | Paths = std::vector< Path, Allocator< Path > > |
| typedef std::vector< PolyNode *, Allocator< PolyNode * > > | PolyNodes |
| using | OutPts = std::vector< OutPt, Allocator< OutPt > > |
Enumerations | |
| enum | Direction { dRightToLeft , dLeftToRight } |
| enum | NodeType { ntAny , ntOpen , ntClosed } |
| enum | ClipType { ctIntersection , ctUnion , ctDifference , ctXor } |
| enum | PolyType { ptSubject , ptClip } |
| enum | PolyFillType { pftEvenOdd , pftNonZero , pftPositive , pftNegative } |
| enum | InitOptions { ioReverseSolution = 1 , ioStrictlySimple = 2 , ioPreserveCollinear = 4 } |
| enum | JoinType { jtSquare , jtRound , jtMiter } |
| enum | EndType { etClosedPolygon , etClosedLine , etOpenButt , etOpenSquare , etOpenRound } |
| enum | EdgeSide { esLeft = 1 , esRight = 2 } |
Variables | |
| static double const | pi = 3.141592653589793238 |
| static double const | two_pi = pi *2 |
| static double const | def_arc_tolerance = 0.25 |
| static int const | Unassigned = -1 |
| static int const | Skip = -2 |
| struct ClipperLib::LocalMinimum |
| struct ClipperLib::OutPt |
| struct ClipperLib::OutRec |
| struct ClipperLib::TEdge |
Collaboration diagram for ClipperLib::TEdge:| Class Members | ||
|---|---|---|
| IntPoint | Bot | |
| IntPoint | Curr | |
| IntPoint | Delta | |
| double | Dx | |
| TEdge * | Next | |
| TEdge * | NextInAEL | |
| TEdge * | NextInLML | |
| TEdge * | NextInSEL | |
| int | OutIdx | |
| PolyType | PolyTyp | |
| TEdge * | Prev | |
| TEdge * | PrevInAEL | |
| TEdge * | PrevInSEL | |
| EdgeSide | Side | |
| IntPoint | Top | |
| int | WindCnt | |
| int | WindCnt2 | |
| int | WindDelta | |
| using ClipperLib::Allocator = typedef tbb::scalable_allocator<BaseType> |
| using ClipperLib::cInt = typedef int32_t |
| using ClipperLib::CrossProductType = typedef int64_t |
| using ClipperLib::DoublePoint = typedef Eigen::Matrix<double, 2, 1, Eigen::DontAlign> |
| using ClipperLib::IntPoint = typedef Eigen::Matrix<cInt, 2 , 1, Eigen::DontAlign> |
| using ClipperLib::OutPts = typedef std::vector<OutPt, Allocator<OutPt> > |
| using ClipperLib::Path = typedef std::vector<IntPoint, Allocator<IntPoint> > |
| using ClipperLib::Paths = typedef std::vector<Path, Allocator<Path> > |
| typedef std::vector<PolyNode*, Allocator<PolyNode*> > ClipperLib::PolyNodes |
| enum ClipperLib::ClipType |
| enum ClipperLib::EdgeSide |
| enum ClipperLib::EndType |
| enum ClipperLib::JoinType |
| enum ClipperLib::NodeType |
| enum ClipperLib::PolyType |
References AddPolyNodeToPaths(), ClipperLib::PolyNode::ChildCount(), ClipperLib::PolyNode::Childs, ClipperLib::PolyNode::Contour, ClipperLib::PolyNode::IsOpen(), ntClosed, and ntOpen.
Referenced by AddPolyNodeToPaths(), AddPolyNodeToPaths(), ClosedPathsFromPolyTree(), PolyTreeToPaths(), and PolyTreeToPaths().
Here is the call graph for this function:
Here is the caller graph for this function:References AddPolyNodeToPaths(), ntClosed, and ntOpen.
Here is the call graph for this function:References Area(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Here is the call graph for this function:References Area().
Referenced by Area(), Area(), Area(), ClipperLib::Clipper::ExecuteInternal(), Slic3r::expolygons_to_zpaths_shrunk(), FirstIsBottomPt(), ClipperLib::Clipper::JoinCommonEdges(), Orientation(), Slic3r::Arachne::removeSmallAreas(), Slic3r::simplify_polygon_impl(), Slic3r::variable_offset_inner_raw(), Slic3r::variable_offset_outer_ex(), and Slic3r::variable_offset_outer_raw().
Here is the call graph for this function:
Here is the caller graph for this function:References ExcludeOp(), ClipperLib::OutPt::Idx, ClipperLib::OutPt::Next, PointsAreClose(), ClipperLib::OutPt::Prev, ClipperLib::OutPt::Pt, and SlopesNearCollinear().
Referenced by CleanPolygon(), and CleanPolygons().
Here is the call graph for this function:
Here is the caller graph for this function:References CleanPolygon().
Here is the call graph for this function:References CleanPolygon().
Referenced by CleanPolygons(), and Slic3r::Emboss::heal_shape().
Here is the call graph for this function:
Here is the caller graph for this function:References CleanPolygons().
Here is the call graph for this function:References AddPolyNodeToPaths(), ntClosed, and ClipperLib::PolyTree::Total().
Here is the call graph for this function:| double ClipperLib::DistanceFromLineSqrd | ( | const IntPoint & | pt, |
| const IntPoint & | ln1, | ||
| const IntPoint & | ln2 | ||
| ) |
Referenced by SlopesNearCollinear().
Here is the caller graph for this function:References ClipperLib::TEdge::Curr, ClipperLib::TEdge::Top, and TopX().
Referenced by ClipperLib::Clipper::InsertEdgeIntoAEL().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References ClipperLib::IntersectNode::Edge1, ClipperLib::IntersectNode::Edge2, ClipperLib::TEdge::NextInSEL, and ClipperLib::TEdge::PrevInSEL.
Referenced by ClipperLib::Clipper::FixupIntersectionOrder().
Here is the caller graph for this function:References ClipperLib::OutPt::Idx, ClipperLib::OutPt::Next, and ClipperLib::OutPt::Prev.
Referenced by CleanPolygon().
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, FindNextLocMin(), IsHorizontal(), and ClipperLib::TEdge::Prev.
Referenced by ClipperLib::ClipperBase::AddPathInternal(), and FindNextLocMin().
Here is the call graph for this function:
Here is the caller graph for this function:References Area(), FirstIsBottomPt(), GetDx(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Referenced by FirstIsBottomPt(), GetBottomPt(), and GetLowermostRec().
Here is the call graph for this function:
Here is the caller graph for this function:References FirstIsBottomPt(), GetBottomPt(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ClipperLib::OutPt::Pt.
Referenced by GetBottomPt(), and GetLowermostRec().
Here is the call graph for this function:
Here is the caller graph for this function:References GetDx(), and HORIZONTAL.
Referenced by FirstIsBottomPt(), and GetDx().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References ClipperLib::TEdge::Bot, dLeftToRight, dRightToLeft, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::Clipper::ProcessHorizontal().
Here is the caller graph for this function:References ClipperLib::OutRec::BottomPt, FirstIsBottomPt(), GetBottomPt(), ClipperLib::OutPt::Next, ClipperLib::OutPt::Pt, and ClipperLib::OutRec::Pts.
Referenced by ClipperLib::Clipper::AppendPolygon(), and ClipperLib::Clipper::JoinCommonEdges().
Here is the call graph for this function:
Here is the caller graph for this function:References IsHorizontal(), ClipperLib::TEdge::Next, ClipperLib::TEdge::NextInAEL, ClipperLib::TEdge::NextInLML, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::Prev, ClipperLib::TEdge::PrevInAEL, Skip, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::Clipper::DoMaxima(), ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam(), and ClipperLib::Clipper::ProcessHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ClipperLib::GetOverlap | ( | const cInt | a1, |
| const cInt | a2, | ||
| const cInt | b1, | ||
| const cInt | b2, | ||
| cInt & | Left, | ||
| cInt & | Right | ||
| ) |
Referenced by ClipperLib::Clipper::JoinPoints().
Here is the caller graph for this function:| bool ClipperLib::GetOverlapSegment | ( | IntPoint | pt1a, |
| IntPoint | pt1b, | ||
| IntPoint | pt2a, | ||
| IntPoint | pt2b, | ||
| IntPoint & | pt1, | ||
| IntPoint & | pt2 | ||
| ) |
References GetOverlapSegment().
Referenced by GetOverlapSegment().
Here is the call graph for this function:
Here is the caller graph for this function:| DoublePoint ClipperLib::GetUnitNormal | ( | const IntPoint & | pt1, |
| const IntPoint & | pt2 | ||
| ) |
Referenced by ClipperLib::ClipperOffset::DoOffset().
Here is the caller graph for this function:References HorzSegmentsOverlap().
Referenced by HorzSegmentsOverlap(), ClipperLib::Clipper::InsertLocalMinimaIntoAEL(), and ClipperLib::Clipper::ProcessHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Curr, InitEdge(), ClipperLib::TEdge::Next, ClipperLib::TEdge::OutIdx, ClipperLib::TEdge::Prev, and Unassigned.
Referenced by ClipperLib::ClipperBase::AddPathInternal(), and InitEdge().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, ClipperLib::TEdge::Delta, ClipperLib::TEdge::Dx, HORIZONTAL, InitEdge2(), ClipperLib::TEdge::Next, ClipperLib::TEdge::PolyTyp, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::ClipperBase::AddPathInternal(), and InitEdge2().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, ClipperLib::TEdge::Curr, ClipperLib::TEdge::Delta, ClipperLib::TEdge::Dx, IntersectPoint(), IsHorizontal(), Round(), ClipperLib::TEdge::Top, and TopX().
Referenced by ClipperLib::Clipper::BuildIntersectList(), and IntersectPoint().
Here is the call graph for this function:
Here is the caller graph for this function:References CLIPPERLIB_USE_XYZ, and IntPoint2d().
Referenced by ClipperLib::ClipperOffset::AddPath(), ClipperLib::ClipperOffset::DoMiter(), ClipperLib::ClipperOffset::DoOffset(), ClipperLib::ClipperOffset::DoRound(), ClipperLib::ClipperOffset::DoSquare(), ClipperLib::ClipperOffset::Execute(), ClipperLib::ClipperOffset::Execute(), IntPoint2d(), Minkowski(), ClipperLib::ClipperOffset::OffsetPoint(), ClipperLib::Clipper::ProcessHorizontal(), and TranslatePath().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References ClipperLib::TEdge::Delta, and IsHorizontal().
Referenced by ClipperLib::Clipper::AddLocalMinPoly(), FindNextLocMin(), GetMaximaPair(), ClipperLib::Clipper::InsertLocalMinimaIntoAEL(), IntersectPoint(), IsHorizontal(), ClipperLib::ClipperBase::ProcessBound(), ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam(), ClipperLib::Clipper::ProcessHorizontal(), and ClipperLib::Clipper::UpdateEdgeIntoAEL().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::NextInLML, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam().
Here is the caller graph for this function:References ClipperLib::TEdge::NextInLML, and ClipperLib::TEdge::Top.
Referenced by ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam().
Here is the caller graph for this function:| void ClipperLib::Minkowski | ( | const Path & | poly, |
| const Path & | path, | ||
| Paths & | solution, | ||
| bool | isSum, | ||
| bool | isClosed | ||
| ) |
References IntPoint2d(), and ReversePath().
Referenced by MinkowskiDiff(), MinkowskiSum(), and MinkowskiSum().
Here is the call graph for this function:
Here is the caller graph for this function:References ctUnion, Minkowski(), pftNonZero, and ptSubject.
Here is the call graph for this function:| void ClipperLib::MinkowskiSum | ( | const Path & | pattern, |
| const Path & | path, | ||
| Paths & | solution, | ||
| bool | pathIsClosed | ||
| ) |
References ctUnion, Minkowski(), pftNonZero, and ptSubject.
Here is the call graph for this function:| void ClipperLib::MinkowskiSum | ( | const Path & | pattern, |
| const Paths & | paths, | ||
| Paths & | solution, | ||
| bool | pathIsClosed | ||
| ) |
References ctUnion, Minkowski(), pftNonZero, ptClip, ptSubject, and TranslatePath().
Here is the call graph for this function:References ClipperLib::PolyNode::ChildCount(), ClipperLib::PolyNode::Childs, and ClipperLib::PolyTree::Total().
Here is the call graph for this function:References operator!=().
Referenced by operator!=().
Here is the call graph for this function:
Here is the caller graph for this function:References operator==().
Referenced by operator==().
Here is the call graph for this function:
Here is the caller graph for this function:References Area().
Referenced by Slic3r::Polygon::is_counter_clockwise(), Slic3r::raw_offset(), and Slic3r::Algorithm::wavefront_step().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::OutRec::FirstLeft.
Referenced by ClipperLib::Clipper::AppendPolygon(), and ClipperLib::Clipper::JoinCommonEdges().
Here is the caller graph for this function:| int ClipperLib::PointCount | ( | OutPt * | Pts | ) |
References ClipperLib::OutPt::Next.
Referenced by ClipperLib::Clipper::BuildResult(), and ClipperLib::Clipper::BuildResult2().
Here is the caller graph for this function:References PointInPolygon().
Referenced by Slic3r::contains(), Slic3r::contains(), PointInPolygon(), PointInPolygon(), and Poly2ContainsPoly1().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::OutPt::Next, PointInPolygon(), and ClipperLib::OutPt::Pt.
Here is the call graph for this function:References ClipperLib::OutPt::Next, PointIsVertex(), and ClipperLib::OutPt::Pt.
Referenced by PointIsVertex().
Here is the call graph for this function:
Here is the caller graph for this function:Referenced by CleanPolygon().
Here is the caller graph for this function:References ClipperLib::OutPt::Next, PointInPolygon(), Poly2ContainsPoly1(), and ClipperLib::OutPt::Pt.
Referenced by ClipperLib::Clipper::DoSimplePolygons(), ClipperLib::Clipper::FixupFirstLefts1(), ClipperLib::Clipper::JoinCommonEdges(), and Poly2ContainsPoly1().
Here is the call graph for this function:
Here is the caller graph for this function:References AddPolyNodeToPaths(), ntAny, and ClipperLib::PolyTree::Total().
Here is the call graph for this function:References AddPolyNodeToPaths(), and ntAny.
Here is the call graph for this function:| bool ClipperLib::Pt2IsBetweenPt1AndPt3 | ( | const IntPoint & | pt1, |
| const IntPoint & | pt2, | ||
| const IntPoint & | pt3 | ||
| ) |
References Pt2IsBetweenPt1AndPt3().
Referenced by ClipperLib::ClipperBase::AddPathInternal(), ClipperLib::Clipper::FixupOutPolygon(), and Pt2IsBetweenPt1AndPt3().
Here is the call graph for this function:
Here is the caller graph for this function:References RangeTest().
Referenced by ClipperLib::ClipperBase::AddPathInternal(), and RangeTest().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Next, ClipperLib::TEdge::Prev, and RemoveEdge().
Referenced by ClipperLib::ClipperBase::AddPathInternal(), and RemoveEdge().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, ReverseHorizontal(), and ClipperLib::TEdge::Top.
Referenced by ClipperLib::ClipperBase::AddPathInternal(), ClipperLib::ClipperBase::ProcessBound(), and ReverseHorizontal().
Here is the call graph for this function:
Here is the caller graph for this function:Referenced by ClipperLib::ClipperOffset::FixOrientations(), Minkowski(), and ReversePaths().
Here is the caller graph for this function:References ClipperLib::OutPt::Next, ClipperLib::OutPt::Prev, and ReversePolyPtLinks().
Referenced by ClipperLib::Clipper::AppendPolygon(), ClipperLib::Clipper::ExecuteInternal(), ClipperLib::Clipper::JoinCommonEdges(), and ReversePolyPtLinks().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References Round().
Referenced by ClipperLib::ClipperOffset::DoMiter(), ClipperLib::ClipperOffset::DoOffset(), ClipperLib::ClipperOffset::DoRound(), ClipperLib::ClipperOffset::DoSquare(), IntersectPoint(), ClipperLib::ClipperOffset::OffsetPoint(), Round(), and TopX().
Here is the call graph for this function:
Here is the caller graph for this function:| Paths ClipperLib::SimplifyPolygon | ( | const Path & | in_poly, |
| PolyFillType | fillType, | ||
| bool | strictly_simple | ||
| ) |
|
inline |
References ctUnion, ptSubject, and SimplifyPolygons().
Referenced by Slic3r::Arachne::fixSelfIntersections(), Slic3r::Emboss::heal_shape(), Slic3r::simplify_polygon_impl(), and SimplifyPolygons().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References SlopesEqual().
Referenced by ClipperLib::Clipper::AddLocalMinPoly(), ClipperLib::ClipperBase::AddPathInternal(), ClipperLib::Clipper::FixupOutPolygon(), ClipperLib::Clipper::InsertLocalMinimaIntoAEL(), ClipperLib::Clipper::JoinPoints(), ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam(), ClipperLib::Clipper::ProcessHorizontal(), SlopesEqual(), SlopesEqual(), SlopesEqual(), and SlopesEqual().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References SlopesEqual().
Here is the call graph for this function:
|
inline |
References SlopesEqual().
Here is the call graph for this function:References ClipperLib::TEdge::Delta, and SlopesEqual().
Here is the call graph for this function:| bool ClipperLib::SlopesNearCollinear | ( | const IntPoint & | pt1, |
| const IntPoint & | pt2, | ||
| const IntPoint & | pt3, | ||
| double | distSqrd | ||
| ) |
References DistanceFromLineSqrd().
Referenced by CleanPolygon().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::TEdge::Bot, ClipperLib::TEdge::Dx, Round(), ClipperLib::TEdge::Top, and TopX().
Referenced by ClipperLib::Clipper::AddLocalMinPoly(), ClipperLib::Clipper::BuildIntersectList(), E2InsertsBeforeE1(), IntersectPoint(), ClipperLib::Clipper::ProcessEdgesAtTopOfScanbeam(), and TopX().
Here is the call graph for this function:
Here is the caller graph for this function:References input(), and IntPoint2d().
Referenced by MinkowskiSum().
Here is the call graph for this function:
Here is the caller graph for this function:References ClipperLib::OutPt::Idx, ClipperLib::OutRec::Idx, ClipperLib::OutPt::Prev, and ClipperLib::OutRec::Pts.
Referenced by ClipperLib::Clipper::DoSimplePolygons(), and ClipperLib::Clipper::JoinCommonEdges().
Here is the caller graph for this function:
|
static |
Referenced by ClipperLib::ClipperOffset::DoOffset().
|
static |
Referenced by ClipperLib::ClipperOffset::DoOffset().
|
static |
Referenced by ClipperLib::ClipperOffset::DoOffset().
|
static |