LuciadCPillar C# 2023.1.04
Luciad.Edit.Geometries.PolylineHandlesProvider Class Reference

This provider can create handles to edit Polyline geometries. More...

Inheritance diagram for Luciad.Edit.Geometries.PolylineHandlesProvider:
Luciad.Edit.Geometries.IGeometryHandlesProvider

Classes

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

Public Member Functions

 PolylineHandlesProvider ()
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given geometry. More...
 
void Dispose ()
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Returns the handles for the given feature. More...
 
Luciad.Edit.Handles.ITranslateEditAction ProvideTranslateAction (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Provides a translate action that can be used by the caller to add translation behavior. More...
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given geometry. More...
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Returns the handles for the given feature. More...
 
Luciad.Edit.Handles.ITranslateEditAction ProvideTranslateAction (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Provides a translate action that can be used by the caller to add translation behavior. More...
 

Properties

Luciad.Geometries.Constraints.IPolylineConstraint Constraint [get, set]
 
Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory HandleFactory [get, set]
 
uint MaxPointCount [get, set]
 
uint MinPointCount [get, set]
 

Detailed Description

This provider can create handles to edit Polyline geometries.

It offer the following handles: move point handles insert point handles a prepend point handle an append point handle remove point handles elevation point handles. Note that the default implementation of PointHandlesProvider::IHandleFactory automatically omits these handles on a 2D map, or on a 3D map for polylines without elevation.

Note: the handle to translate the entire feature is typically created by the IFeatureHandlesProvider. FeatureHandlesProvider does this by default. 2020.1

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

Constructor & Destructor Documentation

◆ PolylineHandlesProvider()

Luciad.Edit.Geometries.PolylineHandlesProvider.PolylineHandlesProvider ( )
inline

Member Function Documentation

◆ CanProvide()

bool Luciad.Edit.Geometries.PolylineHandlesProvider.CanProvide ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context 
)
inline

Indicates if this handles provider can create handles for the given geometry.

geometry

an observable geometry, cannot be nullptr

context

the context. Contains additional information about the edited feature, cannot be nullptr.

if this handles provider can provide handles and a translate action for the given Feature

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

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ Dispose()

void Luciad.Edit.Geometries.PolylineHandlesProvider.Dispose ( )
inline

◆ Provide()

Luciad.Edit.Handles.IEditHandles Luciad.Edit.Geometries.PolylineHandlesProvider.Provide ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context,
Luciad.Edit.Geometries.IGeometryEditCallback  geometryEditCallback 
)
inline

Returns the handles for the given feature.

Note: translation of features is handled by IFeatureHandlesProvider. So geometry handles providers should not provide handles to translate a geometry.

geometry

the observable geometry for which to provide handles, cannot be nullptr.

context

the context. Contains additional information about the edited feature, cannot be nullptr.

geometryEditCallback

a callback that notifies the caller when the Feature has changed, cannot be nullptr.

handles for the given feature. Never nullptr.

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

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ ProvideTranslateAction()

Luciad.Edit.Handles.ITranslateEditAction Luciad.Edit.Geometries.PolylineHandlesProvider.ProvideTranslateAction ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context,
Luciad.Edit.Geometries.IGeometryEditCallback  geometryEditCallback 
)
inline

Provides a translate action that can be used by the caller to add translation behavior.

A translation handle is typically added by an IFeatureHandlesProvider, like for example the FeatureHandlesProvider implementation. It calls this method to retrieve a translate action, and uses it to create a TranslateEditHandle. When ITranslateEditAction::translate is called, the returned implementation must: apply a translation on the geometry apply this IGeometryHandlesProvider's constraint (if configured) on the translated geometry call IGeometryEditCallback with the resulting geometry

geometry

the observable geometry for which to provide a translate action, cannot be nullptr

context

the context, cannot be nullptr

geometryEditCallback

a callback that notifies the caller of this method when a translation has occurred, cannot be nullptr

a translate action. Never nullptr.

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

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

Property Documentation

◆ Constraint

Luciad.Geometries.Constraints.IPolylineConstraint Luciad.Edit.Geometries.PolylineHandlesProvider.Constraint
getset

◆ HandleFactory

Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory Luciad.Edit.Geometries.PolylineHandlesProvider.HandleFactory
getset

◆ MaxPointCount

uint Luciad.Edit.Geometries.PolylineHandlesProvider.MaxPointCount
getset

◆ MinPointCount

uint Luciad.Edit.Geometries.PolylineHandlesProvider.MinPointCount
getset