OMKTriggerEmitterExtension.cpp

Go to the documentation of this file.
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

logo OpenMask

Documentation generated on Mon Jun 9 11:45:57 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007