LuciadCPillar C# 2024.1.04
Luciad.Edit.Geometries.PolygonHandlesProvider Class Reference

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

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

Public Member Functions

 PolygonHandlesProvider ()
 Creates a new handles provider that can create handles for a Polygon 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 ()
 
override bool Equals (object obj)
 
override int GetHashCode ()
 
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.Edit.Geometries.IGeometryHandlesProvider PolylineRingHandlesProvider [get, set]
 The IGeometryHandlesProvider that is used to provide handles for exterior and interior PolylineRing instances. More...
 

Detailed Description

This handles provider can create handles to edit Polygon geometries.

It delegates its handle creation to a delegate IGeometryHandlesProvider for its exterior and interior PolylineRing instances.

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

Limitations of this handle provider:

  • it does not create a handle to remove interior PolylineRing instances
  • it does not create a handle to add new interior PolylineRing instances
  • it does not prevent you from modifying the PolylineRing instances that overlap with other PolylineRing instances, or that self-overlap.
Since
2024.1

Constructor & Destructor Documentation

◆ PolygonHandlesProvider()

Luciad.Edit.Geometries.PolygonHandlesProvider.PolygonHandlesProvider ( )
inline

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

Member Function Documentation

◆ CanProvide()

bool Luciad.Edit.Geometries.PolygonHandlesProvider.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.PolygonHandlesProvider.Dispose ( )
inline

◆ Equals()

override bool Luciad.Edit.Geometries.PolygonHandlesProvider.Equals ( object  obj)
inline

◆ GetHashCode()

override int Luciad.Edit.Geometries.PolygonHandlesProvider.GetHashCode ( )
inline

◆ Provide()

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

◆ PolylineRingHandlesProvider

Luciad.Edit.Geometries.IGeometryHandlesProvider Luciad.Edit.Geometries.PolygonHandlesProvider.PolylineRingHandlesProvider
getset

The IGeometryHandlesProvider that is used to provide handles for exterior and interior PolylineRing instances.

[get]

Returns the IGeometryHandlesProvider that is used to provide handles for exterior and interior PolylineRing instances.

[set]

Sets the IGeometryHandlesProvider that is used to provide handles for the exterior and interior PolylineRing instances. If this method is not called, a default implementation is used.

Exceptions
System.ArgumentNullExceptionwhen null is passed.
See also
PolygonHandlesProvider.PolylineRingHandlesProvider