ClipperBase

clipper.ClipperBase (Class) → Clipper64, ClipperD

Instance Members

preserveCollinear: Bool

reverseSolution: Bool

clear(): Void

addSubject(path: Path64): Void
Name Type
path Path64

addOpenSubject(path: Path64): Void
Name Type
path Path64

addClip(path: Path64): Void
Name Type
path Path64

getBounds(): Rect64
Returns
Rect64

new(): Void

Private Members

isOdd(val: Int): Bool
Name Type
val Int
Returns
Bool

isHotEdge(ae: Active): Bool
Name Type
ae Active
Returns
Bool

isOpen(ae: Active): Bool
Name Type
ae Active
Returns
Bool

isOpenEndVertex(v: Vertex): Bool
Name Type
v Vertex
Returns
Bool

isOpenEnd(ae: Active): Bool
Name Type
ae Active
Returns
Bool

getPrevHotEdge(ae: Active): Null<Active>
Name Type
ae Active
Returns
Null<Active>

isFront(ae: Active): Bool
Name Type
ae Active
Returns
Bool

getDx(pt1: Point64, pt2: Point64): Float
Name Type
pt1 Point64
pt2 Point64
Returns
Float

topX(ae: Active, currentY: ClipperInt64): ClipperInt64
Name Type
ae Active
currentY ClipperInt64
Returns
ClipperInt64

isHorizontal(ae: Active): Bool
Name Type
ae Active
Returns
Bool

isHeadingRightHorz(ae: Active): Bool
Name Type
ae Active
Returns
Bool

isHeadingLeftHorz(ae: Active): Bool
Name Type
ae Active
Returns
Bool

getPolyType(ae: Active): PathType
Name Type
ae Active
Returns
PathType

isSamePolyType(ae1: Active, ae2: Active): Bool
Name Type
ae1 Active
ae2 Active
Returns
Bool

setDx(ae: Active): Void
Name Type
ae Active

nextVertex(ae: Active): Vertex
Name Type
ae Active
Returns
Vertex

prevPrevVertex(ae: Active): Vertex
Name Type
ae Active
Returns
Vertex

isMaximaVertex(vertex: Vertex): Bool
Name Type
vertex Vertex
Returns
Bool

isMaxima(ae: Active): Bool
Name Type
ae Active
Returns
Bool

getMaximaPair(ae: Active): Null<Active>
Name Type
ae Active
Returns
Null<Active>

getCurrYMaximaVertex_Open(ae: Active): Null<Vertex>
Name Type
ae Active
Returns
Null<Vertex>

getCurrYMaximaVertex(ae: Active): Null<Vertex>
Name Type
ae Active
Returns
Null<Vertex>

setSides(outrec: OutRec, startEdge: Active, endEdge: Active): Void
Name Type
outrec OutRec
startEdge Active
endEdge Active

swapOutrecs(ae1: Active, ae2: Active): Void
Name Type
ae1 Active
ae2 Active

setOwner(outrec: OutRec, newOwner: OutRec): Void
Name Type
outrec OutRec
newOwner OutRec

areaOutPt(op: OutPt): Float
Name Type
op OutPt
Returns
Float

areaTriangle(pt1: Point64, pt2: Point64, pt3: Point64): Float
Name Type
pt1 Point64
pt2 Point64
pt3 Point64
Returns
Float

getRealOutRec(outRec: Null<OutRec>): Null<OutRec>
Name Type
outRec Null<OutRec>
Returns
Null<OutRec>

isValidOwner(outRec: Null<OutRec>, testOwner: Null<OutRec>): Bool
Name Type
outRec Null<OutRec>
testOwner Null<OutRec>
Returns
Bool

uncoupleOutRec(ae: Active): Void
Name Type
ae Active

outrecIsAscending(hotEdge: Active): Bool
Name Type
hotEdge Active
Returns
Bool

swapFrontBackSides(outrec: OutRec): Void
Name Type
outrec OutRec

edgesAdjacentInAEL(inode: IntersectNode): Bool
Name Type
inode IntersectNode
Returns
Bool

isJoined(e: Active): Bool
Name Type
e Active
Returns
Bool

addLocMin(vert: Vertex, polytype: PathType, isOpen: Bool, minimaList: Array<LocalMinima>): Void
Name Type
vert Vertex
polytype PathType
isOpen Bool
minimaList Array<LocalMinima>

