serviceCurveGeometryMode property
Determines if curve geometries are fetched from and sent to services that support them.
By default, this API does not fetch curves in geometries or act as a true curve client, which means:
- Densified versions of any curve geometries are fetched from services, resulting in client-side geometries where Geometry.hasCurves is always false.
- Curve geometries stored in services where ArcGISFeatureServiceInfo.onlyAllowTrueCurveUpdatesByTrueCurveClients is true cannot be updated.
If your application preserves curve segments throughout all workflows, set this property to ServiceCurveGeometryMode.trueCurveClient, which means:
- Curve geometries are fetched from services, resulting in client-side geometries where Geometry.hasCurves is true.
- Your app will inform the services that it is a true curve client, and therefore will be able to update curve geometries stored in services where ArcGISFeatureServiceInfo.onlyAllowTrueCurveUpdatesByTrueCurveClients is true.
Ensure that you change this property before any calls to services are made, as it cannot be changed after the first request has begun. Note that some geometry operations do not support curve geometries; see GeometryEngine for details of curve support. GeometryEditor does not support curve geometries. It is your responsibility to ensure data integrity by correctly preserving any curve segments throughout your application when using ArcGISEnvironment.serviceCurveGeometryMode.
For details of curve support in services, see ArcGIS REST API documentation.
For services that don't support curves, this value has no effect. It also has no effect on local data sources that may contain curve geometries, such as mobile geodatabases or mobile map packages created using ArcGIS Pro.
Implementation
static ServiceCurveGeometryMode get serviceCurveGeometryMode {
_initializeArcGISEnvironmentIfNeeded();
final coreValue = _withThrowingErrorHandler((errorHandler) {
return runtimecore
.RT_ArcGISRuntimeEnvironment_getServiceCurveGeometryMode(
errorHandler,
);
});
return ServiceCurveGeometryMode._fromCoreValue(
coreValue,
);
}
Implementation
static set serviceCurveGeometryMode(ServiceCurveGeometryMode value) {
_initializeArcGISEnvironmentIfNeeded();
_withThrowingErrorHandler((errorHandler) {
runtimecore.RT_ArcGISRuntimeEnvironment_setServiceCurveGeometryMode(
value.coreValue,
errorHandler,
);
});
}