Class ArcBandHandlesProvider
- All Implemented Interfaces:
IGeometryHandlesProvider,AutoCloseable
ArcBand geometries.
It offers the following handles:
move centerhandlemaximum radiushandleminimum radiushandlestart anglehandleend anglehandleminimum radius starthandlemaximum radius starthandleminimum radius endhandlemaximum radius endhandle
Note: the handle to translate the entire feature is typically created by the IFeatureHandlesProvider. FeatureHandlesProvider does this by default.
- Since:
- 2025.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAllows you to specify which handles are used by this handles provider. -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new handles provider that can create handles to modify arc band geometries. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanProvide(Observable<@Nullable Geometry> geometry, FeatureEditContext context) Indicates if this handles provider can create handles for the given geometry.voidclose()booleanprotected voidfinalize()Returns the constraint that is applied to the handles' edit actions.Returns the handle factory used by the handle provider.inthashCode()provide(Observable<@Nullable Geometry> geometry, FeatureEditContext context, IGeometryEditCallback geometryEditCallback) Returns the handles for the given feature.provideTranslateAction(Observable<@Nullable Geometry> geometry, FeatureEditContext context, IGeometryEditCallback geometryEditCallback) Provides a translate action that can be used by the caller to add translation behavior.voidsetConstraint(IArcBandConstraint constraint) Sets the constraint that is applied to the handles' edit actions.voidSets the handle factory used by the handle provider.
-
Constructor Details
-
ArcBandHandlesProvider
public ArcBandHandlesProvider()Creates a new handles provider that can create handles to modify arc band geometries.
-
-
Method Details
-
finalize
protected void finalize() -
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
canProvide
public boolean canProvide(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context) Indicates if this handles provider can create handles for the given geometry.- Specified by:
canProvidein interfaceIGeometryHandlesProvider- Parameters:
geometry- an observable geometry, cannot benullcontext- the context. Contains additional information about the edited feature, cannot benull.- Returns:
- if this handles provider can provide handles and a translate action for the given
Feature
-
provide
@NotNull public IEditHandles provide(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context, @NotNull IGeometryEditCallback geometryEditCallback) Returns the handles for the given feature.Note:
translationof features is handled byIFeatureHandlesProvider. So geometry handles providers should not provide handles to translate a geometry.- Specified by:
providein interfaceIGeometryHandlesProvider- Parameters:
geometry- the observable geometry for which to provide handles, cannot benull.context- the context. Contains additional information about the edited feature, cannot benull.geometryEditCallback- a callback that notifies the caller when theFeaturehas changed, cannot benull.- Returns:
- handles for the given feature. Never
null.
-
provideTranslateAction
@NotNull public ITranslateEditAction provideTranslateAction(@NotNull Observable<@Nullable Geometry> geometry, @NotNull FeatureEditContext context, @NotNull IGeometryEditCallback geometryEditCallback) Provides a translate action that can be used by the caller to add translation behavior.A translation handle is typically added by an
IFeatureHandlesProvider, for example theFeatureHandlesProviderimplementation. It calls this method to retrieve a translate action, and uses it to create aTranslateEditHandle.When
ITranslateEditAction#translateis called, the returned implementation must:- apply a translation to the geometry
- apply this
IGeometryHandlesProvider's constraint (if configured) to the translated geometry - call
IGeometryEditCallbackwith the resulting geometry
- Specified by:
provideTranslateActionin interfaceIGeometryHandlesProvider- Parameters:
geometry- the observable geometry for which to provide a translate action, cannot benullcontext- the context, cannot benullgeometryEditCallback- a callback that notifies the caller of this method when a translation has occurred, cannot benull- Returns:
- a translate action. Never
null.
-
getHandleFactory
Returns the handle factory used by the handle provider.- Returns:
- the handle factory used by the handle provider.
-
setHandleFactory
public void setHandleFactory(@NotNull ArcBandHandlesProvider.IHandleFactory factory) throws NullPointerException Sets the handle factory used by the handle provider.If this method is not called, a default handle factory is used. You can change the behavior of this default handle factory by:
- Wrapping it with your own
IHandleFactoryimplementation, by delegating to the default factory. - Omitting/replacing one or more handles that are returned.
- Parameters:
factory- A handle factory.- Throws:
NullPointerException- Whennullis passed.
- Wrapping it with your own
-
setConstraint
Sets the constraint that is applied to the handles' edit actions.- Parameters:
constraint- the constraint that is applied to the handles' edit actions, ornullif no constraint should be applied.
-
getConstraint
Returns the constraint that is applied to the handles' edit actions.Can be
nullif no constraint is set.- Returns:
- The constraint that is applied to the handles' edit actions, or
nullif no constraint is set.
-
hashCode
public int hashCode() -
equals
-