![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef tSignalInter_H_ 00008 #define tSignalInter_H_ 00009 00010 #if DtTENA 00011 00012 #include "tInteraction.h" 00013 #include <vlpi/entityIdentifier.h> 00014 #include "globalObjDes.h" 00015 00019 00020 class DT_DLL_VL DtSignalInteraction; 00021 00023 typedef void (*DtSignalInteractionCb)(DtSignalInteraction* inter, void* usr); 00024 00025 00029 class DT_DLL_VL DtSignalInteraction : public DtInteraction 00030 { 00031 public: 00033 DtSignalInteraction(); 00034 00036 virtual ~DtSignalInteraction(); 00037 00039 DtSignalInteraction(const DtSignalInteraction& orig); 00040 00042 DtSignalInteraction& operator=( 00043 const DtSignalInteraction& orig); 00044 00046 virtual void setEntityId(const DtEntityIdentifier& id); 00047 00049 virtual const DtEntityIdentifier& entityId() const; 00050 00052 virtual void setRadioId(unsigned int id); 00053 00055 virtual unsigned int radioId() const; 00056 00058 virtual void setEncodingClass(DtEncodingClass encodingClass); 00059 00061 virtual DtEncodingClass encodingClass() const; 00062 00064 virtual void setEncodingType(DtEncodingType codeType); 00065 00067 virtual DtEncodingType encodingType() const; 00068 00070 virtual void setNumDataBits(int lengthInBits); 00071 00073 virtual int numDataBits() const; 00074 00076 virtual void setNumDataBytes(int lengthInBytes); 00077 00079 virtual int numDataBytes() const; 00080 00082 virtual void setSampleRate(int rate); 00083 00085 virtual int sampleRate() const; 00086 00088 virtual int numSamples() const; 00089 00091 virtual void setNumSamples(int numSamples); 00092 00095 virtual unsigned char dataByte(int byteNum) const; 00096 00099 virtual void setDataByte(int byteNum, unsigned char data); 00100 00102 virtual void *data() const; 00103 00105 virtual void setData(unsigned char *data, int numBytes); 00106 00108 virtual int tdlType() const; 00109 00111 virtual void setTdlType(int type); 00112 00114 virtual const char* name() const; 00115 00117 virtual void printData() const; 00118 00120 virtual void printDataToStream(std::ostream& stream) const; 00121 00122 public: 00123 00126 static DtInteraction* create(); 00127 00130 static void addCallback(DtExerciseConn* conn, 00131 DtSignalInteractionCb cb, void* usr); 00132 00134 static void removeCallback(DtExerciseConn* conn, 00135 DtSignalInteractionCb cb, void* usr); 00136 00137 00138 protected: 00139 DtEntityIdentifier myEntityId; 00140 DtU16 myRadioId; 00141 DtEncodingClass myEncodingClass; 00142 DtEncodingType myEncodingType; 00143 int mySampleRate; 00144 DtU16 mySignalDataLength; 00145 DtU32 mySampleCount; 00146 DtU8* mySignalData; 00147 int myTdlType; 00148 }; 00149 00150 #endif 00151 #endif 00152 00153