ArcGIS Runtime SDK for iOS
100.15

A builder to construct or modify multipart geometries.
Instances of this class represent a builder that can construct or modify multipart geometries such as AGSPolygon
and AGSPolyline
which are otherwise immutable.
AGSSketchEditor
to construct or modify geometries interactively by sketching on a map. Instance Methods  
(instancetype)   addPartWithPoints: 
(instancetype)   addPoint: 
(instancetype)   addPoints:toPartAtIndex: 
(instancetype)   addPointWithX:y: 
(instancetype)   addPointWithX:y:z: 
(BOOL)   isEmpty 
(instancetype)   replaceGeometry: 
(AGSGeometry *)   toGeometry 
Class Methods  
(AGSGeometryBuilder *)  + builderWithGeometry: 
(AGSGeometryBuilder *)  + builderWithGeometryType:spatialReference: 
Properties  
AGSEnvelope *  extent 
AGSGeometryType  geometryType 
BOOL  hasCurves 
BOOL  hasM 
BOOL  hasZ 
AGSMutablePartCollection *  parts 
AGSSpatialReference *  spatialReference 
 (instancetype) addPartWithPoints:  (NSArray< AGSPoint * > *)  points 
Add new part with given points to the builder's multipart geometry.
 (instancetype) addPoint:  (AGSPoint *)  point 
Appends a vertex to the builder's multipart geometry.
 (instancetype) addPoints:  (NSArray< AGSPoint * > *)  points  
toPartAtIndex:  (NSInteger)  partIndex  
Add points to the builder's multipart geometry at given part index.
 (instancetype) addPointWithX:  (double)  x  
y:  (double)  y  
Appends a vertex to the builder's multipart geometry.
 (instancetype) addPointWithX:  (double)  x  
y:  (double)  y  
z:  (double)  z  
Appends a vertex to the builder's multipart geometry.
+ (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.

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

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

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

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

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

readwritenonatomicstrong 
The parts of the builder's geometry. Can be iterated through a forin loop.

readnonatomicstronginherited 
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