![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 #ifndef FedTime_h 00002 #define FedTime_h 00003 00004 #include <RTI.hh> 00005 #include <sys/types.h> 00006 #include <string.h> 00007 00008 class RTI_EXPORT_FEDTIME RTIfedTime : public RTI::FedTime { 00009 //----------------------------------------------------------------- 00010 // Constructors and Destructors 00011 //----------------------------------------------------------------- 00012 public: 00013 RTIfedTime(); 00014 RTIfedTime(const RTI::Double&); 00015 RTIfedTime(const RTI::FedTime&); 00016 RTIfedTime(const RTIfedTime&); 00017 virtual ~RTIfedTime(); 00018 00019 //----------------------------------------------------------------- 00020 // Overloaded functions from RTI::FedTime 00021 //----------------------------------------------------------------- 00022 public: 00023 virtual void setZero(); 00024 virtual RTI::Boolean isZero(); 00025 virtual void setEpsilon(); 00026 virtual void setPositiveInfinity(); 00027 virtual RTI::Boolean isPositiveInfinity(); 00028 virtual int encodedLength() const; 00029 virtual void encode(char *buff) const; 00030 virtual int getPrintableLength() const; 00031 virtual void getPrintableString(char*); 00032 00033 //----------------------------------------------------------------- 00034 // Overloaded operators from RTI::FedTime 00035 //----------------------------------------------------------------- 00036 public: 00037 virtual RTI::FedTime& operator+= (const RTI::FedTime&) 00038 throw (RTI::InvalidFederationTime); 00039 00040 virtual RTI::FedTime& operator-= (const RTI::FedTime&) 00041 throw (RTI::InvalidFederationTime); 00042 00043 virtual RTI::Boolean operator<= (const RTI::FedTime&) const 00044 throw (RTI::InvalidFederationTime); 00045 00046 virtual RTI::Boolean operator< (const RTI::FedTime&) const 00047 throw (RTI::InvalidFederationTime); 00048 00049 virtual RTI::Boolean operator>= (const RTI::FedTime&) const 00050 throw (RTI::InvalidFederationTime); 00051 00052 virtual RTI::Boolean operator> (const RTI::FedTime&) const 00053 throw (RTI::InvalidFederationTime); 00054 00055 virtual RTI::Boolean operator== (const RTI::FedTime&) const 00056 throw (RTI::InvalidFederationTime); 00057 00058 virtual RTI::FedTime& operator= (const RTI::FedTime&) 00059 throw (RTI::InvalidFederationTime); 00060 00061 //----------------------------------------------------------------- 00062 // Implementation functions 00063 //----------------------------------------------------------------- 00064 public: 00065 virtual RTI::Double getTime() const; 00066 00067 //----------------------------------------------------------------- 00068 // Implementation operators 00069 //----------------------------------------------------------------- 00070 virtual RTI::Boolean operator== (const RTI::Double&) const 00071 throw (RTI::InvalidFederationTime); 00072 00073 virtual RTI::Boolean operator!= (const RTI::FedTime&) const 00074 throw (RTI::InvalidFederationTime); 00075 00076 virtual RTI::Boolean operator!= (const RTI::Double&) const 00077 throw (RTI::InvalidFederationTime); 00078 00079 virtual RTI::FedTime& operator= (const RTIfedTime&) 00080 throw (RTI::InvalidFederationTime); 00081 00082 virtual RTI::FedTime& operator= (const RTI::Double&) 00083 throw (RTI::InvalidFederationTime); 00084 00085 virtual RTI::FedTime& operator*= (const RTI::FedTime&) 00086 throw (RTI::InvalidFederationTime); 00087 00088 virtual RTI::FedTime& operator/= (const RTI::FedTime&) 00089 throw (RTI::InvalidFederationTime); 00090 00091 virtual RTI::FedTime& operator+= (const RTI::Double&) 00092 throw (RTI::InvalidFederationTime); 00093 00094 virtual RTI::FedTime& operator-= (const RTI::Double&) 00095 throw (RTI::InvalidFederationTime); 00096 00097 virtual RTI::FedTime& operator*= (const RTI::Double&) 00098 throw (RTI::InvalidFederationTime); 00099 00100 virtual RTI::FedTime& operator/= (const RTI::Double&) 00101 throw (RTI::InvalidFederationTime); 00102 00103 virtual RTIfedTime operator+ (const RTI::FedTime&) 00104 throw (RTI::InvalidFederationTime); 00105 00106 virtual RTIfedTime operator+ (const RTI::Double&) 00107 throw (RTI::InvalidFederationTime); 00108 00109 virtual RTIfedTime operator- (const RTI::FedTime&) 00110 throw (RTI::InvalidFederationTime); 00111 00112 virtual RTIfedTime operator- (const RTI::Double&) 00113 throw (RTI::InvalidFederationTime); 00114 00115 virtual RTIfedTime operator* (const RTI::FedTime&) 00116 throw (RTI::InvalidFederationTime); 00117 00118 virtual RTIfedTime operator* (const RTI::Double&) 00119 throw (RTI::InvalidFederationTime); 00120 00121 virtual RTIfedTime operator/ (const RTI::FedTime&) 00122 throw (RTI::InvalidFederationTime); 00123 00124 virtual RTIfedTime operator/ (const RTI::Double&) 00125 throw (RTI::InvalidFederationTime); 00126 00127 //----------------------------------------------------------------- 00128 // Implementation friends 00129 //----------------------------------------------------------------- 00130 public: 00131 // 00132 // RTI_STD was added for the RTI 1.3NG to allow the use of the Standard C++ 00133 // ostream or to use the legacy ostream. The issue concerns whether ostream 00134 // is in the global namespace or in namespace std. 00135 // 00136 friend RTI_STD::ostream RTI_EXPORT & operator<< (RTI_STD::ostream&, const RTI::FedTime&); 00137 00138 //----------------------------------------------------------------- 00139 // Implementation member variables 00140 //----------------------------------------------------------------- 00141 private: 00142 RTI::Double _fedTime; 00143 RTI::Double _zero; 00144 RTI::Double _epsilon; 00145 RTI::Double _positiveInfinity; 00146 }; 00147 00148 //----------------------------------------------------------------- 00149 // Global operators 00150 //----------------------------------------------------------------- 00151 00152 RTIfedTime operator+ (const RTI::Double&, const RTI::FedTime&); 00153 RTIfedTime operator- (const RTI::Double&, const RTI::FedTime&); 00154 RTIfedTime operator* (const RTI::Double&, const RTI::FedTime&); 00155 RTIfedTime operator/ (const RTI::Double&, const RTI::FedTime&); 00156 00157 #endif