LuciadCPillar 2023.1.04
luciad::IFeatureCreator Class Referenceabstract

A feature creator can create feature instances, based on input events. More...

#include <luciad/create/features/IFeatureCreator.h>

Inheritance diagram for luciad::IFeatureCreator:
luciad::FeatureCreator luciad::MilitarySymbolFeatureCreator

Public Member Functions

virtual ~IFeatureCreator ()=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< IFeatureCreateCallback > callback, const std::shared_ptr< FeatureCreateContext > &context)=0
 This method is called to start creation. More...
 

Detailed Description

A feature creator can create feature instances, based on input events.

It uses a callback to signal changes to the feature or to signal that the creation has finished.

Users of this class need to

IFeatureCreator instances can be used multiple times. Creating a new instance should only start after the last one has finished.

Since
2020.1

Constructor & Destructor Documentation

◆ ~IFeatureCreator()

virtual luciad::IFeatureCreator::~IFeatureCreator ( )
virtualdefault

Member Function Documentation

◆ onEvent()

virtual EventResult luciad::IFeatureCreator::onEvent ( const std::shared_ptr< IInputEvent > &  inputEvent,
const std::shared_ptr< FeatureCreateContext > &  context 
)
pure virtual

Handles the given event, and returns if the event was handled or not.

Parameters
contextthe creation context, cannot be nullptr
inputEventan event, cannot be nullptr
Returns
if the event was consumed or not
Exceptions
NullArgumentExceptionwhen nullptr is passed.

Implemented in luciad::FeatureCreator, and luciad::MilitarySymbolFeatureCreator.

◆ start()

virtual void luciad::IFeatureCreator::start ( std::shared_ptr< IFeatureCreateCallback callback,
const std::shared_ptr< FeatureCreateContext > &  context 
)
pure virtual

This method is called to start creation.

After this call, IFeatureCreator::onEvent can be called.

When a IFeatureCreator was started, it can not be started again until it has stopped. Implementations of this method are encouraged to throw an exception in that case to signal a programming error by the caller of this method.

Parameters
contextthe creation context, cannot be nullptr
callbackthe callback to signal feature changes, and whether creation for the feature has finished, cannot be nullptr.
Exceptions
NullArgumentExceptionwhen nullptr is passed.

Implemented in luciad::FeatureCreator, and luciad::MilitarySymbolFeatureCreator.