![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1998 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: timeInfo.h,v $ $Revision: 1.3 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtTimeInfo_H_ 00013 #define DtTimeInfo_H_ 00014 00015 #ifdef DtTIME 00016 00017 #include <vlutil/vlMachineTypes.h> 00018 #include "internalTypes.h" 00019 #include "fedTimeFactory.h" 00020 00021 class DT_DLL_EXEC DtTimeInfo 00022 { 00023 public: 00025 #ifdef DtIFSPEC1516 00026 DtTimeInfo(DtFederateHandle fedHandleVal, 00027 rti1516::LogicalTime const & timeVal, 00028 rti1516::LogicalTimeInterval const & lookaheadVal, 00029 DtLogicalTimeFactory* timeFactory); 00030 #elif defined(DtIFSPEC1516E) 00031 DtTimeInfo(DtFederateHandle fedHandleVal, 00032 rti1516e::LogicalTime const & timeVal, 00033 rti1516e::LogicalTimeInterval const & lookaheadVal, 00034 DtLogicalTimeFactory* timeFactory); 00035 #else 00036 DtTimeInfo(DtFederateHandle fedHandleVal, 00037 RTI::FedTime const & timeVal, 00038 RTI::FedTime const & lookaheadVal, 00039 DtLogicalTimeFactory* timeFactory); 00040 #endif 00041 00043 virtual ~DtTimeInfo(); 00044 00046 DtTimeInfo(const DtTimeInfo& orig); 00047 00049 DtTimeInfo& operator=(DtTimeInfo const& orig); 00050 00052 virtual void setFederateHandle(DtFederateHandle fedHandleVal); 00053 virtual DtFederateHandle federateHandle() const; 00054 00056 #ifdef DtIFSPEC1516 00057 virtual void setTime(rti1516::LogicalTime const & timeVal); 00058 virtual rti1516::LogicalTime const & time() const; 00059 #elif defined(DtIFSPEC1516E) 00060 virtual void setTime(rti1516e::LogicalTime const & timeVal); 00061 virtual rti1516e::LogicalTime const & time() const; 00062 #else 00063 virtual void setTime(RTI::FedTime const & timeVal); 00064 virtual RTI::FedTime const & time() const; 00065 #endif 00066 00068 #ifdef DtIFSPEC1516 00069 virtual void setLookahead(rti1516::LogicalTimeInterval const & lookaheadVal); 00070 virtual rti1516::LogicalTimeInterval const & lookahead() const; 00071 #elif defined(DtIFSPEC1516E) 00072 virtual void setLookahead(rti1516e::LogicalTimeInterval const & lookaheadVal); 00073 virtual rti1516e::LogicalTimeInterval const & lookahead() const; 00074 #else 00075 virtual void setLookahead(RTI::FedTime const & lookaheadVal); 00076 virtual RTI::FedTime const & lookahead() const; 00077 #endif 00078 00080 #ifdef DtIFSPEC1516 00081 virtual rti1516::LogicalTime const & lbts() const; 00082 #elif defined(DtIFSPEC1516E) 00083 virtual rti1516e::LogicalTime const & lbts() const; 00084 #else 00085 virtual RTI::FedTime const & lbts() const; 00086 #endif 00087 00089 virtual void setIsConstrained(bool fedIsConstrained); 00090 virtual bool isConstrained() const; 00091 00093 virtual void setIsRegulating(bool fedIsRegulating); 00094 virtual bool isRegulating() const; 00095 00098 virtual void setIsTimeAvailable(bool isAvailable); 00099 virtual bool isTimeAvailable() const; 00100 00103 virtual void setIsNerPending(bool isPending); 00104 virtual bool isNerPending() const; 00105 00107 #ifdef DtIFSPEC1516 00108 virtual void setNerTime(rti1516::LogicalTime const & timeVal); 00109 virtual rti1516::LogicalTime const & nerTime() const; 00110 #elif defined(DtIFSPEC1516E) 00111 virtual void setNerTime(rti1516e::LogicalTime const & timeVal); 00112 virtual rti1516e::LogicalTime const & nerTime() const; 00113 #else 00114 virtual void setNerTime(RTI::FedTime const & timeVal); 00115 virtual RTI::FedTime const & nerTime() const; 00116 #endif 00117 00119 #ifdef DtIFSPEC1516 00120 virtual void setNerLookahead( 00121 rti1516::LogicalTimeInterval const & lookaheadVal); 00122 virtual rti1516::LogicalTimeInterval const & nerLookahead() const; 00123 #elif defined(DtIFSPEC1516E) 00124 virtual void setNerLookahead( 00125 rti1516e::LogicalTimeInterval const & lookaheadVal); 00126 virtual rti1516e::LogicalTimeInterval const & nerLookahead() const; 00127 #else 00128 virtual void setNerLookahead(RTI::FedTime const & lookaheadVal); 00129 virtual RTI::FedTime const & nerLookahead() const; 00130 #endif 00131 00133 #ifdef DtIFSPEC1516 00134 virtual rti1516::LogicalTime const & nerLbts() const; 00135 #elif defined(DtIFSPEC1516E) 00136 virtual rti1516e::LogicalTime const & nerLbts() const; 00137 #else 00138 virtual RTI::FedTime const & nerLbts() const; 00139 #endif 00140 00142 virtual void printData(); 00143 00144 protected: 00145 00146 DtLogicalTimeFactory* myLogicalTimeFactory; 00147 DtFederateHandle myFederateHandle; 00148 bool myConstrained; 00149 bool myRegulating; 00150 #ifdef DtIFSPEC1516 00151 std::auto_ptr<rti1516::LogicalTime> myTime; 00152 std::auto_ptr<rti1516::LogicalTimeInterval> myLookahead; 00153 std::auto_ptr<rti1516::LogicalTime> myLbts; 00154 bool myTimeAvailable; 00155 bool myNerPending; 00156 std::auto_ptr<rti1516::LogicalTime> myNerTime; 00157 std::auto_ptr<rti1516::LogicalTimeInterval> myNerLookahead; 00158 std::auto_ptr<rti1516::LogicalTime> myNerLbts; 00159 #elif defined(DtIFSPEC1516E) 00160 std::auto_ptr<rti1516e::LogicalTime> myTime; 00161 std::auto_ptr<rti1516e::LogicalTimeInterval> myLookahead; 00162 std::auto_ptr<rti1516e::LogicalTime> myLbts; 00163 bool myTimeAvailable; 00164 bool myNerPending; 00165 std::auto_ptr<rti1516e::LogicalTime> myNerTime; 00166 std::auto_ptr<rti1516e::LogicalTimeInterval> myNerLookahead; 00167 std::auto_ptr<rti1516e::LogicalTime> myNerLbts; 00168 #else 00169 std::auto_ptr<RTI::FedTime> myTime; 00170 std::auto_ptr<RTI::FedTime> myLookahead; 00171 std::auto_ptr<RTI::FedTime> myLbts; 00172 bool myTimeAvailable; 00173 bool myNerPending; 00174 std::auto_ptr<RTI::FedTime> myNerTime; 00175 std::auto_ptr<RTI::FedTime> myNerLookahead; 00176 std::auto_ptr<RTI::FedTime> myNerLbts; 00177 #endif 00178 }; 00179 00180 #endif //! DtTIME 00181 #endif //! DtTimeInfo_H_