00001 /************************************************************************/ 00002 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */ 00003 /* 1993-2002, thereinafter the Software */ 00004 /* */ 00005 /* The Software has been developped within the Siames Project. */ 00006 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */ 00007 /* property rights */ 00008 /* */ 00009 /* The Software has been registered with the Agence pour la Protection */ 00010 /* des Programmes (APP) under registration number */ 00011 /* IDDN.FR.001.510008.00.S.P.2001.000.41200 */ 00012 /* */ 00013 /* This file may be distributed under the terms of the Q Public License */ 00014 /* version 1.0 as defined by Trolltech AS of Norway and appearing in */ 00015 /* the file LICENSE.QPL included in the packaging of this file. */ 00016 /* */ 00017 /* Licensees holding valid specific licenses issued by INRIA, CNRS or */ 00018 /* Universite Rennes 1 for the software may use this file in */ 00019 /* acordance with that specific license */ 00020 /************************************************************************/ 00021 #ifndef OMK_TRIGGEREXTENSION_H 00022 #define OMK_TRIGGEREXTENSION_H 00023 00024 #include "OMKAddOn.h" 00025 #include "OMKExtension.h" 00026 #include "OMKTransformType.h" 00027 00028 namespace OMK 00029 { 00130 class OMKADDON_API DistanceToExtension : public OMK::ExtensionT< OMK::ExtensibleSimulatedObject > 00131 { 00132 DECLARE_EXTENSION_FACTORY( DistanceToExtension ) ; 00133 protected: 00134 virtual bool loadExtensionParameters( const ConfigurationParameterDescriptor * node ) ; 00135 virtual void preComputeParameters() ; 00136 IAttributeBaseT< Type::Transform >* _target ; 00137 AttributeT< float > _distance ; 00140 IAccessorT< OMK::Type::Transform >* _positionAccessor ; 00141 bool _deleteTarget ; 00142 } ; 00143 //============================================================================= 00148 class OMKADDON_API TriggerBaseExtension : public DistanceToExtension 00149 { 00150 protected: 00151 TriggerBaseExtension( OMK::ExtensibleSimulatedObject* owner, const Name& id, bool registerExtension = true ) ; 00152 public: 00153 virtual ~TriggerBaseExtension() ; 00154 protected: 00155 virtual bool loadExtensionParameters( const ConfigurationParameterDescriptor * node ) ; 00156 virtual void preComputeParameters() ; 00161 AttributeT< float > _threshold ; 00165 IAccessorT< bool >* _flagAccessor ; 00166 } ; 00167 //============================================================================= 00225 class OMKADDON_API TriggerAttributeExtension : public TriggerBaseExtension 00226 { 00227 DECLARE_EXTENSION_FACTORY( TriggerAttributeExtension ) ; 00228 protected: 00229 virtual bool loadExtensionParameters( const ConfigurationParameterDescriptor * node ) ; 00230 } ; 00231 //============================================================================= 00286 class OMKADDON_API TriggerExtension : public TriggerBaseExtension 00287 { 00288 DECLARE_EXTENSION_FACTORY( TriggerExtension ) ; 00289 protected: 00290 virtual bool loadExtensionParameters( const ConfigurationParameterDescriptor * node ) ; 00291 AttributeT< bool > _reached ; 00292 } ; 00293 //============================================================================= 00294 00295 }// namespace OMK 00296 00297 #endif // OMK_TRIGGEREXTENSION_H
Documentation generated on Mon Jun 9 11:45:57 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |