![]() |
VR-Forces 4.0.4 Class Documentation
|
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 }