<GeometryEditorTypes.h> - GeometryEditor Enums

Collection of GeometryEditor enumerations. More...

Header: #include <GeometryEditorTypes.h>

Types

enum class GeometryEditorElementType { GeometryEditorGeometry, GeometryEditorPart, GeometryEditorVertex, GeometryEditorMidVertex }
enum class GeometryEditorScaleMode { Stretch, Uniform }
enum class GeometryEditorToolType { VertexTool, FreehandTool, ShapeTool, ReticleVertexTool }
enum class ShapeToolType { Arrow, Ellipse, Rectangle, Triangle }
enum class SnapState { Unsnapped, SnappedToFeature, SnappedToGeometryGuide }

Detailed Description

Type Documentation

[since Esri::ArcGISRuntime 200.1] enum class GeometryEditorElementType

Identifies the type of a GeometryEditorElement.

The GeometryEditorElementType can be one of:

ConstantValueDescription
GeometryEditorElementType::GeometryEditorGeometry0The entire GeometryEditor::geometry. See: GeometryEditorGeometry.
GeometryEditorElementType::GeometryEditorPart1A single part in a Polyline or Polygon. See: GeometryEditorPart.
GeometryEditorElementType::GeometryEditorVertex2A vertex in a Point, Multipoint, Polyline, or Polygon. See: GeometryEditorMidVertex.
GeometryEditorElementType::GeometryEditorMidVertex3A mid-vertex in a Polyline or Polygon. See: GeometryEditorMidVertex

This enum was introduced or modified in Esri::ArcGISRuntime 200.1.

[since Esri::ArcGISRuntime 200.2] enum class GeometryEditorScaleMode

Determines how a geometry can be interactively scaled (resized) while using the GeometryEditor.

Set the InteractionConfiguration::scaleMode property to one of the values to determine interactive scaling behavior of a GeometryEditor. Additionally, this value also determines how the initial shape is created when using the ShapeTool. See: InteractionConfiguration::scaleMode, and GeometryEditor::scaleSelectedElement.

The GeometryEditorScaleMode can be one of:

ConstantValueDescription
GeometryEditorScaleMode::Stretch0The geometry can be scaled freely and the aspect ratio is not preserved.
GeometryEditorScaleMode::Uniform1The geometry can be scaled proportionally, preserving the original aspect ratio.

This enum was introduced or modified in Esri::ArcGISRuntime 200.2.

[since Esri::ArcGISRuntime 200.1] enum class GeometryEditorToolType

Identifies the type of a GeometryEditorTool.

The GeometryEditorToolType can be one of:

ConstantValueDescription
GeometryEditorToolType::VertexTool0A VertexTool.
GeometryEditorToolType::FreehandTool1A FreehandTool.
GeometryEditorToolType::ShapeTool2A ShapeTool (since 200.2).
GeometryEditorToolType::ReticleVertexTool3A ReticleVertexTool (since 200.5).

This enum was introduced or modified in Esri::ArcGISRuntime 200.1.

[since Esri::ArcGISRuntime 200.2] enum class ShapeToolType

Identifies the type of a ShapeTool.

The ShapeToolType can be one of:

ConstantValueDescription
ShapeToolType::Arrow0Allows you to drag on a map view to define the corners of a bounding box within which an arrow-shaped geometry fits. The created arrow shape is aligned along the horizontal axis, pointing in the direction of the drag. To create arrows pointing in other directions, ensure Esri::ArcGISRuntime::InteractionConfiguration::isAllowRotatingSelectedElement and Esri::ArcGISRuntime::InteractionConfiguration::isAllowPartSelection are true to allow interactive selection and rotation to the desired direction.
ShapeToolType::Ellipse1Allows you to drag on a map view to define the center point and a point on the circumference of an ellipse-shaped geometry. To create a circular shape, use this value in combination with a Esri::ArcGISRuntime::ShapeTool::configuration InteractionConfiguration::scaleMode value of GeometryEditorScaleMode::Uniform. Geometries created using this type are not represented by true curves but rather consist of a series of straight lines (Esri::ArcGISRuntime::Geometry::hasCurves is false).
ShapeToolType::Rectangle2Allows you to drag on a map view to define the corners of a bounding box within which a rectangle-shaped geometry fits. To create a square shape, use this value in combination with a Esri::ArcGISRuntime::ShapeTool::configuration InteractionConfiguration::scaleMode value of GeometryEditorScaleMode::Uniform. Geometries created using this type are either polygons or polylines, depending on the parameter passed to GeometryEditor::start(Esri::ArcGISRuntime::GeometryType) - it cannot create an Envelope geometry.
ShapeToolType::Triangle3Allows you to drag on a map view to define the center point and a corner of a triangle-shaped geometry. The created triangle shape is aligned along the vertical axis, pointing opposite to the direction of the drag. To create triangles pointing in other directions, ensure Esri::ArcGISRuntime::InteractionConfiguration::isAllowRotatingSelectedElement and Esri::ArcGISRuntime::InteractionConfiguration::isAllowPartSelection are true to allow interactive selection and rotation to the desired direction. To create an equilateral triangle, use this value in combination with a Esri::ArcGISRuntime::ShapeTool::configuration Esri::ArcGISRuntime::InteractionConfiguration::scaleMode value of GeometryEditorScaleMode::Uniform.

This enum was introduced or modified in Esri::ArcGISRuntime 200.2.

[since Esri::ArcGISRuntime 200.6] enum class SnapState

The resulting snap state when snapping to or from a snap candidate.

The SnapState can be one of:

ConstantValueDescription
SnapState::Unsnapped0The previous snap candidate is no longer suitable and the current edit position is not snapped.
SnapState::SnappedToFeature1A snap has occurred to a SnapSource. This value will be returned in the following cases:
  • When moving from an unsnapped position to a position that's snapped to an existing snappable feature or graphic.
  • When there is a change in snap candidate. For example, moving from a snap point on a polyline segment to its end vertex. This includes moving to a multiple candidate snap where one of the candidates was part of the previous snap.

Note that if the snap contains multiple candidates, where some are from features/graphics and some are from geometry guides, then SnapState::SnappedToFeature will take priority over SnapState::SnappedToGeometryGuide.

This value will not be returned in these cases:

  • When there is a change in snap point but not snap candidate. For example, moving from a snap point on a polyline segment to another snap point on the same polyline segment.
  • When moving around a feature or graphic such that the snap point and snap candidate do not change.
ConstantValueDescription
SnapState::SnappedToGeometryGuide2A snap has occured to a geometry guide. This value will be returned in the following cases:
  • When moving from an unsnapped position to a position that's snapped to an existing geometry guide.
  • When there is a change in snap candidate. For example, moving from a snap point on a geometry guide to a different geometry guide, or to a multiple candidate snap that involves the same guide.

This value will not be returned in these cases:

  • When there is a change in snap point but not snap candidate. For example, moving from a snap point on a geometry guide to another snap point on the same geometry guide.
  • When moving around a geometry guide such that the snap point and snap candidate do not change.

This enum was introduced or modified in Esri::ArcGISRuntime 200.6.

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

You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

Your ArcGIS portal

Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

Your ArcGIS Location Platform dashboard

Manage billing, monitor service usage, and access additional resources.

Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

Close