// Assembly: Unity.VectorGraphics
// Full name: Unity.VectorGraphics.External.ClipperLib.Clipper

namespace Unity.VectorGraphics.External.ClipperLib
{
public class Clipper // TypeDefIndex: 10961
{
	// Fields
	type#20895 ioReverseSolution;
	type#20895 ioStrictlySimple;
	type#20895 ioPreserveCollinear;
	type#15986 m_ClipType;
	type#22520 m_Maxima;
	type#26852 m_SortedEdges;
	type#8718 m_IntersectList;
	type#6301 m_IntersectNodeComparer;
	type#15314 m_ExecuteLocked;
	type#24537 m_ClipFillType;
	type#24537 m_SubjFillType;
	type#8741 m_Joins;
	type#8741 m_GhostJoins;
	type#15314 m_UsingPolyTree;
	type#15314 <ReverseSolution>k__BackingField;
	type#15314 <StrictlySimple>k__BackingField;

	// Methods
	// RVA: -1
	public type#28660 .ctor(type#20891 InitOptions) { }
	// RVA: -1
	private type#28660 InsertMaxima(type#20900 X) { }
	// RVA: -1
	public type#15313 get_ReverseSolution() { }
	// RVA: -1
	public type#28660 set_ReverseSolution(type#15313 value) { }
	// RVA: -1
	public type#15313 get_StrictlySimple() { }
	// RVA: -1
	public type#28660 set_StrictlySimple(type#15313 value) { }
	// RVA: -1
	public type#15313 Execute(type#15985 clipType, type#8345 solution, type#24538 FillType) { }
	// RVA: -1
	public type#15313 Execute(type#15985 clipType, type#24543 polytree, type#24538 FillType) { }
	// RVA: -1
	public type#15313 Execute(type#15985 clipType, type#8345 solution, type#24536 subjFillType, type#24536 clipFillType) { }
	// RVA: -1
	public type#15313 Execute(type#15985 clipType, type#24543 polytree, type#24536 subjFillType, type#24536 clipFillType) { }
	// RVA: -1
	internal type#28660 FixHoleLinkage(type#23968 outRec) { }
	// RVA: -1
	private type#15313 ExecuteInternal() { }
	// RVA: -1
	private type#28660 DisposeAllPolyPts() { }
	// RVA: -1
	private type#28660 AddJoin(type#23966 Op1, type#23966 Op2, type#20922 OffPt) { }
	// RVA: -1
	private type#28660 AddGhostJoin(type#23966 Op, type#20922 OffPt) { }
	// RVA: -1
	private type#28660 InsertLocalMinimaIntoAEL(type#20900 botY) { }
	// RVA: -1
	private type#28660 InsertEdgeIntoAEL(type#26851 edge, type#26851 startEdge) { }
	// RVA: -1
	private type#15313 E2InsertsBeforeE1(type#26851 e1, type#26851 e2) { }
	// RVA: -1
	private type#15313 IsEvenOddFillType(type#26851 edge) { }
	// RVA: -1
	private type#15313 IsEvenOddAltFillType(type#26851 edge) { }
	// RVA: -1
	private type#15313 IsContributing(type#26851 edge) { }
	// RVA: -1
	private type#28660 SetWindingCount(type#26851 edge) { }
	// RVA: -1
	private type#28660 AddEdgeToSEL(type#26851 edge) { }
	// RVA: -1
	internal type#15313 PopEdgeFromSEL(type#12154 e) { }
	// RVA: -1
	private type#28660 CopyAELToSEL() { }
	// RVA: -1
	private type#28660 SwapPositionsInSEL(type#26851 edge1, type#26851 edge2) { }
	// RVA: -1
	private type#28660 AddLocalMaxPoly(type#26851 e1, type#26851 e2, type#20922 pt) { }
	// RVA: -1
	private type#23966 AddLocalMinPoly(type#26851 e1, type#26851 e2, type#20922 pt) { }
	// RVA: -1
	private type#23966 AddOutPt(type#26851 e, type#20922 pt) { }
	// RVA: -1
	private type#23966 GetLastOutPt(type#26851 e) { }
	// RVA: -1
	internal type#28660 SwapPoints(type#11948 pt1, type#11948 pt2) { }
	// RVA: -1
	private type#15313 HorzSegmentsOverlap(type#20900 seg1a, type#20900 seg1b, type#20900 seg2a, type#20900 seg2b) { }
	// RVA: -1
	private type#28660 SetHoleState(type#26851 e, type#23968 outRec) { }
	// RVA: -1
	private type#17430 GetDx(type#20922 pt1, type#20922 pt2) { }
	// RVA: -1
	private type#15313 FirstIsBottomPt(type#23966 btmPt1, type#23966 btmPt2) { }
	// RVA: -1
	private type#23966 GetBottomPt(type#23966 pp) { }
	// RVA: -1
	private type#23968 GetLowermostRec(type#23968 outRec1, type#23968 outRec2) { }
	// RVA: -1
	private type#15313 OutRec1RightOfOutRec2(type#23968 outRec1, type#23968 outRec2) { }
	// RVA: -1
	private type#23968 GetOutRec(type#20867 idx) { }
	// RVA: -1
	private type#28660 AppendPolygon(type#26851 e1, type#26851 e2) { }
	// RVA: -1
	private type#28660 ReversePolyPtLinks(type#23966 pp) { }
	// RVA: -1
	private static type#28660 SwapSides(type#26851 edge1, type#26851 edge2) { }
	// RVA: -1
	private static type#28660 SwapPolyIndexes(type#26851 edge1, type#26851 edge2) { }
	// RVA: -1
	private type#28660 IntersectEdges(type#26851 e1, type#26851 e2, type#20922 pt) { }
	// RVA: -1
	private type#28660 DeleteFromSEL(type#26851 e) { }
	// RVA: -1
	private type#28660 ProcessHorizontals() { }
	// RVA: -1
	private type#28660 GetHorzDirection(type#26851 HorzEdge, type#11854 Dir, type#11947 Left, type#11947 Right) { }
	// RVA: -1
	private type#28660 ProcessHorizontal(type#26851 horzEdge) { }
	// RVA: -1
	private type#26851 GetNextInAEL(type#26851 e, type#17360 Direction) { }
	// RVA: -1
	private type#15313 IsMinima(type#26851 e) { }
	// RVA: -1
	private type#15313 IsMaxima(type#26851 e, type#17430 Y) { }
	// RVA: -1
	private type#15313 IsIntermediate(type#26851 e, type#17430 Y) { }
	// RVA: -1
	internal type#26851 GetMaximaPair(type#26851 e) { }
	// RVA: -1
	internal type#26851 GetMaximaPairEx(type#26851 e) { }
	// RVA: -1
	private type#15313 ProcessIntersections(type#20900 topY) { }
	// RVA: -1
	private type#28660 BuildIntersectList(type#20900 topY) { }
	// RVA: -1
	private type#15313 EdgesAdjacent(type#21022 inode) { }
	// RVA: -1
	private static type#20867 IntersectNodeSort(type#21022 node1, type#21022 node2) { }
	// RVA: -1
	private type#15313 FixupIntersectionOrder() { }
	// RVA: -1
	private type#28660 ProcessIntersectList() { }
	// RVA: -1
	internal static type#20900 Round(type#17430 value) { }
	// RVA: -1
	private static type#20900 TopX(type#26851 edge, type#20900 currentY) { }
	// RVA: -1
	private type#28660 IntersectPoint(type#26851 edge1, type#26851 edge2, type#11949 ip) { }
	// RVA: -1
	private type#28660 ProcessEdgesAtTopOfScanbeam(type#20900 topY) { }
	// RVA: -1
	private type#28660 DoMaxima(type#26851 e) { }
	// RVA: -1
	public static type#28660 ReversePaths(type#8345 polys) { }
	// RVA: -1
	public static type#15313 Orientation(type#8710 poly) { }
	// RVA: -1
	private type#20867 PointCount(type#23966 pts) { }
	// RVA: -1
	private type#28660 BuildResult(type#8345 polyg) { }
	// RVA: -1
	private type#28660 BuildResult2(type#24543 polytree) { }
	// RVA: -1
	private type#28660 FixupOutPolyline(type#23968 outrec) { }
	// RVA: -1
	private type#28660 FixupOutPolygon(type#23968 outRec) { }
	// RVA: -1
	private type#23966 DupOutPt(type#23966 outPt, type#15313 InsertAfter) { }
	// RVA: -1
	private type#15313 GetOverlap(type#20900 a1, type#20900 a2, type#20900 b1, type#20900 b2, type#11947 Left, type#11947 Right) { }
	// RVA: -1
	private type#15313 JoinHorz(type#23966 op1, type#23966 op1b, type#23966 op2, type#23966 op2b, type#20922 Pt, type#15313 DiscardLeft) { }
	// RVA: -1
	private type#15313 JoinPoints(type#21301 j, type#23968 outRec1, type#23968 outRec2) { }
	// RVA: -1
	public static type#20867 PointInPolygon(type#20922 pt, type#8710 path) { }
	// RVA: -1
	private static type#20867 PointInPolygon(type#20922 pt, type#23966 op) { }
	// RVA: -1
	private static type#15313 Poly2ContainsPoly1(type#23966 outPt1, type#23966 outPt2) { }
	// RVA: -1
	private type#28660 FixupFirstLefts1(type#23968 OldOutRec, type#23968 NewOutRec) { }
	// RVA: -1
	private type#28660 FixupFirstLefts2(type#23968 innerOutRec, type#23968 outerOutRec) { }
	// RVA: -1
	private type#28660 FixupFirstLefts3(type#23968 OldOutRec, type#23968 NewOutRec) { }
	// RVA: -1
	private static type#23968 ParseFirstLeft(type#23968 FirstLeft) { }
	// RVA: -1
	private type#28660 JoinCommonEdges() { }
	// RVA: -1
	private type#28660 UpdateOutPtIdxs(type#23968 outrec) { }
	// RVA: -1
	private type#28660 DoSimplePolygons() { }
	// RVA: -1
	public static type#17430 Area(type#8710 poly) { }
	// RVA: -1
	internal type#17430 Area(type#23968 outRec) { }
	// RVA: -1
	internal type#17430 Area(type#23966 op) { }
	// RVA: -1
	public static type#8345 SimplifyPolygon(type#8710 poly, type#24538 fillType) { }
	// RVA: -1
	public static type#8345 SimplifyPolygons(type#8345 polys, type#24538 fillType) { }
	// RVA: -1
	private static type#17430 DistanceSqrd(type#20922 pt1, type#20922 pt2) { }
	// RVA: -1
	private static type#17430 DistanceFromLineSqrd(type#20922 pt, type#20922 ln1, type#20922 ln2) { }
	// RVA: -1
	private static type#15313 SlopesNearCollinear(type#20922 pt1, type#20922 pt2, type#20922 pt3, type#17430 distSqrd) { }
	// RVA: -1
	private static type#15313 PointsAreClose(type#20922 pt1, type#20922 pt2, type#17430 distSqrd) { }
	// RVA: -1
	private static type#23966 ExcludeOp(type#23966 op) { }
	// RVA: -1
	public static type#8710 CleanPolygon(type#8710 path, type#17439 distance) { }
	// RVA: -1
	public static type#8345 CleanPolygons(type#8345 polys, type#17439 distance) { }
	// RVA: -1
	internal static type#8345 Minkowski(type#8710 pattern, type#8710 path, type#15313 IsSum, type#15313 IsClosed) { }
	// RVA: -1
	public static type#8345 MinkowskiSum(type#8710 pattern, type#8710 path, type#15313 pathIsClosed) { }
	// RVA: -1
	private static type#8710 TranslatePath(type#8710 path, type#20922 delta) { }
	// RVA: -1
	public static type#8345 MinkowskiSum(type#8710 pattern, type#8345 paths, type#15313 pathIsClosed) { }
	// RVA: -1
	public static type#8345 MinkowskiDiff(type#8710 poly1, type#8710 poly2) { }
	// RVA: -1
	public static type#8345 PolyTreeToPaths(type#24543 polytree) { }
	// RVA: -1
	internal static type#28660 AddPolyNodeToPaths(type#24540 polynode, type#30483 nt, type#8345 paths) { }
	// RVA: -1
	public static type#8345 OpenPathsFromPolyTree(type#24543 polytree) { }
	// RVA: -1
	public static type#8345 ClosedPathsFromPolyTree(type#24543 polytree) { }
}
}
