LuciadCPillar 2024.0.08
|
A geometry creator can create geometry instances, based on input events. More...
#include <luciad/create/geometries/IGeometryCreator.h>
Public Member Functions | |
virtual | ~IGeometryCreator ()=default |
virtual EventResult | onEvent (const std::shared_ptr< IInputEvent > &inputEvent, const std::shared_ptr< FeatureCreateContext > &context)=0 |
Handles the given event, and returns if the event was handled or not. More... | |
virtual void | start (std::shared_ptr< IGeometryCreateCallback > callback, const std::shared_ptr< FeatureCreateContext > &context)=0 |
This method is called to start creation. More... | |
A geometry creator can create geometry instances, based on input events.
It uses a callback
to signal changes to the geometry or to signal that the creation has finished.
Users of this class need to
start
creationsend events
to the creatorgeometry changes
finished
IGeometryCreator instances can be used multiple times. Creating a new instance should only start
after the last one has finished
.
|
virtualdefault |
|
pure virtual |
Handles the given event, and returns if the event was handled or not.
context | the context, cannot be nullptr |
inputEvent | an event, cannot be nullptr |
NullArgumentException | when nullptr is passed. |
Implemented in luciad::PatchCreator, luciad::PointCreator, luciad::PolylineCreator, and luciad::PolylineRingCreator.
|
pure virtual |
This method is called to start creation.
After this call, IGeometryCreator::onEvent
can be called.
When a IGeometryCreator was started, it can not be started again until it has finished
. Implementations of this method are encouraged to throw an exception in that case to signal a programming error by the caller of this method.
context | the context, cannot be nullptr |
callback | the callback to signal geometry changes, and whether creation for the geometry has finished, cannot be nullptr . |
NullArgumentException | when nullptr is passed. |
Implemented in luciad::PatchCreator, luciad::PointCreator, luciad::PolylineCreator, and luciad::PolylineRingCreator.