![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hActRspObjInt_H_ 00008 #define hActRspObjInt_H_ 00009 00010 #if DtHLA 00011 00012 #include "hIntWEncDec.h" 00013 #include "hostStructs.h" 00014 #include <matrix/vlMath.h> 00015 00016 00017 00021 00022 class DT_DLL_VL DtActionResponseFromObjInter; 00023 class DT_DLL_VL DtExerciseConn; 00024 00026 typedef void (*DtActionResponseFromObjInterCb) 00027 (DtActionResponseFromObjInter* inter, void* usr); 00028 00029 00033 class DT_DLL_VL DtActionResponseFromObjInter : public DtInteractionWithEncDec 00034 { 00035 public: 00036 00038 DtActionResponseFromObjInter(); 00039 00041 virtual ~DtActionResponseFromObjInter(); 00042 00044 DtActionResponseFromObjInter(const DtActionResponseFromObjInter& orig); 00045 00047 DtActionResponseFromObjInter& operator=( 00048 const DtActionResponseFromObjInter& orig); 00049 00051 virtual void printData() const; 00052 00054 virtual void printDataToStream(std::ostream& stream) const; 00055 00057 virtual void setActionResult(DtResponseFlag response); 00058 virtual DtResponseFlag actionResult() const; 00059 00061 virtual const char* name() const; 00062 00063 public: 00064 00067 static DtInteraction* create(); 00068 00071 static void addCallback(DtExerciseConn* conn, 00072 DtActionResponseFromObjInterCb cb, void* usr, 00073 DtDDMRegionSP region = DtDDMRegionSP()); 00074 static void removeCallback(DtExerciseConn* conn, 00075 DtActionResponseFromObjInterCb cb, void* usr, 00076 DtDDMRegionSP region = DtDDMRegionSP()); 00077 00078 protected: 00079 00080 DtResponseFlag myActionResult; 00081 }; 00082 00083 inline void DtActionResponseFromObjInter:: 00084 setActionResult(DtResponseFlag response) 00085 { 00086 myActionResult = response; 00087 } 00088 00089 inline DtResponseFlag DtActionResponseFromObjInter::actionResult() const 00090 { 00091 return myActionResult; 00092 } 00093 00094 inline const char* DtActionResponseFromObjInter::name() const 00095 { 00096 return "DtActionResponseFromObjInter"; 00097 } 00098 00099 #endif 00100 #endif 00101