00001 #include "OMKTriggerEmitterExtension.h" 00002 #include "OMKExtensibleSimulatedObject.h" 00003 #include "OMKParametersAccessor.inl" 00004 //------------------------------------------------------------------------- 00005 #include "OMKSimpleTypeT.h" 00006 #include <string> 00007 00008 using namespace OMK ; 00009 00010 //========================================================================= 00011 // TriggerEmitterExtension 00012 //========================================================================= 00013 REGISTER_EXTENSION_FACTORY( TriggerEmitterExtension, "TriggerEmitter" ) ; 00014 00015 //------------------------------------------------------------------------- 00016 TriggerEmitterExtension::TriggerEmitterExtension( ExtensibleSimulatedObject* owner, const Name& id, bool registerExtension ) 00017 : ExtensionT< OMK::ExtensibleSimulatedObject >( owner, id, registerExtension ), 00018 EventSignalEmitterUtil(), 00019 _trigger( 0 ) 00020 { 00021 } 00022 //------------------------------------------------------------------------- 00023 TriggerEmitterExtension::~TriggerEmitterExtension() 00024 { 00025 } 00026 00027 //------------------------------------------------------------------------- 00028 bool TriggerEmitterExtension::loadExtensionParameters( const ConfigurationParameterDescriptor * node ) 00029 { 00030 bool ok = ExtensionT< OMK::ExtensibleSimulatedObject >::loadExtensionParameters( node ) 00031 && loadParametersUtil( _owner, node ) ; 00032 Name triggerId ; 00033 ok = ok && ParametersAccessor::get( node, "TriggerId", triggerId, _owner ) ; 00034 _trigger = _owner->getBaseAttribute< bool >( triggerId ) ; 00035 ok = ok && _trigger != 0 ; 00036 return ok ; 00037 } 00038 00039 //------------------------------------------------------------------------- 00040 void TriggerEmitterExtension::postComputeParameters() 00041 { 00042 if( _trigger->isUpdated() && _trigger->get() ) 00043 { 00044 sendUtil( _owner ) ; 00045 } 00046 } 00047 #if !defined _MSC_VER 00048 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerIntEmitterExtension , "TriggerIntEmitter" ) ; 00049 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerBoolEmitterExtension , "TriggerBoolEmitter" ) ; 00050 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerNameEmitterExtension , "TriggerNameEmitter" ) ; 00051 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerFloatEmitterExtension , "TriggerFloatEmitter" ) ; 00052 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerStringEmitterExtension , "TriggerStringEmitter" ) ; 00053 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerTransformEmitterExtension, "TriggerTransformEmitter" ) ; 00054 REGISTER_TEMPLATE_EXTENSION_FACTORY( TriggerConnectEmitterExtension , "TriggerConnectEmitter" ) ; 00055 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerIntEmitterExtension , "MultiTriggerIntEmitter" ) ; 00056 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerBoolEmitterExtension , "MultiTriggerBoolEmitter" ) ; 00057 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerNameEmitterExtension , "MultiTriggerNameEmitter" ) ; 00058 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerFloatEmitterExtension , "MultiTriggerFloatEmitter" ) ; 00059 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerStringEmitterExtension , "MultiTriggerStringEmitter" ) ; 00060 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerTransformEmitterExtension, "MultiTriggerTransformEmitter" ) ; 00061 REGISTER_TEMPLATE_EXTENSION_FACTORY( MultiTriggerConnectEmitterExtension , "MultiTriggerConnectEmitter" ) ; 00062 #endif // !defined _MSC_VER
Documentation generated on Mon Jun 9 11:45:57 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |