Skip to main content

ClipperOffset

ClipperOffset class

Official Documentation

note

Geometric offsetting refers to the process of creating parallel curves that are offset a specified distance from their primary curves.

The ClipperOffset class manages the process of offsetting (inflating/deflating) both open and closed paths using a number of different join types and end types. The library user will rarely need to access this unit directly since it will generally be easier to use the InflatePaths function when doing polygon offsetting.

Properties

ArcTolerance: boolean

ArcTolerance is only relevant when offsetting with JoinType.Round and / or EndType.Round (see ClipperOffset.AddPath and ClipperOffset.AddPaths).
Official Documentation

MiterLimit: boolean

This property sets the maximum distance in multiples of delta that vertices can be offset from their original positions before squaring is applied. (Squaring truncates a miter by 'cutting it off' at 1 × delta distance from the original vertex.)
Official Documentation

ReverseSolution: boolean

Reverses the solution's orientation.
Official Documentation

Functions

new

ClipperOffset.new() void

ClipperOffset constructor.


Clear

ClipperOffset:Clear() void

This method clears all paths from the ClipperOffset object, allowing new paths to be assigned.
Official Documentation


AddPath

ClipperOffset:AddPath(
path: Path64,
joinType: JoinType,
endType: EndType
) void

ArgumentTypeDescription
pathPath64
joinTypeJoinType
endTypeEndType

Adds Path64 to a ClipperOffset object in preparation for offsetting.
Official Documentation


AddPath

ClipperOffset:AddPath(
paths: Paths64,
joinType: JoinType,
endType: EndType
) void

ArgumentTypeDescription
pathsPaths64
joinTypeJoinType
endTypeEndType

Adds Paths64 to a ClipperOffset object in preparation for offsetting.
Official Documentation


Execute

ClipperOffset:Execute( delta: number ) Paths64

ArgumentTypeDescription
deltanumber

Executes offset (inflating/deflating) operation.
Official Documentation

tip

With closed paths (polygons), a positive delta specifies how much outer polygon contours will expand and how much inner "hole" contours will contract (and the converse with negative deltas).

With open paths (polylines) including EndType.Joined, delta specifies the width of the inflated line.

Execute can also be called multiple times (using different deltas).