Namespace: Esri::GameEngine::Geometry
Class: Esri/GameEngine/Geometry/ArcGISGeometry
Since: 1.0.0
Summary
Base class for all classes that represent geometric shapes.
Properties
Property | Type | Nullable | Readonly | Summary |
---|---|---|---|---|
No | Yes | Indicates the dimensionality of a 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 a ArcGISGeometry, relating to the number of spatial dimensions in which the geometry may have a size.
You can use ArcGISGeometry::Dimension to work out 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 Marker
. ArcGISPolygon and ArcGISEnvelope are both 2-dimensional area
geometries that can be displayed using a type of Fill
.
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 a ArcGISPolygon or ArcGISPolyline object, irrespective of this property.
From v100.12, you can use curve segments when using a 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 a ArcGISSpatialReference.
Methods
Signature | Return Type | Summary |
---|---|---|
Equals(const ArcGISGeometry&) | 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) | Checks if two geometries are approximately the same within the given tolerance. | |
FromJSON(const FString&, const ArcGISSpatialReference&) | 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
Name | Type | Const | Summary |
---|---|---|---|
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
Name | Type | Const | Summary |
---|---|---|---|
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
Name | Type | Const | Summary |
---|---|---|---|
input | Yes | JSON representation of geometry. | |
spatial | Yes | The geometry's spatial reference. |
Returns ArcGISGeometry
Geometry converted from a JSON String.