ArcGISGeometry

Namespace: Esri::GameEngine::Geometry
Class: Esri/GameEngine/Geometry/ArcGISGeometry
Since: 1.0.0

Summary

Base class for all classes that represent geometric shapes.

Properties

PropertyTypeNullableReadonlySummary
No
Yes

Indicates the dimensionality of an ArcGISGeometry, relating to the number of spatial dimensions in which the geometry may have a size.

No
Yes

The minimum enclosing bounding-box (or ArcGISEnvelope) that covers the geometry.

No
Yes

True if this geometry contains curve segments, false otherwise.

No
Yes

True if the geometry has m values (measure values), false otherwise.

No
Yes

True if the geometry has z-coordinate values, false otherwise.

No
Yes

True if the geometry is empty, false otherwise.

Yes
Yes

The spatial reference for this geometry.

Dimension

ArcGISGeometryDimension GetDimension() const

Indicates the dimensionality of an ArcGISGeometry, relating to the number of spatial dimensions in which the geometry may have a size.

You can use ArcGISGeometry::Dimension to determine what kind of symbol can be applied to a specific type of geometry. For example, ArcGISPoint and ArcGISMultipoint are both zero-dimensional point geometries, and both can be displayed using a type of MarkerSymbol. ArcGISPolygon and ArcGISEnvelope are both 2-dimensional area geometries that can be displayed using a type of FillSymbol.

Returns ArcGISGeometryDimension::Unknown if an error occurs.

Extent

ArcGISEnvelope GetExtent() const

The minimum enclosing bounding-box (or ArcGISEnvelope) that covers the geometry.

HasCurves

bool GetHasCurves() const

True if this geometry contains curve segments, false otherwise.

ArcGIS software supports polygon and polyline geometries that contain curve segments (where ArcGISSegment::IsCurve is true, sometimes known as true curves or nonlinear segments). Curves may be present in certain types of data - for example Mobile Map Packages (MMPK) or geometry JSON.

If a polygon or polyline geometry contains curve segments, this property returns true. Prior to v100.12, it was not possible to access curve segments, and only ArcGISLineSegment instances would be returned when iterating through the segments in an ArcGISPolygon or ArcGISPolyline object, irrespective of this property.

From v100.12, you can use curve segments when using an ArcGISMultipartBuilder to create or edit polygon and polyline geometries, and also get curve segments when iterating through the segments of existing ArcGISMultipart geometries when this property returns true.

HasM

bool GetHasM() const

True if the geometry has m values (measure values), false otherwise.

M is a vertex value that is stored with the geometry. These values typically represent non-spatial measurements or attributes.

HasZ

bool GetHasZ() const

True if the geometry has z-coordinate values, false otherwise.

Only 3D geometries contain z-coordinate values. These values typically represent elevation, height, or depth.

IsEmpty

bool GetIsEmpty() const

True if the geometry is empty, false otherwise.

A geometry is empty if it does not have valid geographic coordinates, even if the ArcGISSpatialReference is specified. An empty ArcGISGeometry is a valid object that has no location in space.

SpatialReference

ArcGISSpatialReference GetSpatialReference() const

The spatial reference for this geometry.

This can be null if the geometry is not associated with an ArcGISSpatialReference.

Methods

SignatureReturn TypeSummary

Equals(const ArcGISGeometry&)

bool

Checks if two geometries are exactly equal. The types of geometry, order of points, all values, and the ArcGISSpatialReference must all be equal.

Equals(const ArcGISGeometry&, double)

bool

Checks if two geometries are approximately the same within the given tolerance.

FromJSON(const FString&, const ArcGISSpatialReference&)

ArcGISGeometry

Creates a geometry from an ArcGIS JSON geometry representation.

Equals

bool Equals(const ArcGISGeometry& right) const

Checks if two geometries are exactly equal. The types of geometry, order of points, all values, and the ArcGISSpatialReference must all be equal.

Since 1.0.0

Arguments
NameTypeConstSummary
right
Yes

The second geometry.

Returns bool

True if the comparison succeeds and the objects are equal, false otherwise.

Equals

bool Equals(const ArcGISGeometry& right, double tolerance) const

Checks if two geometries are approximately the same within the given tolerance.

Since 1.0.0

Arguments
NameTypeConstSummary
right
Yes

The second geometry.

tolerance
No

The tolerance.

Returns bool

True if the geometries are equal, within the tolerance, otherwise false.

FromJSON

static ArcGISGeometry FromJSON(const FString& inputJSON, const ArcGISSpatialReference& spatialReference)

Creates a geometry from an ArcGIS JSON geometry representation.

Since 1.0.0

Arguments
NameTypeConstSummary
inputJSON
Yes

JSON representation of geometry.

spatialReference
Yes

The geometry's spatial reference.

Returns ArcGISGeometry

Geometry converted from a JSON String.

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