![]() |
VR-Link API Documentation for HLA Evolved
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hActReqObjInt_H_ 00008 #define hActReqObjInt_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 00021 00022 class DT_DLL_VL DtActionRequestToObjInter; 00023 class DT_DLL_VL DtExerciseConn; 00024 00025 00026 00028 typedef void (*DtActionRequestToObjInterCb) 00029 (DtActionRequestToObjInter* inter, void* usr); 00030 00031 00035 class DT_DLL_VL DtActionRequestToObjInter : public DtInteractionWithEncDec 00036 { 00037 public: 00038 00040 DtActionRequestToObjInter(); 00041 00043 virtual ~DtActionRequestToObjInter(); 00044 00046 DtActionRequestToObjInter( 00047 const DtActionRequestToObjInter& orig); 00048 00050 DtActionRequestToObjInter& operator=( 00051 const DtActionRequestToObjInter& orig); 00052 00054 virtual void printData() const; 00055 00057 virtual void printDataToStream(std::ostream& stream) const; 00058 00060 virtual const DtGlobalObjectDesignatorList& objectIDs() const; 00061 virtual DtGlobalObjectDesignatorList* objectIDs(); 00062 00064 virtual void setNumIds(DtU8 numIds); 00065 virtual DtU8 numIds() const; 00066 00068 virtual void setNthObjectId( 00069 DtInt32 idIndex, const DtGlobalObjectDesignator& id); 00070 virtual const DtGlobalObjectDesignator& nthObjectId(DtInt32 idIndex) const; 00071 00073 virtual void setAction(DtActionId action); 00074 virtual DtActionId action() const; 00075 00077 virtual const char* name() const; 00078 00079 public: 00080 00083 static DtInteraction* create(); 00084 00087 static void addCallback(DtExerciseConn* conn, 00088 DtActionRequestToObjInterCb cb, void* usr, DtDDMRegionSP region = 00089 DtDDMRegionSP()); 00090 static void removeCallback(DtExerciseConn* conn, 00091 DtActionRequestToObjInterCb cb, void* usr, DtDDMRegionSP region = 00092 DtDDMRegionSP()); 00093 00094 protected: 00095 00096 DtGlobalObjectDesignatorList myObjectList; 00097 DtGlobalObjectDesignator myNthId; 00098 DtActionId myAction; 00099 }; 00100 00101 #endif 00102 #endif 00103