Skip To Content ArcGIS for Developers Sign In Dashboard

Part QML Type

A mutable collection of Segments that together define the shape of a part in a Multipart geometry under construction. More...

Import Statement: import Esri.ArcGISRuntime 100.9
Since: Esri.ArcGISRuntime 100.0
Inherits:

Object

Properties

Signals

Methods

Detailed Description

This type is used in PolygonBuilder and PolylineBuilder, and by the MultipartBuilder parts property.

The spatial reference must be set before adding points or segments and cannot be changed after points or segments have been added.

Use the inherited methods to define and change the shape of the geometry by adding, removing, or changing its segments. Additionally, the addPoint and removePoint Point-based helper methods allow working with points that represent the vertices of the part, instead of working with segments.

The spatial reference of any geometries added to a part must match that of the part, or be unspecified (in which case the geometry is assumed to have the same spatial reference as the part). Added geometries are not reprojected.

This QML type supports the following default properties. A default property may be declared inside another declared object without being assigned explicitly to a property.

Property Documentation

empty : bool

Returns whether the Part contains any points or segments (read-only).


pointCount : int

Returns the number of points contained in the Part (read-only).


segmentCount : int

Returns the number of segments contained in the Part (read-only).


[default] spatialReference : SpatialReference

The SpatialReference of the Part.

Note: The SpatialReference can only be changed while the Part is empty.

See also empty.


Signal Documentation

emptyChanged()

Emitted when the empty property changes.

Note: The corresponding handler is onEmptyChanged.


pointCountChanged()

Emitted when the pointCount property changes.

Note: The corresponding handler is onPointCountChanged.


segmentCountChanged()

Emitted when the segmentCount property changes.

Note: The corresponding handler is onSegmentCountChanged.


spatialReferenceChanged()

Emitted when the spatialReference property changes.

Note: The corresponding handler is onSpatialReferenceChanged.


Method Documentation

int addPoint(point)

Adds a new point to the end of the part.

A new line segment will be added to connect the new point to the previous point. The points in the part are the start and end points of segments. If this is the first point in an empty segment, a single closed segment is added using the same start and end point. Adding a second point will update this line segment to gain a distinct end point. Adding a third or more points will add new line segments.

Returns the index where the Point was added or -1 on error.


int addPointXY(x, double y)

Add a new Point to the end of the part by specifying the point's x, and y coordinates.

A new line segment will be added to connect the new point to the previous point. The points in the part are the start and end points of segments. If this is the first point in an empty segment, a single closed segment is added using the same start and end point. Adding a second point will update this line segment to gain a distinct end point. Adding a third or more points will add new line segments.

Returns the index where the point was added or -1 on error.

Note: the coordinates must be in the spatial reference of the Part.


int addPointXYZ(x, double y, double z)

Adds a point to the Part from x, y and z values.

Adds a new Point to the end of the part by specifying the point's x, y, and z coordinates. A new line segment will be added to connect the new point to the previous.

A new line segment will be added to connect the new point to the previous point. The points in the part are the start and end points of segments. If this is the first point in an empty segment, a single closed segment is added using the same start and end point. Adding a second point will update this line segment to gain a distinct end point. Adding a third or more points will add new line segments.


void addPoints(points)

Adds a list of points to the Part.

This method was introduced in Esri.ArcGISRuntime 100.1.


int addSegment(segment)

A new segment is added to the end.

If the start point of the segment matches the previous end point, the segment will share this point. The count of points will increase by 1 if the segment connects, or 2 points if it is disconnected. A more efficient way to add a LineSegment to a part is to use one of the addPoint methods. For example Part::addPoint.

Returns the index where the Segment was added or -1 on error.


Point endPoint()

Gets the end point of this part.

Returns null if there are no points in this part.


int endPointIndexFromSegmentIndex(segmentIndex)

Gets the end point index from the given segmentIndex.

Returns the end point index or -1 on error or invalid index.


void insertPoint(pointIndex, Point point)

Inserts a point into the part at the specified pointIndex.

Line segments will be added to connect the point to adjacent segments. The point index can be equal to the point count and this is equivalent to adding a point to the end of the collection. The points in the part are the start and end points of segments. An existing segment connecting the point before or after the point index is removed. Inserting a new point will insert new line segments connecting the adjacent points.


void insertPointXY(pointIndex, double x, double y)

Inserts a Point specified by its x and y coordinates into the part at the specified pointIndex.

Line segments will be added to connect the point to adjacent segments. The point index can be equal to the point count and this is equivalent to adding a point to the end of the collection. The points in the part are the start and end points of segments. An existing segment connecting the point before or after the point index is removed. Inserting a new point will insert new line segments connecting the adjacent points.

.


void insertPointXYZ(pointIndex, double x, double y, double z)

Inserts a point specified by its x, y, and z coordinates into the part at the specified pointIndex.

Line segments will be added to connect the point to adjacent segments. The point index can be equal to the point count and this is equivalent to adding a point to the end of the collection. The points in the part are the start and end points of segments. An existing segment connecting the point before or after the point index is removed. Inserting a new point will insert new line segments connecting the adjacent points.

The coordinates must be in the spatial reference of the Part.


void insertSegment(segmentIndex, Segment segment)

Inserts segment at segmentIndex.


Point point(pointIndex)

Gets the point at index pointIndex.

Returns null if the point is not found.

See also setPoint().


Gets the collection of points in this part.


void removeAll()

Removes all the points and segments.


void removePoint(pointIndex)

Removes the point at pointIndex.


void removeSegment(segmentIndex)

Removes the segment at segmentIndex.


Segment segment(segmentIndex)

Gets the Segment at segmentIndex.

Returns the Segment or null if the index isn't valid.

See also setSegment().


int segmentEndPointIndexFromPointIndex(pointIndex)

Gets the segment end point index from the given pointIndex.

Returns the segment end point index or -1 on error or invalid index.


int segmentIndexFromEndPointIndex(pointIndex)

Gets the segment index from the end point index pointIndex.

Returns the segment point index or -1 on error or invalid index.


int segmentIndexFromStartPointIndex(pointIndex)

Gets the segment index from the start point index pointIndex.

Returns the segment point index or -1 on error or invalid index.


int segmentStartPointIndexFromPointIndex(pointIndex)

Gets the segment start point index from the given pointIndex.

Returns the segment start point index or -1 on error or invalid index.


void setPoint(pointIndex, Point point)

Reassigns the point at pointIndex to point.

See also point().


void setSegment(segmentIndex, Segment segment)

Reassigns the segment at segmentIndex to segment.

See also segment().


Point startPoint()

Gets the start point of this part.

Returns null if there are no points in this part.


int startPointIndexFromSegmentIndex(segmentIndex)

Gets the start point index from the given segmentIndex.

Returns the start point index or -1 on error or invalid index.



Feedback on this topic?