![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 00007 #ifndef hStopInter_H_ 00008 #define hStopInter_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 DtExerciseConn; 00023 class DT_DLL_VL DtStopFreezeInteraction; 00024 00025 00026 00028 typedef void (*DtStopFreezeInteractionCb) (DtStopFreezeInteraction* inter, 00029 void* usr); 00030 00035 00036 class DT_DLL_VL DtStopFreezeInteraction : public DtInteractionWithEncDec 00037 { 00038 public: 00039 00041 DtStopFreezeInteraction(); 00042 00044 virtual ~DtStopFreezeInteraction(); 00045 00047 DtStopFreezeInteraction(const DtStopFreezeInteraction& orig); 00048 00050 DtStopFreezeInteraction& operator=(const DtStopFreezeInteraction& orig); 00051 00053 virtual void printData() const; 00054 00056 virtual void printDataToStream(std::ostream& stream) const; 00057 00059 virtual void setSenderId(const DtEntityIdentifier& id); 00060 virtual const DtEntityIdentifier& senderId() const; 00061 00063 virtual void setReceiverId(const DtEntityIdentifier& id); 00064 virtual const DtEntityIdentifier& receiverId() const; 00065 00067 virtual void setRealWorldTime(const DtTime time); 00068 virtual DtTime realWorldTime() const; 00069 00071 virtual void setRequestId(int id); 00072 virtual int requestId() const; 00073 00075 virtual DtStopReason reason() const; 00076 virtual void setReason(DtStopReason reason); 00077 00079 virtual bool reflectWhenFrozen() const; 00080 virtual void setReflectWhenFrozen(bool flag); 00081 00083 virtual bool runClockWhenFrozen() const; 00084 virtual void setRunClockWhenFrozen(bool flag); 00085 00087 virtual bool updateWhenFrozen() const; 00088 virtual void setUpdateWhenFrozen(bool flag); 00089 00091 virtual const char* name() const; 00092 00093 public: 00094 00097 static DtInteraction* create(); 00098 00101 static void addCallback(DtExerciseConn* conn, 00102 DtStopFreezeInteractionCb cb, void* usr, 00103 DtDDMRegionSP region = DtDDMRegionSP()); 00104 static void removeCallback(DtExerciseConn* conn, 00105 DtStopFreezeInteractionCb cb, void* usr, 00106 DtDDMRegionSP region = DtDDMRegionSP()); 00107 00108 protected: 00109 00110 DtEntityIdentifier myOrigEnt; 00111 DtEntityIdentifier myReceiveEnt; 00112 int myRequestId; 00113 DtTime myRealTime; 00114 DtStopReason myReason; 00115 bool myReflect; 00116 bool myUpdate; 00117 bool myRunClock; 00118 }; 00119 00120 #endif 00121 #endif 00122