@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
49 lines (46 loc) • 2.19 kB
TypeScript
/**
* Extend 2D polylines with a polyline.
*
* By default, this considers both ends of parts. The old ends remain and new points are added at the extended ends.
* The new points have attributes that are extrapolated from adjacent existing segments.
*
* @since 4.31
*/
import type Polyline from "../Polyline.js";
export interface Options {
/** If an extension is performed at an end, relocate the end point to the new position instead of leaving the old point and adding a new point at the new position. */
relocateEnds?: boolean;
/**
* If an extension is performed at an end, do not extrapolate the end-segment's attributes for the new point. Instead, make its attributes the same as the current end.
* Incompatible with `noEndAttributes`.
*/
keepEndAttributes?: boolean;
/**
* If an extension is performed at an end, do not extrapolate the end-segment's attributes for the new point.
* Instead, make its attributes empty.
* Incompatible with `keepEndAttributes`.
*/
noEndAttributes?: boolean;
/** Do not extend the 'from' end of any part. */
noExtendAtFrom?: boolean;
/** Do not extend the 'to' end of any part. */
noExtendAtTo?: boolean;
}
/**
* Performs the extend operation on a polyline using a polyline as the extender.
*
* @param polyline1 - The polyline to be extended.
* @param polyline2 - The polyline to extend to.
* @param options - Additional options.
* @returns Returns the extended polyline or null.
* The output polyline will have the first and last segment of each path extended to `polyline2` if the segments can be interpolated to intersect it.
* In the case that the segments can be extended to multiple segments of the extender, `polyline2`, the shortest extension is chosen.
* Only end points for paths that are not shared by the end points of other paths will be extended.
* If the polyline cannot be extended, then null is returned.
*/
export function execute(polyline1: Polyline, polyline2: Polyline, options?: Options): Polyline | null | undefined;
/**
* Indicates if the operator supports input geometries that contain curves.
* The value will always be `false`.
*/
export const supportsCurves: boolean;