![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hRemObjReqInt_H_ 00008 #define hRemObjReqInt_H_ 00009 00010 #if DtHLA 00011 00012 #include "hIntWEncDec.h" 00013 #include "hostStructs.h" 00014 #include <matrix/vlMath.h> 00015 #include "objDesList.h" 00016 00017 00018 00022 00023 class DT_DLL_VL DtRemoveObjectRequestInter; 00024 class DT_DLL_VL DtExerciseConn; 00025 00026 00028 typedef void (*DtRemoveObjectRequestInterCb) 00029 (DtRemoveObjectRequestInter* inter, void* usr); 00030 00035 00036 00037 class DT_DLL_VL DtRemoveObjectRequestInter : public DtInteractionWithEncDec 00038 { 00039 public: 00040 00042 DtRemoveObjectRequestInter(); 00043 00045 virtual ~DtRemoveObjectRequestInter(); 00046 00048 DtRemoveObjectRequestInter(const DtRemoveObjectRequestInter& orig); 00049 00051 DtRemoveObjectRequestInter& operator=( 00052 const DtRemoveObjectRequestInter& orig); 00053 00055 virtual void printData() const; 00056 00058 virtual void printDataToStream(std::ostream& stream) const; 00059 00061 virtual const DtGlobalObjectDesignatorList& objectIDs() const; 00062 virtual DtGlobalObjectDesignatorList* objectIDs(); 00063 00065 virtual void setNumIds(DtU8 numIds); 00066 virtual DtU8 numIds() const; 00067 00069 virtual void setNthObjectId( 00070 DtInt32 idIndex, const DtGlobalObjectDesignator& id); 00071 virtual const DtGlobalObjectDesignator& nthObjectId(DtInt32 idIndex) const; 00072 00074 virtual void setRequestId(DtU32 id); 00075 virtual DtU32 requestId() const; 00076 00078 virtual const char* name() const; 00079 00080 public: 00081 00084 static DtInteraction* create(); 00085 00088 static void addCallback(DtExerciseConn* conn, 00089 DtRemoveObjectRequestInterCb cb, void* usr, 00090 DtDDMRegionSP region = DtDDMRegionSP()); 00091 static void removeCallback(DtExerciseConn* conn, 00092 DtRemoveObjectRequestInterCb cb, void* usr, 00093 DtDDMRegionSP region = DtDDMRegionSP()); 00094 00095 protected: 00096 00097 DtGlobalObjectDesignatorList myObjectList; 00098 DtGlobalObjectDesignator myNthId; 00099 DtU32 myRequestId; 00100 }; 00101 00102 inline void DtRemoveObjectRequestInter::setRequestId(DtU32 id) 00103 { 00104 myRequestId = id; 00105 } 00106 00107 inline DtU32 DtRemoveObjectRequestInter::requestId() const 00108 { 00109 return myRequestId; 00110 } 00111 00112 inline const char* DtRemoveObjectRequestInter::name() const 00113 { 00114 return "DtRemoveObjectRequestInter"; 00115 } 00116 00117 #endif 00118 #endif 00119 00120