ArcGIS Runtime SDK for iOS
100.15

A builder to build geometries.
Instances of this class represent a builder that can build geometries. Geometries are immutable, they cannot be modified after they are created. Use builders to create new geometries either from scratch, or by using an existing geometry as a starting off point. Modifications made through the builder affect only its own internal copy of the geometry. They do not affect the original geometry.
AGSSketchEditor
to construct or modify geometries interactively by sketching on a map. Instance Methods  
(BOOL)   isEmpty 
(instancetype)   replaceGeometry: 
(AGSGeometry *)   toGeometry 
Class Methods  
(AGSGeometryBuilder *)  + builderWithGeometry: 
(AGSGeometryBuilder *)  + builderWithGeometryType:spatialReference: 
Properties  
AGSEnvelope *  extent 
AGSGeometryType  geometryType 
BOOL  hasCurves 
BOOL  hasM 
BOOL  hasZ 
AGSSpatialReference *  spatialReference 
+ (AGSGeometryBuilder*) builderWithGeometry:  (nullable AGSGeometry *)  geometry 
Factory method to create a geometry builder from a geometry.
geometry  The geometry to be used as the starting point for further modifications. 
AGSGeometryBuilder::hasCurves
+ (AGSGeometryBuilder*) builderWithGeometryType:  (AGSGeometryType)  geometryType  
spatialReference:  (nullable AGSSpatialReference *)  sr  
Factory method to create a geometry builder from a geometry type and spatial reference.
Prior to v100.12, only geometries without curves could be used. Passing in a geometry where AGSGeometry::hasCurves
is YES
would fail to replace the geometry.
From v100.12, geometries with curves are supported.
geometryType  The type of geometry to be constructed. 
sr  The spatial reference for the geometry to be constructed. 
AGSGeometryBuilder::hasCurves
 (BOOL) isEmpty 
Indicates whether the builder's geometry is empty.
AGSGeometry::isEmpty
 (instancetype) replaceGeometry:  (nullable AGSGeometry *)  geometry 
Replaces the builder's geometry with the provided one.
This does not update the spatial reference of the builder. If the geometry is nil
, the builder is cleared.
Prior to v100.12, only geometries without curves could be used. Passing in a geometry where AGSGeometry::hasCurves
is YES
would fail to replace the geometry.
From v100.12, geometries with curves are supported.
geometry  The geometry object to replace with. 
 (AGSGeometry*) toGeometry 
Returns the geometry this builder is constructing or modifying.
Implemented in AGSPolylineBuilder, AGSPolygonBuilder, AGSPointBuilder, AGSMultipointBuilder, and AGSEnvelopeBuilder.

readnonatomicstrong 
Smallest, rectangular boundingbox that covers the builder's geometry.
AGSGeometry::extent

readnonatomicassign 
The type of geometry the builder will construct or modify.

readnonatomicassign 
A value indicating whether the geometry builder currently contains any curve segments.
The ArcGIS Platform supports polygon and polyline geometries that contain curve segments (where AGSSegment::curve
is YES
, sometimes known as true curves or nonlinear segments). Curves may be present in certain types of data  for example Mobile Map Packages (MMPKs), or geometry JSON.
Prior to v100.12, only AGSLineSegment
instances were supported when creating new geometries using an AGSMultipartBuilder
. Attempting to add curve geometries to an AGSMultipartBuilder
would cause an error.
From v100.12, you can use curves in an AGSMultipartBuilder
. New segment types AGSCubicBezierSegment
and AGSEllipticArcSegment
represent different types of curve that can be added to polygon and polyline geometries.

readnonatomicassign 
Indicates whether the builder's geometry contains m (measure) values.
AGSGeometry::hasM

readnonatomicassign 
Indicates whether the builder's geometry contains z coordinate values.
AGSGeometry::hasZ

readnonatomicstrong 
The spatial reference associated with the builder's gometry. It specifies the coordinate system for the geometry's x, y, and z coordinate values.
AGSGeometry::spatialReference