![]() |
VR-Link API Documentation for HLA 1516
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hEnvObjTrans_H_ 00008 #define hEnvObjTrans_H_ 00009 00010 #if DtHLA 00011 00012 00013 #include "hIntWEncDec.h" 00014 #include "hostStructs.h" 00015 #include "objectType.h" 00016 00020 00021 class DT_DLL_VL DtEnvironmentObjectTransaction; 00022 class DT_DLL_VL DtExerciseConn; 00023 00025 typedef void (*DtEnvironmentObjectTransactionCb) 00026 (DtEnvironmentObjectTransaction* inter, void* usr); 00027 00032 00033 class DT_DLL_VL DtEnvironmentObjectTransaction : public DtInteractionWithEncDec 00034 { 00035 public: 00036 00038 DtEnvironmentObjectTransaction(); 00039 00041 virtual ~DtEnvironmentObjectTransaction(); 00042 00044 DtEnvironmentObjectTransaction(const DtEnvironmentObjectTransaction& orig); 00045 00047 DtEnvironmentObjectTransaction& operator=( 00048 const DtEnvironmentObjectTransaction& orig); 00049 00051 virtual void printData() const; 00052 00054 virtual void printDataToStream(std::ostream& stream) const; 00055 00057 virtual void setObjectId(const DtEntityIdentifier& identifier); 00058 virtual const DtEntityIdentifier& objectId() const; 00059 00061 virtual void setReferencedObjectId(const DtGlobalObjectDesignator& rtiObject); 00062 virtual const DtGlobalObjectDesignator& referencedObjectId() const; 00063 00065 virtual void setForceId(const DtForceType value); 00066 virtual DtForceType forceId() const; 00067 00069 virtual void setObjectType(const DtSyntheticEnvironmentObjectType& type); 00070 virtual const DtSyntheticEnvironmentObjectType& objectType() const; 00071 00073 virtual void setRequestingId(const DtSimulationAddress& id); 00074 virtual const DtSimulationAddress& requestingId() const; 00075 00077 virtual void setReceivingId(const DtSimulationAddress& id); 00078 virtual const DtSimulationAddress& receivingId() const; 00079 00081 virtual const char* name() const; 00082 00083 public: 00084 00087 static DtInteraction* create(); 00088 00091 static void addCallback(DtExerciseConn* conn, 00092 DtEnvironmentObjectTransactionCb cb, void* usr, 00093 DtDDMRegionSP region = DtDDMRegionSP()); 00094 static void removeCallback(DtExerciseConn* conn, 00095 DtEnvironmentObjectTransactionCb cb, void* usr, 00096 DtDDMRegionSP region = DtDDMRegionSP()); 00097 00098 protected: 00099 DtEntityIdentifier myObjectId; 00100 DtGlobalObjectDesignator myReferencedObjectId; 00101 DtForceType myForceId; 00102 DtSyntheticEnvironmentObjectType myObjectType; 00103 DtSimulationAddress myRequestingId; 00104 DtSimulationAddress myReceivingId; 00105 }; 00106 00107 #endif 00108 #endif 00109 00110