#include <OMKTriggerEmitterExtension.h>
Inheritance diagram for OMK::MultiTriggerEmitterExtensionT< T, ModelType >:
Public Member Functions | |
virtual | ~MultiTriggerEmitterExtensionT () |
Static Public Attributes | |
static Name | OMK_CLASS_ID |
The id for the class in a configuration. | |
static const bool | REGISTERED_IN_EXTENSION_FACTORY |
The registration in the extension factory. | |
Protected Member Functions | |
MultiTriggerEmitterExtensionT (ExtensibleSimulatedObject *owner, const Name &id, bool registerExtension) | |
Constructor. | |
virtual bool | loadExtensionParameters (const ConfigurationParameterDescriptor *node) |
Configuration parameters loader of Extension. | |
virtual void | postComputeParameters () |
The overwritten method. | |
Protected Attributes | |
IAttributeBaseT< bool > * | _trigger |
Friends | |
class | OMK::ExtensionCreatorT< MultiTriggerEmitterExtensionT< T, ModelType > > |
The creator is a friend. |
The creation is done dynamically through the following configuration:
visualisation { Class OgreVis ... Extensions { plus { Class MultiTrigger...Emitter // ... must be replace according to the used type EventName eventId // The id of the event or signal Values[ value1 value2 ... ] // the values for the signal or event Signal on/off // by default is set to on // on: the extension fire a signal, off: the extension emit a event Listeners [ obj1 obj2 ... ] // the list of the object which listen TriggerId "TheTriggerAttributeId" // the id of the boolean attribute which is the trigger } ... } }
movingPoint { Class SimplePoint Extensions { togglePosition { Class MultiTriggerTransformEmitter AttributeId Position // The id of the attribute to set Values[ [[0 0 1]] [[1 0 0]] [[0 1 0]] ] // the values for the signal or event TriggerId "triggerReached" // the id of the boolean attribute which is the trigger } } }
If you use this template class for your own data type you must register your extension with
namespace OMK { namespace Inp { typedef MultiTriggerEmitterExtensionT< MyType, OMK::Type::SimpleTypeT< MyType > > TriggerMyTypeEmitterExtension ; } } REGISTER_TEMPLATE_EXTENSION_FACTORY( OMK::Inp::TriggerMyTypeEmitterExtension, "TriggerMyTypeEmitter" ) ;
Definition at line 268 of file OMKTriggerEmitterExtension.h.
OMK::MultiTriggerEmitterExtensionT< T, ModelType >::MultiTriggerEmitterExtensionT | ( | ExtensibleSimulatedObject * | owner, | |
const Name & | id, | |||
bool | registerExtension | |||
) | [inline, protected] |
Constructor.
It is protected, because it is only called by the friend creator.
Definition at line 282 of file OMKTriggerEmitterExtension.h.
00283 : ExtensionT< OMK::ExtensibleSimulatedObject >( owner, id, registerExtension ), 00284 MultiValuedEventSignalEmitterUtilT< T, ModelType >(), 00285 _trigger( 0 ) 00286 { 00287 }
virtual OMK::MultiTriggerEmitterExtensionT< T, ModelType >::~MultiTriggerEmitterExtensionT | ( | ) | [inline, virtual] |
virtual bool OMK::MultiTriggerEmitterExtensionT< T, ModelType >::loadExtensionParameters | ( | const ConfigurationParameterDescriptor * | node | ) | [inline, protected, virtual] |
Configuration parameters loader of Extension.
[in] | node | the root node of the configuration parameter, null if no node defined for the extension. |
Reimplemented from OMK::Extension.
Definition at line 294 of file OMKTriggerEmitterExtension.h.
References OMK::ExtensionT< OMK::ExtensibleSimulatedObject >::_owner, OMK::MultiTriggerEmitterExtensionT< T, ModelType >::_trigger, OMK::ParametersAccessor::get(), OMK::ExtensibleSimulatedObject::getBaseAttribute(), and OMK::MultiValuedEventSignalEmitterUtilT< T, ModelType >::loadParametersUtil().
00295 { 00296 bool ok = ExtensionT< OMK::ExtensibleSimulatedObject >::loadExtensionParameters( node ) 00297 && this->loadParametersUtil( _owner, node ) ; 00298 Name triggerId ; 00299 ok = ok && ParametersAccessor::get( node, "TriggerId", triggerId, _owner ) ; 00300 _trigger = _owner->getBaseAttribute< bool >( triggerId ) ; 00301 ok = ok && _trigger != 0 ; 00302 return ok ; 00303 }
virtual void OMK::MultiTriggerEmitterExtensionT< T, ModelType >::postComputeParameters | ( | ) | [inline, protected, virtual] |
The overwritten method.
Fire a signal or send an event according to the configuration.
Reimplemented from OMK::Extension.
Definition at line 306 of file OMKTriggerEmitterExtension.h.
References OMK::ExtensionT< OMK::ExtensibleSimulatedObject >::_owner, OMK::MultiTriggerEmitterExtensionT< T, ModelType >::_trigger, OMK::IAccessorT< T >::get(), and OMK::IAttribute::isUpdated().
00307 { 00308 if( _trigger->isUpdated() ) 00309 { 00310 this->sendUtil( _owner, _trigger->get() ) ; 00311 } 00312 }
friend class OMK::ExtensionCreatorT< MultiTriggerEmitterExtensionT< T, ModelType > > [friend] |
Name OMK::MultiTriggerEmitterExtensionT< T, ModelType >::OMK_CLASS_ID [static] |
The id for the class in a configuration.
Definition at line 276 of file OMKTriggerEmitterExtension.h.
const bool OMK::MultiTriggerEmitterExtensionT< T, ModelType >::REGISTERED_IN_EXTENSION_FACTORY [static] |
The registration in the extension factory.
Definition at line 278 of file OMKTriggerEmitterExtension.h.
IAttributeBaseT< bool >* OMK::MultiTriggerEmitterExtensionT< T, ModelType >::_trigger [protected] |
Definition at line 292 of file OMKTriggerEmitterExtension.h.
Referenced by OMK::MultiTriggerEmitterExtensionT< T, ModelType >::loadExtensionParameters(), and OMK::MultiTriggerEmitterExtensionT< T, ModelType >::postComputeParameters().
Documentation generated on Mon Jun 9 11:46:03 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |