JoinAdjacentPaths


Joins those paths of an array which endpoints lie near enough.

Syntax

C++
C#
Python
 
def JoinAdjacentPaths(
	inPaths: list[Path],
	/,
	*,
	inMaxDistance: float = 10.0,
	inMaxAngle: float = 30.0,
	inMaxDeviation: float | None = None,
	inExcessTrim: float = 0,
	inEndingLength: float | None = 0.0,
	inJoiningMethod: PathJoiningMethod = PathJoiningMethod.AddBridge,
	inAngleMeasure: PathJoiningAngleMeasure = PathJoiningAngleMeasure.InputPathOrientation,
	inIgnorePathEndsOrder: bool = True,
	inAllowCycles: bool = True,
	inMinPathLength: float = 0.0
)
-> (
	outPaths: list[Path],
	outMatchedPieces: list[Path]
)

Parameters

Name Type Range Default Description
Input value inPaths list[Path]
Input value inMaxDistance float 0.0 - 10.0 Maximal distance between paths that can be joined
Input value inMaxAngle float 0.0 - 180.0 30.0 Maximal allowed angle between paths being joined
Input value inMaxDeviation float | None 0.0 - None Maximal allowed thickness of a minimal stripe containing both paths being joined
Input value inExcessTrim float 0.0 - 0 Length of the part of each path to be removed from its both sides
Input value inEndingLength float | None 0.0 - 0.0 Determines the length of the path end used for path angle computing
Input value inJoiningMethod PathJoiningMethod PathJoiningMethod.AddBridge Determines a method to join two paths in one
Input value inAngleMeasure PathJoiningAngleMeasure PathJoiningAngleMeasure.InputPathOrientation Determines a method to measure the angle between two input paths
Input value inIgnorePathEndsOrder bool True If set to false, only the end of a path can be joined with the begin of another path
Input value inAllowCycles bool True Determines if cycles can be created during joining process
Input value inMinPathLength float 0.0 - 0.0 Minimal length of a path
Output value outPaths list[Path]
Output value outMatchedPieces list[Path] Input paths that have been joined with another path