summaryrefslogtreecommitdiff
path: root/inc/Units_ShiftedToken.hxx
blob: 78a83ea66b4bf72a862868aeeee23f8030f39ec7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Units_ShiftedToken_HeaderFile
#define _Units_ShiftedToken_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Units_ShiftedToken_HeaderFile
#include <Handle_Units_ShiftedToken.hxx>
#endif

#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Units_Token_HeaderFile
#include <Units_Token.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Handle_Units_Dimensions_HeaderFile
#include <Handle_Units_Dimensions.hxx>
#endif
#ifndef _Handle_Units_Token_HeaderFile
#include <Handle_Units_Token.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class Units_Dimensions;
class Units_Token;


//! The  ShiftedToken class  inherits   from Token and <br>
//!          describes tokens which have  a gap in  addition of <br>
//!          the  multiplicative factor.   This kind  of  token <br>
//!          allows  the  description of linear functions which <br>
//!          do not pass through the origin, of the form : <br>
//! <br>
//!           y = ax  +b <br>
//! <br>
//!          where <x> and  <y>  are the unknown variables, <a> <br>
//!          the mutiplicative factor, and <b> the gap relative <br>
//!          to the ordinate axis. <br>
//! <br>
//!          An example is the  tranlation between the  Celsius <br>
//!          and Fahrenheit degree of temperature. <br>
class Units_ShiftedToken : public Units_Token {

public:

  //! Creates and returns a  shifted   token.  <aword> is  a <br>
//!          string containing the   available word, <amean>  gives <br>
//!          the signification   of the   token,  <avalue> is   the <br>
//!          numeric value  of the  dimension, <amove> is  the gap, <br>
//!          and <adimensions> is  the dimension of the given  word <br>
//!          <aword>. <br>
  Standard_EXPORT   Units_ShiftedToken(const Standard_CString aword,const Standard_CString amean,const Standard_Real avalue,const Standard_Real amove,const Handle(Units_Dimensions)& adimensions);
  //! Creates and returns a  token, which is a ShiftedToken. <br>
  Standard_EXPORT   virtual  Handle_Units_Token Creates() const;
  //! Returns the gap <themove> <br>
  Standard_EXPORT     Standard_Real Move() const;
  //! This  virtual   method  is  called  by the Measurement <br>
//!          methods,  to   compute  the   measurement    during  a <br>
//!          conversion. <br>
  Standard_EXPORT   virtual  Standard_Real Multiplied(const Standard_Real avalue) const;
  //! This   virtual  method is  called  by  the Measurement <br>
//!          methods,   to   compute   the   measurement   during a <br>
//!          conversion. <br>
  Standard_EXPORT   virtual  Standard_Real Divided(const Standard_Real avalue) const;
  //! Destroies the Token <br>
  Standard_EXPORT   virtual  void Destroy() ;
~Units_ShiftedToken()
{
  Destroy();
}
  
  Standard_EXPORT   virtual  void Dump(const Standard_Integer ashift,const Standard_Integer alevel) const;



  DEFINE_STANDARD_RTTI(Units_ShiftedToken)

protected:




private: 


Standard_Real themove;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif