![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef hPropNoiseEnc_H_ 00007 #define hPropNoiseEnc_H_ 00008 #if DtHLA 00009 00013 00014 #include "hUndwaAcEmissEnc.h" 00015 00016 class DtPropulsionNoiseStateRepository; 00017 00024 class DT_DLL_VL DtPropulsionNoiseEncoder : public DtUnderwaterAcousticsEmissionEncoder 00025 { 00026 public: 00027 00029 DtPropulsionNoiseEncoder( 00030 DtExerciseConn* exConn, 00031 DtObjClassDesc* classDesc); 00032 00034 virtual ~DtPropulsionNoiseEncoder(); 00035 00037 DtPropulsionNoiseEncoder(const DtPropulsionNoiseEncoder& orig); 00038 00040 DtPropulsionNoiseEncoder& operator=(const DtPropulsionNoiseEncoder& orig); 00041 00042 public: 00044 static DtHlaStateEncoder* create( 00045 DtExerciseConn* exConn, 00046 DtObjClassDesc* classDesc); 00047 00048 protected: 00051 static bool needHullMaskerOn( 00052 const DtPropulsionNoiseStateRepository& stateRep, 00053 const DtPropulsionNoiseStateRepository& asSeenByRemote); 00054 00057 static bool needPassiveParameterIndex( 00058 const DtPropulsionNoiseStateRepository& stateRep, 00059 const DtPropulsionNoiseStateRepository& asSeenByRemote); 00060 00063 static bool needPropulsionPlantConfiguration( 00064 const DtPropulsionNoiseStateRepository& stateRep, 00065 const DtPropulsionNoiseStateRepository& asSeenByRemote); 00066 00069 static bool needShaftRateData( 00070 const DtPropulsionNoiseStateRepository& stateRep, 00071 const DtPropulsionNoiseStateRepository& asSeenByRemote); 00072 00074 static void encodeHullMaskerOn( 00075 const DtPropulsionNoiseStateRepository& rep, 00076 RTI::AttributeHandleValuePairSet* attrs, 00077 RTI::AttributeHandle attrHandle); 00078 00080 static void encodePassiveParameterIndex( 00081 const DtPropulsionNoiseStateRepository& rep, 00082 RTI::AttributeHandleValuePairSet* attrs, 00083 RTI::AttributeHandle attrHandle); 00084 00086 static void encodePropulsionPlantConfiguration( 00087 const DtPropulsionNoiseStateRepository& rep, 00088 RTI::AttributeHandleValuePairSet* attrs, 00089 RTI::AttributeHandle attrHandle); 00090 00092 static void encodeShaftRateData( 00093 const DtPropulsionNoiseStateRepository& rep, 00094 RTI::AttributeHandleValuePairSet* attrs, 00095 RTI::AttributeHandle attrHandle); 00096 00097 }; 00098 00099 00100 #endif //propulsionNoiseEnc_H_ 00101 00102 #endif //DtHLA