ArcGISMutablePart

Namespace: GameEngine.Geometry
Class: GameEngine/Geometry/ArcGISMutablePart
Since: 1.0.0

Summary

Represents a single part of a multipart builder.

Constructors

ArcGISMutablePart(ArcGISSpatialReference)

Creates a part with a specified spatial reference.

Since 1.0.0

Arguments
NameTypeSummary
spatialReference

A spatial reference object, can be null.

Properties

PropertyTypeNullableReadonlySummary
Yes
Yes

The end point of the last segment in the part. Returns null if the collection is empty.

No
Yes

Indicates if the part contains any curve segments.

No
Yes

Indicates if the part contains no segments.

No
Yes

The count of points in the part.

No
Yes

The count of segments in the part.

Yes
No

The spatial reference for the part.

Yes
Yes

The start point of the first segment in the part. Returns null if the collection is empty.

EndPoint

ArcGISPoint EndPoint

The end point of the last segment in the part. Returns null if the collection is empty.

HasCurves

bool HasCurves

Indicates if the part contains any curve segments.

Prior to v100.12, only ArcGISLineSegment linear segments were available to be added to mutable parts when building geometries.

From v100.12, geometry builders support curve segments. This property returns true if any segments where ArcGISSegment.IsCurve is true have been added to the part.

IsEmpty

bool IsEmpty

Indicates if the part contains no segments.

PointCount

ulong PointCount

The count of points in the part.

The points in the part are the start and end points of segments. Segments can share a point if the end point of one segment matches the start point of the next.

SegmentCount

ulong SegmentCount

The count of segments in the part.

SpatialReference

ArcGISSpatialReference SpatialReference

The spatial reference for the part.

If the mutable_part does not have a spatial reference null is returned.

StartPoint

ArcGISPoint StartPoint

The start point of the first segment in the part. Returns null if the collection is empty.

Methods

SignatureReturn TypeSummary

AddPoint(double, double)

ulong

Add a new point to the end of the part by specifying the points x,y coordinates. A new line segment is added to connect the new point to the previous.

AddPoint(double, double, double)

ulong

Add a new point to the end of the part by specifying the points x,y,z coordinates. A new line segment is added to connect the new point to the previous.

AddPoint(ArcGISPoint)

ulong

Add a new point to the end of the part. A new line segment is added to connect the new point to the previous.

AddSegment(ArcGISSegment)

ulong

Add segment to the end of the part.

GetEndPointIndexFromSegmentIndex(ulong)

ulong

For a segment at a specified segment_index the method returns the point index of the segment's end point.

GetPoint(ulong)

ArcGISPoint

Returns a point at a specified point index.

GetPoints()

ArcGISImmutablePointCollection

Returns all the points that are the vertexes of the part.

GetSegment(ulong)

ArcGISSegment

Gets a segment at a specified segment index.

GetSegmentIndexFromEndPointIndex(ulong)

ulong

Converts from a point index to a segment index that uses the given point as an end point. If the point is not an end point, then -1 is returned.

GetSegmentIndexFromPointIndex(ulong, ulong, ulong)

void

Converts from a point index to a segment index of the start point and another segment index containing the end point. If the point is not a start or end point, then -1 is set.

GetSegmentIndexFromStartPointIndex(ulong)

ulong

Converts from a point index to a segment index that uses the given point as a start point. If the point is not a start point, then -1 is returned.

GetStartPointIndexFromSegmentIndex(ulong)

ulong

For a segment at a specified segment_index the method returns the point index of the segment's start point.

InsertPoint(ulong, double, double)

void

Inserts a point specified by its x,y coordinates into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

InsertPoint(ulong, double, double, double)

void

Inserts a point specified by its x,y,z coordinate into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

InsertPoint(ulong, ArcGISPoint)

void

Inserts a point into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

InsertSegment(ulong, ArcGISSegment)

void

Inserts a segment into the part at the specified index.

RemoveAll()

void

Remove all segments from the part.

RemovePoint(ulong)

void

Removes a point from the part. Segments connecting to this point are removed and the gap filled with a new line segment.

RemoveSegment(ulong)

void

Remove a segment at the specified index from the part.

SetPoint(ulong, ArcGISPoint)

void

Replace a point in the part at the specified point index. Segments that use this point are changed.

SetSegment(ulong, ArcGISSegment)

void

Replaces a segment at the specified index in the part.

AddPoint

ulong AddPoint(double x, double y)

Add a new point to the end of the part by specifying the points x,y coordinates. A new line segment is added to connect the new point to the previous.

Since 1.0.0

Arguments
NameTypeSummary
x

The x-coordinate of the new point.

y

The y-coordinate of the new point.

Returns ulong

the point index where the point was added. If an error occurred, then -1 is returned.

AddPoint

ulong AddPoint(double x, double y, double z)

