LuciadCPillar C# 2023.1.04
Luciad.Edit.Features.FeatureHandlesProvider.IHandleFactory Interface Reference

Allows you to specify the translate handle that is used by this handles provider. More...

Public Member Functions

Handles.IEditHandle CreateTranslateHandle (Utils.Observable< Models.Features.Feature > feature, Utils.Observable< Luciad.Geometries.Geometry > geometry, Handles.ITranslateEditAction editAction, Features.FeatureEditContext context)
 Creates a handle that allows you to translate the entire Geometry. More...
 
bool IsTranslateHandleValid (Handles.IEditHandle translateHandle, Utils.Observable< Models.Features.Feature > feature, Utils.Observable< Luciad.Geometries.Geometry > geometry, Features.FeatureEditContext context)
 Returns true if the translate handle is still valid, or false if it should be removed. More...
 

Detailed Description

Allows you to specify the translate handle that is used by this handles provider.

It allows you to: replace the handle with another handle implementation (dynamically) disable or re-enable the translation handles

Note: Other handles are created by the delegate geometry handles provider. Additional handles can not be added using this factory. The way to do this is to wrap the IEditHandles provided by FeatureHandlesProvider, 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::FeatureHandlesProvider::IHandleFactory.

Member Function Documentation

◆ CreateTranslateHandle()

Luciad.Edit.Handles.IEditHandle Luciad.Edit.Features.FeatureHandlesProvider.IHandleFactory.CreateTranslateHandle ( Utils.Observable< Models.Features.Feature feature,
Utils.Observable< Luciad.Geometries.Geometry geometry,
Handles.ITranslateEditAction  editAction,
Features.FeatureEditContext  context 
)

Creates a handle that allows you to translate the entire Geometry.

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

feature

the feature that is being edited

geometry

the feature's Geometry that is being edited

editAction

the translate edit action, to be used by the handle. If a constraint was configured on the delegate geometry handles provider, this action applies that constraint when it is executed.

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::FeatureHandlesProvider::IHandleFactory::createTranslateHandle.

◆ IsTranslateHandleValid()

bool Luciad.Edit.Features.FeatureHandlesProvider.IHandleFactory.IsTranslateHandleValid ( Handles.IEditHandle  translateHandle,
Utils.Observable< Models.Features.Feature feature,
Utils.Observable< Luciad.Geometries.Geometry geometry,
Features.FeatureEditContext  context 
)

Returns true if the translate 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 the edit handles. When this method returns false, the handle is removed and createTranslateHandle 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.

translateHandle

the handle

feature

the feature that is being edited

geometry

the feature's 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::FeatureHandlesProvider::IHandleFactory::isTranslateHandleValid.