Click or drag to resize

PolylineMath3DDissectPolylineWithDashPattern Method

Dissects a polyline into multiple polylines using a dash pattern.

Namespace: Altaxo.Geometry
Assembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax
C#
public static IEnumerable<List<PolylinePointD3D>> DissectPolylineWithDashPattern(
	IEnumerable<PointD3D> linePoints,
	double startIndex,
	double endIndex,
	IReadOnlyList<double> dashPattern,
	double dashPatternOffset,
	double dashPatternScale,
	double dashPatternStartAbsolute,
	bool startCapForwardAndPositionProvided,
	bool startCapNeedsJoiningSegment,
	PolylinePointD3DAsClass startCapCOS,
	bool endCapForwardAndPositionProvided,
	bool endCapNeedsJoiningSegment,
	PolylinePointD3DAsClass endCapCOS
)

Parameters

linePoints  IEnumerablePointD3D
The line points of the polyline that is dissected.
startIndex  Double
Fractional start index of the intermediate polyline that is then dissected. A value of 0 means the original start of the polyline, a value of 0.5 means the start is halfway between the first and the second point of the original polyline and so on.
endIndex  Double
Fractional end index of the intermediate polyline that is then dissected. A value of linePoints.Count-1 means the original end of the polyline, a value of linePoints.Count-1.5 means the end is halfway between the next-to-last and the last point of the original polyline and so on.
dashPattern  IReadOnlyListDouble
The dash pattern used to dissect the polyline.
dashPatternOffset  Double
The dash pattern offset (relative units, i.e. same units as dashPattern itself).
dashPatternScale  Double
Length of one unit of the dash pattern..
dashPatternStartAbsolute  Double
An absolute length. This parameter is similar to dashPatternOffset, but in absolute units.
startCapForwardAndPositionProvided  Boolean
If true, the start cap position and forward vector are already known and are not need to be calculated in this procedure. But west and north vector are still calculated here.
startCapNeedsJoiningSegment  Boolean
If true, the start cap needs a joining segment to merge seamlessly with the first segment. This joining segment is provided by the enumeration. It is a segment of length zero, i.e. has the same position as the next point, but with an orientation as the startcap has.
startCapCOS  PolylinePointD3DAsClass
Data to be filled out be the procedure that describes position and orientation of the start cap.
endCapForwardAndPositionProvided  Boolean
If true, the end cap position and forward vector are already known and are not need to be calculated in this procedure. But west and north vector are still calculated here.
endCapNeedsJoiningSegment  Boolean
If true, the end cap needs a joining segment to merge seamlessly with the first segment. This joining segment is provided by the enumeration. It is a segment of length zero, i.e. has the same position as the previous point, but with an orientation as the end cap has.
endCapCOS  PolylinePointD3DAsClass
Data to be filled out be the procedure that describes position and orientation of the end cap.

Return Value

IEnumerableListPolylinePointD3D
Enumeration of polylines. The first item of the returned tuples is the list with the polyline points, the second item is the west vector for the first polyline point, and the third item is the north vector for the first polyline point.
Exceptions
See Also