VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtVrlinkEmitterBeamStateInterceptor.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Copyright (c) 2012 MAK Technologies, Inc.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #ifndef DT_PROTOCOL_NAMESPACE
00013 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
00014 #endif
00015 
00016 #include <vl/emittrBeamSR.h>
00017 
00018 namespace makVrv
00019 {
00020 
00021    namespace DT_PROTOCOL_NAMESPACE
00022    {
00023 
00028       class DL_DLL_IGCONVRLINK DtVrlinkEmitterBeamStateInterceptor
00029          : public DtEmitterBeamRepository
00030       {
00031       public:
00032 
00034          virtual ~DtVrlinkEmitterBeamStateInterceptor();
00035 
00037          virtual DtVrlinkEmitterStateListener* emitterStateListener();
00038 
00039          // @name DtEmitterBeamStateRepository functions
00040          // @{
00041 
00042          virtual void setAzimuthCenter( DtFloat32 center );
00043          virtual void setAzimuthSweep( DtFloat32 sweep );
00044          virtual void setBeamFunction( DtBeamFunc func );
00045          virtual void setBeamId( DtU8 id );
00046          virtual void setBeamParameterIndex( DtU16 index );
00047          virtual void setElevationCenter( DtFloat32 center );
00048          virtual void setElevationSweep( DtFloat32 sweep );
00049 
00051 #if DtHLA
00052          virtual void setEmittingSystemId( const DtGlobalObjectDesignator& id );
00053 #else
00054 
00055 
00056 
00057 
00058          virtual void setEmittingSystemId( int id );
00059 #endif
00060 
00061          virtual void setERP( DtFloat32 erp );
00062          virtual void setEntityId( DtEntityIdentifier& id );
00063          virtual void setEventId( DtEventId& id );
00064          virtual void setFrequency( DtFloat32 freq );
00065          virtual void setFrequencyRange( DtFloat32 freq );
00066          virtual void setPRF( DtFloat32 prf );
00067          virtual void setPulseWidth( DtFloat32 width );
00068          virtual void setSweepSync( DtFloat32 sync );
00069          virtual void setBeamType( DtBeamType flag );
00070 
00073 
00074          virtual void setJammingModeSequence( DtU32 sequence );
00075          virtual void setHighDensity( bool val );
00076 
00077          // @}
00078 
00079          boost::signal<void (DtEmitterBeamRepository*)> signal_destroyed;
00080 
00081       private:
00082 
00085          DtVrlinkEmitterBeamStateInterceptor( const DtVrlinkEmitterBeamStateInterceptor& orig );
00086 
00089          DtVrlinkEmitterBeamStateInterceptor& operator = ( const DtVrlinkEmitterBeamStateInterceptor& orig );
00090 
00092          virtual DtStateRepository* clone( bool copy = false ) const;
00093 
00094       protected:
00095 
00096          friend class DtVrlinkEmitterBeamStateInterceptorCreator;
00097 
00100          DtVrlinkEmitterBeamStateInterceptor( DtVrlinkEmitterStateListener* listener );
00101 
00102       protected:
00103 
00104          DtVrlinkEmitterStateListener* myEmitterStateListener;
00105 
00106       };
00107 
00110       class DL_DLL_IGCONVRLINK DtVrlinkEmitterBeamStateInterceptorCreator
00111          : public DtVirtualBaseClass
00112       {
00113       public:
00114 
00116          static DtVrlinkEmitterBeamStateInterceptorCreator& instance( DtVrlinkConnection& sim );
00117 
00119          virtual ~DtVrlinkEmitterBeamStateInterceptorCreator();
00120 
00122          virtual DtVrlinkEmitterBeamStateInterceptor* create( DtVrlinkEmitterStateListener* listener );
00123 
00124       protected:
00125 
00127          DtVrlinkEmitterBeamStateInterceptorCreator();
00128 
00129       };
00130 
00131    }
00132 }

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)