![]() |
VR-Link API Documentation for HLA 1516
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1997 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrlFedTime.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 *******************************************************************************/ 00010 00011 //#ifndef _WIN32 //! On Windows ignore this file altogether 00012 00013 #ifndef DtVrlFedTime_H_ 00014 #define DtVrlFedTime_H_ 00015 00016 #if DtHLA 00017 00018 #include <RTI.hh> 00019 #include <sys/types.h> 00020 #include <string.h> 00021 #include "MachineTypes.h" 00022 00023 #if _PowerUX || RTI_USES_STD_FSTREAM 00024 #include <iostream> 00025 #define ostream std::ostream 00026 #define istream std::istream 00027 #else 00028 #include "iostream.h" 00029 #endif 00030 00031 class DT_DLL_VL DtVrlFedTime : public RTI::FedTime { 00032 //----------------------------------------------------------------- 00034 //----------------------------------------------------------------- 00035 public: 00036 DtVrlFedTime(); 00037 DtVrlFedTime(const double&); 00038 DtVrlFedTime(const DtVrlFedTime&); 00039 virtual ~DtVrlFedTime(); 00040 00041 //----------------------------------------------------------------- 00043 //----------------------------------------------------------------- 00044 public: 00045 virtual void setZero(); 00046 virtual RTI::Boolean isZero(); 00047 virtual void setEpsilon(); 00048 virtual void setPositiveInfinity(); 00049 virtual RTI::Boolean isPositiveInfinity(); 00050 virtual int encodedLength() const; 00051 virtual void encode(char *buff) const; 00052 virtual int getPrintableLength() const; 00053 virtual void getPrintableString(char*) const; 00054 virtual void getPrintableString(char*); 00055 00056 //----------------------------------------------------------------- 00058 //----------------------------------------------------------------- 00059 public: 00060 virtual RTI::FedTime& operator+= (const RTI::FedTime&) 00061 throw (RTI::InvalidFederationTime); 00062 00063 virtual RTI::FedTime& operator-= (const RTI::FedTime&) 00064 throw (RTI::InvalidFederationTime); 00065 00066 virtual RTI::Boolean operator<= (const RTI::FedTime&) const 00067 throw (RTI::InvalidFederationTime); 00068 00069 virtual RTI::Boolean operator< (const RTI::FedTime&) const 00070 throw (RTI::InvalidFederationTime); 00071 00072 virtual RTI::Boolean operator>= (const RTI::FedTime&) const 00073 throw (RTI::InvalidFederationTime); 00074 00075 virtual RTI::Boolean operator> (const RTI::FedTime&) const 00076 throw (RTI::InvalidFederationTime); 00077 00078 virtual RTI::Boolean operator== (const RTI::FedTime&) const 00079 throw (RTI::InvalidFederationTime); 00080 00081 virtual RTI::FedTime& operator= (const RTI::FedTime&) 00082 throw (RTI::InvalidFederationTime); 00083 00084 //----------------------------------------------------------------- 00086 //----------------------------------------------------------------- 00087 public: 00088 virtual double getTime() const; 00089 00090 //----------------------------------------------------------------- 00092 //----------------------------------------------------------------- 00093 virtual RTI::Boolean operator== (const double&) const 00094 throw (RTI::InvalidFederationTime); 00095 00096 virtual RTI::Boolean operator!= (const RTI::FedTime&) const 00097 throw (RTI::InvalidFederationTime); 00098 00099 virtual RTI::Boolean operator!= (const double&) const 00100 throw (RTI::InvalidFederationTime); 00101 00102 virtual RTI::FedTime& operator= (const DtVrlFedTime&) 00103 throw (RTI::InvalidFederationTime); 00104 00105 virtual RTI::FedTime& operator= (const double&) 00106 throw (RTI::InvalidFederationTime); 00107 00108 virtual RTI::FedTime& operator*= (const RTI::FedTime&) 00109 throw (RTI::InvalidFederationTime); 00110 00111 virtual RTI::FedTime& operator/= (const RTI::FedTime&) 00112 throw (RTI::InvalidFederationTime); 00113 00114 virtual RTI::FedTime& operator+= (const double&) 00115 throw (RTI::InvalidFederationTime); 00116 00117 virtual RTI::FedTime& operator-= (const double&) 00118 throw (RTI::InvalidFederationTime); 00119 00120 virtual RTI::FedTime& operator*= (const double&) 00121 throw (RTI::InvalidFederationTime); 00122 00123 virtual RTI::FedTime& operator/= (const double&) 00124 throw (RTI::InvalidFederationTime); 00125 00126 virtual DtVrlFedTime operator+ (const RTI::FedTime&) 00127 throw (RTI::InvalidFederationTime); 00128 00129 virtual DtVrlFedTime operator+ (const double&) 00130 throw (RTI::InvalidFederationTime); 00131 00132 virtual DtVrlFedTime operator- (const RTI::FedTime&) 00133 throw (RTI::InvalidFederationTime); 00134 00135 virtual DtVrlFedTime operator- (const double&) 00136 throw (RTI::InvalidFederationTime); 00137 00138 virtual DtVrlFedTime operator* (const RTI::FedTime&) 00139 throw (RTI::InvalidFederationTime); 00140 00141 virtual DtVrlFedTime operator* (const double&) 00142 throw (RTI::InvalidFederationTime); 00143 00144 virtual DtVrlFedTime operator/ (const RTI::FedTime&) 00145 throw (RTI::InvalidFederationTime); 00146 00147 virtual DtVrlFedTime operator/ (const double&) 00148 throw (RTI::InvalidFederationTime); 00149 00150 //----------------------------------------------------------------- 00152 //----------------------------------------------------------------- 00153 public: 00154 friend ostream& operator<< (ostream&, RTI::FedTime&); 00155 00156 //----------------------------------------------------------------- 00158 //----------------------------------------------------------------- 00159 private: 00160 double _fedTime; 00161 double _zero; 00162 double _epsilon; 00163 double _positiveInfinity; 00164 }; 00165 00166 //----------------------------------------------------------------- 00168 //----------------------------------------------------------------- 00169 00170 DtVrlFedTime operator+ (const double&, const RTI::FedTime&); 00171 DtVrlFedTime operator- (const double&, const RTI::FedTime&); 00172 DtVrlFedTime operator* (const double&, const RTI::FedTime&); 00173 DtVrlFedTime operator/ (const double&, const RTI::FedTime&); 00174 00175 #endif //! DtHLA 00176 #endif //! DtVrlFedTime_H_ 00177 //#endif //! _WIN32