LuciadCPillar C# 2024.0.04
|
This provider can create handles to edit Polyline
geometries.
More...
Classes | |
interface | IHandleFactory |
Allows you to specify which handles are used by this handles provider. More... | |
Properties | |
Luciad.Geometries.Constraints.IPolylineConstraint | Constraint [get, set] |
The constraint that is applied to the handles' edit actions. More... | |
Luciad.Edit.Geometries.PolylineHandlesProvider.IHandleFactory | HandleFactory [get, set] |
The handle factory used by the handles provider. More... | |
uint | MaxPointCount [get, set] |
The maximum number of points a polyline can have. More... | |
uint | MinPointCount [get, set] |
The minimum number of points a polyline can have. More... | |
This provider can create handles to edit Polyline
geometries.
It offer the following handles:
move point
handles insert point
handles prepend point
handle 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.
|
inline |
Creates a new handles provider that can create handles to modify Polyline
geometries.
|
inline |
Indicates if this handles provider can create handles for the given geometry.
geometry | an observable geometry, cannot be null |
context | the context. Contains additional information about the edited feature, cannot be null . |
Feature
Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.
|
inline |
|
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 null . |
context | the context. Contains additional information about the edited feature, cannot be null . |
geometryEditCallback | a callback that notifies the caller when the Feature has changed, cannot be null . |
null
. Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.
|
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:
IGeometryHandlesProvider
's constraint (if configured) on the translated geometry IGeometryEditCallback
with the resulting geometry geometry | the observable geometry for which to provide a translate action, cannot be null |
context | the context, cannot be null |
geometryEditCallback | a callback that notifies the caller of this method when a translation has occurred, cannot be null |
null
. Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.
|
getset |
The constraint that is applied to the handles' edit actions.
Returns the constraint that is applied to the handles' edit actions. Can be null
if no constraint is set.
Sets the constraint that is applied to the handles' edit actions. They always call this constraint with a PolylineChange
, describing a single change. More specifically:
Move point handles
and elevation point handles
provide a PolylineChange
containing one moved point index
. Insert point handles
and the prepend
or append
point handle provide a PolylineChange
containing one inserted point index
. Remove point handles
provide a PolylineChange
containing one removed point index
.
|
getset |
The handle factory used by the handles provider.
Returns the handle factory used by the handles provider.
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:
IHandleFactory
implementation, by delegating to the default factory System.ArgumentNullException | when null is passed. |
|
getset |
The maximum number of points a polyline can have.
Returns the maximum number of points a polyline can have.
Sets the maximum number of points a polyline 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, prepend or append new points for that polyline. By default, this value is the maximum value of size_t
, which realistically corresponds to "no maximum".
System.ArgumentException | if maxPointCount is lower than the current min point count . |
MaxPointCount
|
getset |
The minimum number of points a polyline can have.
Returns the minimum number of points a polyline can have.
Sets the minimum number of points a polyline can have. If a polyline's point count is lower than or equal to this value, this handles provider will not provide handles to remove points from that polyline. By default, this value is 2.
System.ArgumentException | if minPointCount is lower than 2, or higher than the current maximum point count . |
MinPointCount