LuciadCPillar C# 2026.0.09
Loading...
Searching...
No Matches
Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory Interface Reference

Allows you to specify which handles are used by this handles provider. More...

Public Member Functions

Luciad.Edit.Handles.IEditHandle CreateInsertPointHandle (Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint insertIndex, Luciad.Edit.Handles.IPointEditAction editAction, Luciad.Edit.Features.FeatureEditContext context)
 Creates a handle that allows you to insert a new point in a PolylineRing.
Luciad.Edit.Handles.IEditHandle CreateMovePointHandle (Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint pointIndex, Luciad.Edit.Handles.IPointEditAction editAction, Luciad.Edit.Features.FeatureEditContext context)
 Creates a handle that allows you to move a point of the PolylineRing.
Luciad.Edit.Handles.IEditHandle CreateRemovePointHandle (Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint pointIndex, Luciad.Edit.Handles.IPointEditAction editAction, Luciad.Edit.Features.FeatureEditContext context)
 Creates a handle that allows you to remove a point of the PolylineRing.
bool IsInsertPointHandleValid (Luciad.Edit.Handles.IEditHandle insertPointHandle, Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint insertIndex, Luciad.Edit.Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed.
bool IsMovePointHandleValid (Luciad.Edit.Handles.IEditHandle movePointHandle, Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint pointIndex, Luciad.Edit.Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed.
bool IsRemovePointHandleValid (Luciad.Edit.Handles.IEditHandle removePointHandle, Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing, uint pointIndex, Luciad.Edit.Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed.

Detailed Description

Allows you to specify which handles are used by this handles provider.

It allows you to

  • replace handles with other handle implementations
  • (dynamically) disable or re-enable specific handles

Additional handles can not be added using this factory. The way to do this is to wrap the IEditHandles provided by PolylineRingHandlesProvider, and to insert additional handles in the IEditHandles.GetList method.

Member Function Documentation

◆ CreateInsertPointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.CreateInsertPointHandle ( Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint insertIndex,
Luciad.Edit.Handles.IPointEditAction editAction,
Luciad.Edit.Features.FeatureEditContext context )

Creates a handle that allows you to insert a new point in a PolylineRing.

While the handle is not already present, this method is called whenever the edited geometry changes.

Parameters
polylineRingthe Geometry that is being edited
insertIndexthe index at which to insert a point in the Polyline. After the point is inserted, the new point will have this index. Values are within [1, pointCount].
editActionthe edit action that inserts the point. If a constraint was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange parameter with one inserted point index.
contextthe context
Returns
a new handle, or null if no handle should be used

◆ CreateMovePointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.CreateMovePointHandle ( Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint pointIndex,
Luciad.Edit.Handles.IPointEditAction editAction,
Luciad.Edit.Features.FeatureEditContext context )

Creates a handle that allows you to move a point of the PolylineRing.

While the handle is not already present, this method is called whenever the edited geometry changes.

Parameters
polylineRingthe Geometry that is being edited
pointIndexthe index of the point to move
editActionthe move-point edit action, to be used by the handle. If a constraint was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange parameter with one moved point index.
contextthe context
Returns
a new handle, or null if no handle should be used

◆ CreateRemovePointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.CreateRemovePointHandle ( Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint pointIndex,
Luciad.Edit.Handles.IPointEditAction editAction,
Luciad.Edit.Features.FeatureEditContext context )

Creates a handle that allows you to remove a point of the PolylineRing.

While the handle is not already present, this method is called whenever the edited geometry changes.

Parameters
polylineRingthe Geometry that is being edited
pointIndexthe index of the point to remove
editActionthe remove-point edit action, to be used by the handle. If a constraint was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange parameter with one removed point index.
contextthe context
Returns
a new handle, or null if no handle should be used

◆ IsInsertPointHandleValid()

bool Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.IsInsertPointHandleValid ( Luciad.Edit.Handles.IEditHandle insertPointHandle,
Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint insertIndex,
Luciad.Edit.Features.FeatureEditContext context )

Returns true if the given handle is still valid, or false if it should be removed.

This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and CreateInsertPointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null in that method.

Parameters
insertPointHandlethe handle
polylineRingthe Geometry that is being edited
insertIndexthe insertion index
contextthe context
Returns
true if the given handle is still valid, or false if it should be removed.

◆ IsMovePointHandleValid()

bool Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.IsMovePointHandleValid ( Luciad.Edit.Handles.IEditHandle movePointHandle,
Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint pointIndex,
Luciad.Edit.Features.FeatureEditContext context )

Returns true if the given handle is still valid, or false if it should be removed.

This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and CreateMovePointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null in that method.

Parameters
movePointHandlethe handle
polylineRingthe Geometry that is being edited
pointIndexthe index of the point
contextthe context
Returns
true if the given handle is still valid, or false if it should be removed.

◆ IsRemovePointHandleValid()

bool Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory.IsRemovePointHandleValid ( Luciad.Edit.Handles.IEditHandle removePointHandle,
Luciad.Utils.Observable< Luciad.Geometries.PolylineRing > polylineRing,
uint pointIndex,
Luciad.Edit.Features.FeatureEditContext context )

Returns true if the given handle is still valid, or false if it should be removed.

This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and CreateRemovePointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null in that method.

Parameters
removePointHandlethe handle
polylineRingthe Geometry that is being edited
pointIndexthe index of the point
contextthe context
Returns
true if the given handle is still valid, or false if it should be removed.