addPathsToVertexList(paths: Paths64, polytype: PathType, isOpen: Bool, minimaList: Array<LocalMinima>, vertexList: Array<Vertex>): Void
Name Type
paths Paths64
polytype PathType
isOpen Bool
minimaList Array<LocalMinima>
vertexList Array<Vertex>

isValidAelOrder(resident: Active, newcomer: Active): Bool
Name Type
resident Active
newcomer Active
Returns
Bool

insertRightEdge(ae: Active, ae2: Active): Void
Name Type
ae Active
ae2 Active

joinOutrecPaths(ae1: Active, ae2: Active): Void
Name Type
ae1 Active
ae2 Active

findEdgeWithMatchingLocMin(e: Active): Null<Active>
Name Type
e Active
Returns
Null<Active>

perpendicDistFromLineSqrd(pt: Point64, line1: Point64, line2: Point64): Float
Name Type
pt Point64
line1 Point64
line2 Point64
Returns
Float

trimHorz(horzEdge: Active, preserveCollinear: Bool): Void
Name Type
horzEdge Active
preserveCollinear Bool

getLastOp(hotEdge: Active): OutPt
Name Type
hotEdge Active
Returns
OutPt

resetHorzDirection(horz: Active, vertexMax: Null<Vertex>): AnonStruct
Name Type
horz Active
vertexMax Null<Vertex>
Returns
AnonStruct

extractFromSEL(ae: Active): Null<Active>
Name Type
ae Active
Returns
Null<Active>

insert1Before2InSEL(ae1: Active, ae2: Active): Void
Name Type
ae1 Active
ae2 Active

setHorzSegHeadingForward(hs: HorzSegment, opP: OutPt, opN: OutPt): Bool
Name Type
hs HorzSegment
opP OutPt
opN OutPt
Returns
Bool

updateHorzSegment(hs: HorzSegment): Bool
Name Type
hs HorzSegment
Returns
Bool

horzSegSort(hs1: HorzSegment, hs2: HorzSegment): Int
Name Type
hs1 HorzSegment
hs2 HorzSegment
Returns
Int

fixOutRecPts(outrec: OutRec): Void
Name Type
outrec OutRec

moveSplits(fromOr: OutRec, toOr: OutRec): Void
Name Type
fromOr OutRec
toOr OutRec

ptsReallyClose(pt1: Point64, pt2: Point64): Bool
Name Type
pt1 Point64
pt2 Point64
Returns
Bool

isVerySmallTriangle(op: OutPt): Bool
Name Type
op OutPt
Returns
Bool

isValidClosedPath(op: Null<OutPt>): Bool
Name Type
op Null<OutPt>
Returns
Bool

disposeOutPt(op: OutPt): Null<OutPt>
Name Type
op OutPt
Returns
Null<OutPt>

path1InsidePath2(op1: OutPt, op2: OutPt): Bool
Name Type
op1 OutPt
op2 OutPt
Returns
Bool

pointInOpPolygon(pt: Point64, op: OutPt): PointInPolygonResult
Name Type
pt Point64
op OutPt
Returns
PointInPolygonResult

getCleanPath(op: OutPt): Path64
Name Type
op OutPt
Returns
Path64

clearSolutionOnly(): Void

reset(): Void

insertScanline(y: ClipperInt64): Void
Name Type
y ClipperInt64

popScanline(): AnonStruct
Returns
AnonStruct

hasLocMinAtY(y: ClipperInt64): Bool
Name Type
y ClipperInt64
Returns
Bool

popLocalMinima(): LocalMinima
Returns
LocalMinima

addPath(path: Path64, polytype: PathType, ?isOpen: Bool = false): Void
Name Type Default
path Path64
polytype PathType
isOpen Bool false

addPaths(paths: Paths64, polytype: PathType, ?isOpen: Bool = false): Void
Name Type Default
paths Paths64
polytype PathType
isOpen Bool false

deleteFromAEL(ae: Active): Void
Name Type
ae Active

disposeIntersectNodes(): Void

isContributingClosed(ae: Active): Bool
Name Type
ae Active
Returns
Bool

isContributingOpen(ae: Active): Bool
Name Type
ae Active
Returns
Bool

setWindCountForClosedPathEdge(ae: Active): Void
Name Type
ae Active

setWindCountForOpenPathEdge(ae: Active): Void
Name Type
ae Active

