![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef hRefPropNoise_H_ 00007 #define hRefPropNoise_H_ 00008 00009 #if DtHLA 00010 00014 00015 #include "hReflectedObj.h" 00016 #include "propulsionNoiseSR.h" 00017 00018 class DtReflectedPropulsionNoise; 00019 00022 typedef void (*DtPropulsionNoiseCallbackFunction)( 00023 DtReflectedPropulsionNoise* obj, void* userData); 00024 00029 class DT_DLL_VL DtReflectedPropulsionNoise : public DtReflectedObject 00030 { 00031 public: 00034 typedef DtPropulsionNoiseStateRepository* (*DtStateRepCreator)(); 00035 00036 public: 00038 DtReflectedPropulsionNoise(DtHlaObject* obj, DtExerciseConn* exConn); 00039 00041 virtual ~DtReflectedPropulsionNoise(); 00042 00044 virtual DtPropulsionNoiseStateRepository* propulsionNoiseRep() const; 00045 00047 virtual DtPropulsionNoiseStateRepository* psr() const; 00048 00051 virtual DtReflectedPropulsionNoise* next() const; 00052 00055 virtual DtReflectedPropulsionNoise* prev() const; 00056 00059 virtual DtReflectedPropulsionNoise* wrapNext() const; 00060 00063 virtual DtReflectedPropulsionNoise* wrapPrev() const; 00064 00067 virtual void addPostUpdateCallback( 00068 DtPropulsionNoiseCallbackFunction cb, void* userData); 00069 00072 virtual void removePostUpdateCallback( 00073 DtPropulsionNoiseCallbackFunction cb, void* userData); 00074 00075 public: 00077 static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator); 00078 00079 protected: 00081 DtReflectedPropulsionNoise(const DtReflectedPropulsionNoise& orig); 00082 00084 DtReflectedPropulsionNoise& operator=(const DtReflectedPropulsionNoise& orig); 00085 00086 protected: 00088 static DtStateRepCreator theStateRepCreator; 00089 }; 00090 00091 inline DtPropulsionNoiseStateRepository* DtReflectedPropulsionNoise::propulsionNoiseRep() const 00092 { 00093 return (DtPropulsionNoiseStateRepository*) myStateRep; 00094 } 00095 00096 inline DtPropulsionNoiseStateRepository* DtReflectedPropulsionNoise::psr() const 00097 { 00098 return (DtPropulsionNoiseStateRepository*) myStateRep; 00099 } 00100 00101 00102 #endif 00103 #endif