PolylineMath3DDissectPolylineWithDashPattern Method |
Dissects a polyline into multiple polylines using a dash pattern.
Namespace: Altaxo.GeometryAssembly: AltaxoCore (in AltaxoCore.dll) Version: 4.8.3179.0 (4.8.3179.0)
Syntax 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
IEnumerableListPolylinePointD3DEnumeration 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