#include <OMKTriggerEmitterExtension.h>
Inheritance diagram for OMK::TriggerEmitterExtensionT< T, ModelType >:
Public Member Functions | |
virtual | ~TriggerEmitterExtensionT () |
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 | |
TriggerEmitterExtensionT (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< TriggerEmitterExtensionT< T, ModelType > > |
The creator is a friend. |
The creation is done dynamically through the following configuration:
visualisation { Class OgreVis ... Extensions { plus { Class Trigger...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 TriggerTransformEmitter 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 } trigger // This extension define the boolean attribute "triggerReached" { Class Trigger Thresold 3.0 ConnectTarget ["TheTarget" "Position"] } } }
If you use this template class for your own data type you must register your extension with
namespace OMK { namespace Inp { typedef TriggerEmitterExtensionT< MyType, OMK::Type::SimpleTypeT< MyType > > TriggerMyTypeEmitterExtension ; } } REGISTER_TEMPLATE_EXTENSION_FACTORY( OMK::Inp::TriggerMyTypeEmitterExtension, "TriggerMyTypeEmitter" ) ;
Definition at line 133 of file OMKTriggerEmitterExtension.h.
OMK::TriggerEmitterExtensionT< T, ModelType >::TriggerEmitterExtensionT | ( | 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 147 of file OMKTriggerEmitterExtension.h.
00148 : ExtensionT< OMK::ExtensibleSimulatedObject >( owner, id, registerExtension ), 00149 ValuedEventSignalEmitterUtilT< T, ModelType >(), 00150 _trigger( 0 ) 00151 { 00152 }
virtual OMK::TriggerEmitterExtensionT< T, ModelType >::~TriggerEmitterExtensionT | ( | ) | [inline, virtual] |
virtual bool OMK::TriggerEmitterExtensionT< 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 159 of file OMKTriggerEmitterExtension.h.
References OMK::ExtensionT< OMK::ExtensibleSimulatedObject >::_owner, OMK::TriggerEmitterExtensionT< T, ModelType >::_trigger, OMK::ParametersAccessor::get(), OMK::ExtensibleSimulatedObject::getBaseAttribute(), and OMK::ValuedEventSignalEmitterUtilT< T, ModelType >::loadParametersUtil().
00160 { 00161 bool ok = ExtensionT< OMK::ExtensibleSimulatedObject >::loadExtensionParameters( node ) 00162 && this->loadParametersUtil( _owner, node ) ; 00163 Name triggerId ; 00164 ok = ok && ParametersAccessor::get( node, "TriggerId", triggerId, _owner ) ; 00165 _trigger = _owner->getBaseAttribute< bool >( triggerId ) ; 00166 ok = ok && _trigger != 0 ; 00167 return ok ; 00168 }
virtual void OMK::TriggerEmitterExtensionT< 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 171 of file OMKTriggerEmitterExtension.h.
References OMK::ExtensionT< OMK::ExtensibleSimulatedObject >::_owner, OMK::TriggerEmitterExtensionT< T, ModelType >::_trigger, OMK::IAccessorT< T >::get(), and OMK::IAttribute::isUpdated().
00172 { 00173 if( _trigger->isUpdated() && _trigger->get() ) 00174 { 00175 this->sendUtil( _owner ) ; 00176 } 00177 }
friend class OMK::ExtensionCreatorT< TriggerEmitterExtensionT< T, ModelType > > [friend] |
Name OMK::TriggerEmitterExtensionT< T, ModelType >::OMK_CLASS_ID [static] |
The id for the class in a configuration.
Definition at line 141 of file OMKTriggerEmitterExtension.h.
const bool OMK::TriggerEmitterExtensionT< T, ModelType >::REGISTERED_IN_EXTENSION_FACTORY [static] |
The registration in the extension factory.
Definition at line 143 of file OMKTriggerEmitterExtension.h.
IAttributeBaseT< bool >* OMK::TriggerEmitterExtensionT< T, ModelType >::_trigger [protected] |
Definition at line 157 of file OMKTriggerEmitterExtension.h.
Referenced by OMK::TriggerEmitterExtensionT< T, ModelType >::loadExtensionParameters(), and OMK::TriggerEmitterExtensionT< T, ModelType >::postComputeParameters().
Documentation generated on Mon Jun 9 11:46:03 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |