C# Class ClipperLib.Clipper

Inheritance: ClipperBase
Show file Open project: iNiKe/clipper Class Usage Examples

Public Methods

Method Description
AddPolyNodeToPolygons ( PolyNode polynode, List> polygons ) : void
Area ( List poly ) : double
CleanPolygon ( List poly, double distance = 1.415 ) : List
CleanPolygons ( List> polys, double distance = 1.415 ) : List>
Clear ( ) : void
Clipper ( ) : System
Execute ( ClipType clipType, List> solution ) : bool
Execute ( ClipType clipType, List> solution, PolyFillType subjFillType, PolyFillType clipFillType ) : bool
Execute ( ClipType clipType, PolyTree polytree ) : bool
Execute ( ClipType clipType, PolyTree polytree, PolyFillType subjFillType, PolyFillType clipFillType ) : bool
OffsetPolygons ( List> poly, double delta ) : List>
OffsetPolygons ( List> poly, double delta, JoinType jointype ) : List>
OffsetPolygons ( List> poly, double delta, JoinType jointype, double MiterLimit ) : List>
OffsetPolygons ( List> poly, double delta, JoinType jointype, double MiterLimit, bool AutoFix ) : List>
Orientation ( List poly ) : bool
PolyTreeToPolygons ( PolyTree polytree, List> polygons ) : void
ReversePolygons ( List> polys ) : void
SimplifyPolygon ( List poly, PolyFillType fillType = PolyFillType.pftEvenOdd ) : List>
SimplifyPolygons ( List> polys, PolyFillType fillType = PolyFillType.pftEvenOdd ) : List>

Protected Methods

Method Description
Reset ( ) : void

Private Methods

Method Description
AddEdgeToSEL ( TEdge edge ) : void
AddHorzJoin ( TEdge e, int idx ) : void
AddIntersectNode ( TEdge e1, TEdge e2, IntPoint pt ) : void
AddJoin ( TEdge e1, TEdge e2, int e1OutIdx, int e2OutIdx ) : void
AddLocalMaxPoly ( TEdge e1, TEdge e2, IntPoint pt ) : void
AddLocalMinPoly ( TEdge e1, TEdge e2, IntPoint pt ) : void
AddOutPt ( TEdge e, IntPoint pt ) : void
AppendPolygon ( TEdge e1, TEdge e2 ) : void
Area ( OutRec outRec, bool UseFull64BitRange ) : double
BuildArc ( IntPoint pt, double a1, double a2, double r, double limit ) : List
BuildIntersectList ( System.Int64 botY, System.Int64 topY ) : void
BuildResult ( List> polyg ) : void
BuildResult2 ( PolyTree polytree ) : void
ClosestPointOnLine ( IntPoint pt, IntPoint linePt1, IntPoint linePt2 ) : ClipperLib.DoublePoint
CopyAELToSEL ( ) : void
CreateOutRec ( ) : OutRec
DeleteFromAEL ( TEdge e ) : void
DeleteFromSEL ( TEdge e ) : void
DisposeAllPolyPts ( ) : void
DisposeIntersectNodes ( ) : void
DisposeOutPts ( OutPt pp ) : void
DisposeOutRec ( int index ) : void
DisposeScanbeamList ( ) : void
DistanceSqrd ( IntPoint pt1, IntPoint pt2 ) : double
DoMaxima ( TEdge e, System.Int64 topY ) : void
DoSimplePolygons ( ) : void
E2InsertsBeforeE1 ( TEdge e1, TEdge e2 ) : bool
EdgesAdjacent ( IntersectNode inode ) : bool
ExecuteInternal ( ) : bool
FindSegment ( OutPt &pp, bool UseFullInt64Range, IntPoint &pt1, IntPoint &pt2 ) : bool
FirstIsBottomPt ( OutPt btmPt1, OutPt btmPt2 ) : bool
FixHoleLinkage ( OutRec outRec ) : void
FixupFirstLefts1 ( OutRec OldOutRec, OutRec NewOutRec ) : void
FixupFirstLefts2 ( OutRec OldOutRec, OutRec NewOutRec ) : void
FixupIntersectionOrder ( ) : bool
FixupJoinRecs ( JoinRec j, OutPt pt, int startIdx ) : void
FixupOutPolygon ( OutRec outRec ) : void
FullRangeNeeded ( List pts ) : bool
GetBottomPt ( OutPt pp ) : OutPt
GetDx ( IntPoint pt1, IntPoint pt2 ) : double
GetLowermostRec ( OutRec outRec1, OutRec outRec2 ) : OutRec
GetMaximaPair ( TEdge e ) : TEdge
GetNextInAEL ( TEdge e, Direction Direction ) : TEdge
GetOutRec ( int idx ) : OutRec
GetOverlapSegment ( IntPoint pt1a, IntPoint pt1b, IntPoint pt2a, IntPoint pt2b, IntPoint &pt1, IntPoint &pt2 ) : bool
GetUnitNormal ( IntPoint pt1, IntPoint pt2 ) : ClipperLib.DoublePoint
InsertEdgeIntoAEL ( TEdge edge ) : void
InsertLocalMinimaIntoAEL ( System.Int64 botY ) : void
InsertPolyPtBetween ( OutPt p1, OutPt p2, IntPoint pt ) : OutPt
InsertScanbeam ( System.Int64 Y ) : void
IntersectEdges ( TEdge e1, TEdge e2, IntPoint pt, Protects protects ) : void
IntersectPoint ( TEdge edge1, TEdge edge2, IntPoint &ip ) : bool
IsContributing ( TEdge edge ) : bool
IsEvenOddAltFillType ( TEdge edge ) : bool
IsEvenOddFillType ( TEdge edge ) : bool
IsIntermediate ( TEdge e, double Y ) : bool
IsMaxima ( TEdge e, double Y ) : bool
IsMinima ( TEdge e ) : bool
IsTopHorz ( TEdge horzEdge, double XPos ) : bool
JoinCommonEdges ( ) : void
JoinPoints ( JoinRec j, OutPt &p1, OutPt &p2 ) : bool
Param1RightOfParam2 ( OutRec outRec1, OutRec outRec2 ) : bool
PointCount ( OutPt pts ) : int
PointsAreClose ( IntPoint pt1, IntPoint pt2, double distSqrd ) : bool
Poly2ContainsPoly1 ( OutPt outPt1, OutPt outPt2, bool UseFullInt64Range ) : bool
PopScanbeam ( ) : System.Int64
ProcessEdgesAtTopOfScanbeam ( System.Int64 topY ) : void
ProcessHorizontal ( TEdge horzEdge ) : void
ProcessHorizontals ( ) : void
ProcessIntersectList ( ) : void
ProcessIntersections ( System.Int64 botY, System.Int64 topY ) : bool
Pt3IsBetweenPt1AndPt2 ( IntPoint pt1, IntPoint pt2, IntPoint pt3 ) : bool
ReversePolyPtLinks ( OutPt pp ) : void
Round ( double value ) : System.Int64
SetHoleState ( TEdge e, OutRec outRec ) : void
SetWindingCount ( TEdge edge ) : void
SlopesNearColinear ( IntPoint pt1, IntPoint pt2, IntPoint pt3, double distSqrd ) : bool
SwapIntersectNodes ( IntersectNode int1, IntersectNode int2 ) : void
SwapPoints ( IntPoint &pt1, IntPoint &pt2 ) : void
SwapPolyIndexes ( TEdge edge1, TEdge edge2 ) : void
SwapPositionsInAEL ( TEdge edge1, TEdge edge2 ) : void
SwapPositionsInSEL ( TEdge edge1, TEdge edge2 ) : void
SwapSides ( TEdge edge1, TEdge edge2 ) : void
TopX ( TEdge edge, Int64 currentY ) : Int64
UpdateEdgeIntoAEL ( TEdge &e ) : void
UpdateOutPtIdxs ( OutRec outrec ) : void

