LuciadCPillar 2023.1.04
|
Allows you to specify the translate handle that is used by this handles provider. More...
#include <luciad/edit/features/FeatureHandlesProvider.h>
Public Member Functions | |
virtual | ~IHandleFactory ()=default |
virtual std::shared_ptr< IEditHandle > | createTranslateHandle (const std::shared_ptr< Observable< Feature > > &feature, const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &geometry, const std::shared_ptr< ITranslateEditAction > &editAction, const std::shared_ptr< FeatureEditContext > &context)=0 |
Creates a handle that allows you to translate the entire Geometry. More... | |
virtual bool | isTranslateHandleValid (const std::shared_ptr< IEditHandle > &translateHandle, const std::shared_ptr< Observable< Feature > > &feature, const std::shared_ptr< Observable< std::shared_ptr< Geometry > > > &geometry, const std::shared_ptr< FeatureEditContext > &context)=0 |
Returns true if the translate handle is still valid, or false if it should be removed. More... | |
Allows you to specify the translate handle that is used by this handles provider.
It allows you to:
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.
|
virtualdefault |
|
pure virtual |
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 |
nullptr
if no handle should be used
|
pure virtual |
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 |