LuciadCPillar C# 2023.1.04
Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory Interface Reference

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

Public Member Functions

Handles.IEditHandle CreateAppendPointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to insert a new point at the end of a Polyline. More...
 
Handles.IEditHandle CreateElevationPointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to change the elevation of the point of a Polyline. More...
 
Handles.IEditHandle CreateInsertPointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, uint insertIndex, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to insert a new point between two existing points of a Polyline. More...
 
Handles.IEditHandle CreateMovePointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to move a point of the Polyline. More...
 
Handles.IEditHandle CreatePrependPointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to insert a new point at the start of a Polyline. More...
 
Handles.IEditHandle CreateRemovePointHandle (Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Handles.IPointEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to remove a point of the Polyline. More...
 
bool IsAppendPointHandleValid (Handles.IEditHandle appendPointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 
bool IsElevationPointHandleValid (Handles.IEditHandle elevationPointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 
bool IsInsertPointHandleValid (Handles.IEditHandle insertPointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, uint insertIndex, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 
bool IsMovePointHandleValid (Handles.IEditHandle movePointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 
bool IsPrependPointHandleValid (Handles.IEditHandle prependPointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 
bool IsRemovePointHandleValid (Handles.IEditHandle removePointHandle, Utils.Observable< Luciad.Geometries.Polyline > polyline, uint pointIndex, Features.FeatureEditContext context)
 Returns true if the given handle is still valid, or false if it should be removed. More...
 

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 PolylineHandlesProvider, and to insert additional handles in the IEditHandles::getList method.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory.

Member Function Documentation

◆ CreateAppendPointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreateAppendPointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

Creates a handle that allows you to insert a new point at the end of a Polyline.

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

polyline

the Geometry that is being edited

editAction

the edit action that inserts the point at the end of the polyline. 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 equal to pointCount (of the new polyline).

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createAppendPointHandle.

◆ CreateElevationPointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreateElevationPointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

Creates a handle that allows you to change the elevation of the point of a Polyline.

This method is only called when a 3D Map is used. While the handle is not already present, this method is called whenever the edited geometry changes.

polyline

the Geometry that is being edited

pointIndex

the index of the point to move/remove

editAction

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

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createElevationPointHandle.

◆ CreateInsertPointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreateInsertPointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  insertIndex,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

Creates a handle that allows you to insert a new point between two existing points of a Polyline.

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

polyline

the Geometry that is being edited

insertIndex

the index at which to insert a point in the Polyline. After the point is inserted, the new point will have this index. Values lie within [1, pointCount - 1]

editAction

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

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createInsertPointHandle.

◆ CreateMovePointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreateMovePointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

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

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

polyline

the Geometry that is being edited

pointIndex

the index of the point to move

editAction

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

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createMovePointHandle.

◆ CreatePrependPointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreatePrependPointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

Creates a handle that allows you to insert a new point at the start of a Polyline.

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

polyline

the Geometry that is being edited

editAction

the edit action that inserts the point at the start of the polyline. 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 equal to 0.

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createPrependPointHandle.

◆ CreateRemovePointHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.CreateRemovePointHandle ( Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
Handles.IPointEditAction  editAction,
Features.FeatureEditContext  context 
)

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

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

polyline

the Geometry that is being edited

pointIndex

the index of the point to remove

editAction

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

context

the context

a new handle, or nullptr if no handle should be used

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::createRemovePointHandle.

◆ IsAppendPointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsAppendPointHandleValid ( Handles.IEditHandle  appendPointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
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 createAppendPointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return nullptr in that method.

appendPointHandle

the handle

polyline

the Geometry that is being edited

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isAppendPointHandleValid.

◆ IsElevationPointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsElevationPointHandleValid ( Handles.IEditHandle  elevationPointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
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 createElevationPointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return nullptr in that method.

elevationPointHandle

the handle

polyline

the Geometry that is being edited

pointIndex

the index of the point

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isElevationPointHandleValid.

◆ IsInsertPointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsInsertPointHandleValid ( Handles.IEditHandle  insertPointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  insertIndex,
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 nullptr in that method.

insertPointHandle

the handle

polyline

the Geometry that is being edited

insertIndex

the insertion index

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isInsertPointHandleValid.

◆ IsMovePointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsMovePointHandleValid ( Handles.IEditHandle  movePointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
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 nullptr in that method.

movePointHandle

the handle

polyline

the Geometry that is being edited

pointIndex

the index of the point

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isMovePointHandleValid.

◆ IsPrependPointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsPrependPointHandleValid ( Handles.IEditHandle  prependPointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
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 createPrependPointHandle is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return nullptr in that method.

prependPointHandle

the handle

polyline

the Geometry that is being edited

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isPrependPointHandleValid.

◆ IsRemovePointHandleValid()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory.IsRemovePointHandleValid ( Handles.IEditHandle  removePointHandle,
Utils.Observable< Luciad.Geometries.Polyline polyline,
uint  pointIndex,
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 nullptr in that method.

removePointHandle

the handle

polyline

the Geometry that is being edited

pointIndex

the index of the point

context

the context

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

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PolylineHandlesProvider::IHandleFactory::isRemovePointHandleValid.