Method Details

AddPolyNodeToPolygons() public static method

public static AddPolyNodeToPolygons ( PolyNode polynode, List> polygons ) : void
polynode PolyNode
polygons List>
return void

Area() public static method

public static Area ( List poly ) : double
poly List
return double

CleanPolygon() public static method

public static CleanPolygon ( List poly, double distance = 1.415 ) : List
poly List
distance double
return List

CleanPolygons() public static method

public static CleanPolygons ( List> polys, double distance = 1.415 ) : List>
polys List>
distance double
return List>

Clear() public method

public Clear ( ) : void
return void

Clipper() public method

public Clipper ( ) : System
return System

Execute() public method

public Execute ( ClipType clipType, List> solution ) : bool
clipType ClipType
solution List>
return bool

Execute() public method

public Execute ( ClipType clipType, List> solution, PolyFillType subjFillType, PolyFillType clipFillType ) : bool
clipType ClipType
solution List>
subjFillType PolyFillType
clipFillType PolyFillType
return bool

Execute() public method

public Execute ( ClipType clipType, PolyTree polytree ) : bool
clipType ClipType
polytree PolyTree
return bool

Execute() public method

public Execute ( ClipType clipType, PolyTree polytree, PolyFillType subjFillType, PolyFillType clipFillType ) : bool
clipType ClipType
polytree PolyTree
subjFillType PolyFillType
clipFillType PolyFillType
return bool

OffsetPolygons() public static method

public static OffsetPolygons ( List> poly, double delta ) : List>
poly List>
delta double
return List>

OffsetPolygons() public static method

public static OffsetPolygons ( List> poly, double delta, JoinType jointype ) : List>
poly List>
delta double
jointype JoinType
return List>

OffsetPolygons() public static method

public static OffsetPolygons ( List> poly, double delta, JoinType jointype, double MiterLimit ) : List>
poly List>
delta double
jointype JoinType
MiterLimit double
return List>

OffsetPolygons() public static method

public static OffsetPolygons ( List> poly, double delta, JoinType jointype, double MiterLimit, bool AutoFix ) : List>
poly List>
delta double
jointype JoinType
MiterLimit double
AutoFix bool
return List>

Orientation() public static method

public static Orientation ( List poly ) : bool
poly List
return bool

PolyTreeToPolygons() public static method

public static PolyTreeToPolygons ( PolyTree polytree, List> polygons ) : void
polytree PolyTree
polygons List>
return void

Reset() protected method

protected Reset ( ) : void
return void

ReversePolygons() public static method

public static ReversePolygons ( List> polys ) : void
polys List>
return void

SimplifyPolygon() public static method

public static SimplifyPolygon ( List poly, PolyFillType fillType = PolyFillType.pftEvenOdd ) : List>
poly List
fillType PolyFillType
return List>

SimplifyPolygons() public static method

public static SimplifyPolygons ( List> polys, PolyFillType fillType = PolyFillType.pftEvenOdd ) : List>
polys List>
fillType PolyFillType
return List>