LuciadCPillar C# 2024.0.04
Luciad.Edit.Geometries.PolylineRingHandlesProvider Class Reference

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

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

Classes

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

Public Member Functions

 PolylineRingHandlesProvider ()
 Creates a new handles provider that can create handles for a PolylineRing geometry. 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...
 
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.IPolylineRingConstraint Constraint [get, set]
 The constraint that is applied on the handles' edit actions. More...
 
Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory HandleFactory [get, set]
 The handle factory used by the handles provider. More...
 
uint MaxPointCount [get, set]
 The maximum number of points a polyline ring can have. More...
 
uint MinPointCount [get, set]
 The minimum number of points a polyline ring can have. More...
 

Detailed Description

This handles provider can create handles to edit PolylineRing geometries.

It offers the following handles:

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

Since
2020.1

Constructor & Destructor Documentation

◆ PolylineRingHandlesProvider()

Luciad.Edit.Geometries.PolylineRingHandlesProvider.PolylineRingHandlesProvider ( )
inline

Creates a new handles provider that can create handles for a PolylineRing geometry.

Member Function Documentation

◆ CanProvide()

bool Luciad.Edit.Geometries.PolylineRingHandlesProvider.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.

Parameters
geometryan observable geometry, cannot be null
contextthe context. Contains additional information about the edited feature, cannot be null.
Returns
if this handles provider can provide handles and a translate action for the given Feature

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ Dispose()

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

◆ Provide()

Luciad.Edit.Handles.IEditHandles Luciad.Edit.Geometries.PolylineRingHandlesProvider.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.

Parameters
geometrythe observable geometry for which to provide handles, cannot be null.
contextthe context. Contains additional information about the edited feature, cannot be null.
geometryEditCallbacka callback that notifies the caller when the Feature has changed, cannot be null.
Returns
handles for the given feature. Never null.

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ ProvideTranslateAction()

Luciad.Edit.Handles.ITranslateEditAction Luciad.Edit.Geometries.PolylineRingHandlesProvider.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:

Parameters
geometrythe observable geometry for which to provide a translate action, cannot be null
contextthe context, cannot be null
geometryEditCallbacka callback that notifies the caller of this method when a translation has occurred, cannot be null
Returns
a translate action. Never null.

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

Property Documentation

◆ Constraint

Luciad.Geometries.Constraints.IPolylineRingConstraint Luciad.Edit.Geometries.PolylineRingHandlesProvider.Constraint
getset

The constraint that is applied on the handles' edit actions.

[get]

Returns the constraint that is applied on the handles' edit actions. Can be null if no constraint is set.

[set]

Sets the constraint that is applied on the handles' edit actions. They always call this constraint with a PolylineChange, describing a single change. More specifically:

◆ HandleFactory

Luciad.Edit.Geometries.PolylineRingHandlesProvider.IHandleFactory Luciad.Edit.Geometries.PolylineRingHandlesProvider.HandleFactory
getset

The handle factory used by the handles provider.

[get]

Returns the handle factory used by the handles provider.

[set]

Sets the handle factory used by the handles 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 IHandleFactory implementation, by delegating to the default factory
  • omitting/replacing one or more handles that are returned
Exceptions
System.ArgumentNullExceptionwhen null is passed.

◆ MaxPointCount

uint Luciad.Edit.Geometries.PolylineRingHandlesProvider.MaxPointCount
getset

The maximum number of points a polyline ring can have.

[get]

Returns the maximum number of points a polyline ring can have.

[set]

Sets the maximum number of points a polyline ring can have. If a polyline's point count is higher than or equal to this value, this handles provider will not provide handles to insert new points for that polyline ring. By default, this value is the maximum value of size_t, which realistically corresponds to "no maximum".

Exceptions
System.ArgumentExceptionif maxPointCount is lower than the current min point count.
See also
MaxPointCount

◆ MinPointCount

uint Luciad.Edit.Geometries.PolylineRingHandlesProvider.MinPointCount
getset

The minimum number of points a polyline ring can have.

[get]

Returns the minimum number of points a polyline ring can have.

[set]

Sets the minimum number of points a polyline ring can have. If a polyline ring's point count is lower than or equal to this value, this handles provider will not provide handles to remove points from that polyline ring. By default, this value is 3.

Exceptions
System.ArgumentExceptionif minPointCount is lower than 2, or higher than the current maximum point count.
See also
MinPointCount