OMKTriggerExtension.h

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

logo OpenMask

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

Generated with doxygen by Dimitri van Heesch ,   1997-2007