insertLeftEdge(ae: Active): Void
Name Type
ae Active

insertLocalMinimaIntoAEL(botY: ClipperInt64): Void
Name Type
botY ClipperInt64

pushHorz(ae: Active): Void
Name Type
ae Active

popHorz(): AnonStruct
Returns
AnonStruct

newOutRec(): OutRec
Returns
OutRec

addLocalMinPoly(ae1: Active, ae2: Active, pt: Point64, ?isNew: Bool = false): OutPt
Name Type Default
ae1 Active
ae2 Active
pt Point64
isNew Bool false
Returns
OutPt

addLocalMaxPoly(ae1: Active, ae2: Active, pt: Point64): Null<OutPt>
Name Type
ae1 Active
ae2 Active
pt Point64
Returns
Null<OutPt>

addOutPt(ae: Active, pt: Point64): OutPt
Name Type
ae Active
pt Point64
Returns
OutPt

startOpenPath(ae: Active, pt: Point64): OutPt
Name Type
ae Active
pt Point64
Returns
OutPt

updateEdgeIntoAEL(ae: Active): Void
Name Type
ae Active

intersectEdges(ae1: Active, ae2: Active, pt: Point64): Void
Name Type
ae1 Active
ae2 Active
pt Point64

swapPositionsInAEL(ae1: Active, ae2: Active): Void
Name Type
ae1 Active
ae2 Active

split(e: Active, currPt: Point64): Void
Name Type
e Active
currPt Point64

checkJoinLeft(e: Active, pt: Point64, ?checkCurrX: Bool = false): Void
Name Type Default
e Active
pt Point64
checkCurrX Bool false

checkJoinRight(e: Active, pt: Point64, ?checkCurrX: Bool = false): Void
Name Type Default
e Active
pt Point64
checkCurrX Bool false

addToHorzSegList(op: OutPt): Void
Name Type
op OutPt

doHorizontal(horz: Active): Void
Name Type
horz Active

doTopOfScanbeam(y: ClipperInt64): Void
Name Type
y ClipperInt64

doMaxima(ae: Active): Null<Active>
Name Type
ae Active
Returns
Null<Active>

adjustCurrXAndCopyToSEL(topY: ClipperInt64): Void
Name Type
topY ClipperInt64

doIntersections(topY: ClipperInt64): Void
Name Type
topY ClipperInt64

addNewIntersectNode(ae1: Active, ae2: Active, topY: ClipperInt64): Void
Name Type
ae1 Active
ae2 Active
topY ClipperInt64

buildIntersectList(topY: ClipperInt64): Bool
Name Type
topY ClipperInt64
Returns
Bool

processIntersectList(): Void

executeInternal(clipType: ClipType, fillRule: FillRule): Void
Name Type
clipType ClipType
fillRule FillRule

duplicateOp(op: OutPt, insertAfter: Bool): OutPt
Name Type
op OutPt
insertAfter Bool
Returns
OutPt

convertHorzSegsToJoins(): Void

processHorzJoins(): Void

cleanCollinear(outrec: Null<OutRec>): Void
Name Type
outrec Null<OutRec>

doSplitOp(outrec: OutRec, splitOp: OutPt): Void
Name Type
outrec OutRec
splitOp OutPt

fixSelfIntersects(outrec: OutRec): Void
Name Type
outrec OutRec

buildPath(op: Null<OutPt>, reverse: Bool, isOpen: Bool, path: Path64): Bool
Name Type
op Null<OutPt>
reverse Bool
isOpen Bool
path Path64
Returns
Bool

buildPaths(solutionClosed: Paths64, solutionOpen: Paths64): Bool
Name Type
solutionClosed Paths64
solutionOpen Paths64
Returns
Bool

checkBounds(outrec: OutRec): Bool
Name Type
outrec OutRec
Returns
Bool

checkSplitOwner(outrec: OutRec, splits: Array<Int>): Bool
Name Type
outrec OutRec
splits Array<Int>
Returns
Bool

recursiveCheckOwners(outrec: OutRec, polypath: PolyPathBase): Void
Name Type
outrec OutRec
polypath PolyPathBase

buildTree(polytree: PolyPathBase, openPaths: Paths64): Void
Name Type
polytree PolyPathBase
openPaths Paths64

Metadata

Name Parameters
:hxGen -