File indexing completed on 2026-09-13 09:18:20
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Units_Measurement_HeaderFile
0018 #define _Units_Measurement_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 class Units_Token;
0025
0026
0027
0028 class Units_Measurement
0029 {
0030 public:
0031 DEFINE_STANDARD_ALLOC
0032
0033
0034 Standard_EXPORT Units_Measurement();
0035
0036
0037
0038
0039 Standard_EXPORT Units_Measurement(const double avalue, const occ::handle<Units_Token>& atoken);
0040
0041
0042
0043
0044 Standard_EXPORT Units_Measurement(const double avalue, const char* const aunit);
0045
0046
0047
0048
0049
0050 Standard_EXPORT void Convert(const char* const aunit);
0051
0052
0053
0054 Standard_EXPORT Units_Measurement Integer() const;
0055
0056
0057
0058 Standard_EXPORT Units_Measurement Fractional() const;
0059
0060
0061 Standard_EXPORT double Measurement() const;
0062
0063
0064 Standard_EXPORT occ::handle<Units_Token> Token() const;
0065
0066
0067
0068
0069 Standard_EXPORT Units_Measurement Add(const Units_Measurement& ameasurement) const;
0070
0071 Units_Measurement operator+(const Units_Measurement& ameasurement) const
0072 {
0073 return Add(ameasurement);
0074 }
0075
0076
0077
0078
0079 Standard_EXPORT Units_Measurement Subtract(const Units_Measurement& ameasurement) const;
0080
0081 Units_Measurement operator-(const Units_Measurement& ameasurement) const
0082 {
0083 return Subtract(ameasurement);
0084 }
0085
0086
0087
0088 Standard_EXPORT Units_Measurement Multiply(const Units_Measurement& ameasurement) const;
0089
0090 Units_Measurement operator*(const Units_Measurement& ameasurement) const
0091 {
0092 return Multiply(ameasurement);
0093 }
0094
0095
0096
0097 Standard_EXPORT Units_Measurement Multiply(const double avalue) const;
0098
0099 Units_Measurement operator*(const double avalue) const { return Multiply(avalue); }
0100
0101
0102
0103 Standard_EXPORT Units_Measurement Divide(const Units_Measurement& ameasurement) const;
0104
0105 Units_Measurement operator/(const Units_Measurement& ameasurement) const
0106 {
0107 return Divide(ameasurement);
0108 }
0109
0110
0111
0112 Standard_EXPORT Units_Measurement Divide(const double avalue) const;
0113
0114 Units_Measurement operator/(const double avalue) const { return Divide(avalue); }
0115
0116
0117
0118 Standard_EXPORT Units_Measurement Power(const double anexponent) const;
0119
0120 Standard_EXPORT bool HasToken() const;
0121
0122
0123 Standard_EXPORT void Dump() const;
0124
0125 private:
0126 double themeasurement;
0127 occ::handle<Units_Token> myToken;
0128 };
0129
0130 #endif