Add a new point to the end of the part by specifying the points x,y,z coordinates. A new line segment is added to connect the new point to the previous.

Since 1.0.0

Arguments
NameTypeSummary
x

The x-coordinate of the new point.

y

The y-coordinate of the new point.

z

The z-coordinate of the new point.

Returns ulong

the point index where the point was added. If an error occurred then -1 is returned.

AddPoint

ulong AddPoint(ArcGISPoint point)

Add a new point to the end of the part. A new line segment is added to connect the new point to the previous.

Since 1.0.0

Arguments
NameTypeSummary
point

The point to add.

Returns ulong

the point index where the point was added. If an error occurred then -1 is returned.

AddSegment

ulong AddSegment(ArcGISSegment segment)

Add segment to the end of the part.

Since 1.0.0

Arguments
NameTypeSummary
segment

The segment.

Returns ulong

the segment index where the segment was added. If an error occurred, then -1 is returned.

GetEndPointIndexFromSegmentIndex

ulong GetEndPointIndexFromSegmentIndex(ulong segmentIndex)

For a segment at a specified segment_index the method returns the point index of the segment's end point.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

Returns ulong

A point index

GetPoint

ArcGISPoint GetPoint(ulong pointIndex)

Returns a point at a specified point index.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

Returns ArcGISPoint

An ArcGISPoint.

GetPoints

Returns all the points that are the vertexes of the part.

Since 1.0.0

Returns ArcGISImmutablePointCollection

The immutable collections of points.

GetSegment

ArcGISSegment GetSegment(ulong segmentIndex)

Gets a segment at a specified segment index.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

Returns ArcGISSegment

An ArcGISSegment.

GetSegmentIndexFromEndPointIndex

ulong GetSegmentIndexFromEndPointIndex(ulong pointIndex)

Converts from a point index to a segment index that uses the given point as an end point. If the point is not an end point, then -1 is returned.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

Returns ulong

The segment index containing the end point or max size_t if the segment is not found.

GetSegmentIndexFromPointIndex

void GetSegmentIndexFromPointIndex(ulong pointIndex, ulong* outStartPointSegmentIndex, ulong* outEndPointSegmentIndex)

Converts from a point index to a segment index of the start point and another segment index containing the end point. If the point is not a start or end point, then -1 is set.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

outStartPointSegmentIndex

This is set to the segment index using the point as a start point. Can be null.

outEndPointSegmentIndex

This is set to the segment index using the point as an end point. Can be null.

Returns void

GetSegmentIndexFromStartPointIndex

ulong GetSegmentIndexFromStartPointIndex(ulong pointIndex)

Converts from a point index to a segment index that uses the given point as a start point. If the point is not a start point, then -1 is returned.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

Returns ulong

The segment index containing the start point. If point is not a start point, then -1 is returned.

GetStartPointIndexFromSegmentIndex

ulong GetStartPointIndexFromSegmentIndex(ulong segmentIndex)

For a segment at a specified segment_index the method returns the point index of the segment's start point.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

Returns ulong

A point index

InsertPoint

void InsertPoint(ulong pointIndex, double x, double y)

Inserts a point specified by its x,y coordinates into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

x

The x-coordinate of the new point.

y

The y-coordinate of the new point.

Returns void

InsertPoint

void InsertPoint(ulong pointIndex, double x, double y, double z)

Inserts a point specified by its x,y,z coordinate into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

x

The x-coordinate of the new point.

y

The y-coordinate of the new point.

z

The z-coordinate of the new point.

Returns void

InsertPoint

void InsertPoint(ulong pointIndex, ArcGISPoint point)

Inserts a point into the part at the specified point index. Line segments are added to connect the point to adjacent segments.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

point

The point to insert.

Returns void

InsertSegment

void InsertSegment(ulong segmentIndex, ArcGISSegment segment)

Inserts a segment into the part at the specified index.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

segment

The segment to insert.

Returns void

RemoveAll

void RemoveAll()

Remove all segments from the part.

Since 1.0.0

Returns void

RemovePoint

void RemovePoint(ulong pointIndex)

Removes a point from the part. Segments connecting to this point are removed and the gap filled with a new line segment.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

Returns void

RemoveSegment

void RemoveSegment(ulong segmentIndex)

Remove a segment at the specified index from the part.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

Returns void

SetPoint

void SetPoint(ulong pointIndex, ArcGISPoint point)

Replace a point in the part at the specified point index. Segments that use this point are changed.

Since 1.0.0

Arguments
NameTypeSummary
pointIndex

Zero-based index of the point.

point

The point.

Returns void

SetSegment

void SetSegment(ulong segmentIndex, ArcGISSegment segment)

Replaces a segment at the specified index in the part.

Since 1.0.0

Arguments
NameTypeSummary
segmentIndex

Zero-based index of the segment.

segment

The segment to be set into the collection.

Returns void

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.