<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.