summaryrefslogtreecommitdiff
path: root/src/Units/Units_ShiftedUnit.cxx
blob: cf54be8a4ef195f4afcc05f4ae77f2034aecbef8 (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
// File:	Units_ShiftedUnit.cxx
// Created:	Wed Nov  4 17:46:04 1992
// Author:	Gilles DEBARBOUILLE
//		<gde@bravox>


#include <Units_ShiftedUnit.ixx>
#include <Units_ShiftedToken.hxx>
#include <TCollection_AsciiString.hxx>
#include <TColStd_HSequenceOfHAsciiString.hxx>

//=======================================================================
//function : Units_ShiftedUnit
//purpose  : 
//=======================================================================

Units_ShiftedUnit::Units_ShiftedUnit(const Standard_CString aname,
				     const Standard_CString asymbol,
				     const Standard_Real avalue,
				     const Standard_Real amove,
				     const Handle(Units_Quantity)& aquantity)
     : Units_Unit(aname,asymbol,avalue,aquantity)
{
  themove = amove;
}

//=======================================================================
//function : Units_ShiftedUnit
//purpose  : 
//=======================================================================

Units_ShiftedUnit::Units_ShiftedUnit(const Standard_CString aname,
				     const Standard_CString asymbol)
     : Units_Unit(aname,asymbol)
{}

//=======================================================================
//function : Units_ShiftedUnit
//purpose  : 
//=======================================================================

Units_ShiftedUnit::Units_ShiftedUnit(const Standard_CString aname)
     : Units_Unit(aname)
{}

//=======================================================================
//function : Move
//purpose  : 
//=======================================================================

void Units_ShiftedUnit::Move(const Standard_Real amove)
{
  themove = amove;
}

//=======================================================================
//function : Move
//purpose  : 
//=======================================================================

Standard_Real Units_ShiftedUnit::Move() const
{
  return themove;
}

//=======================================================================
//function : Token
//purpose  : 
//=======================================================================

Handle(Units_Token) Units_ShiftedUnit::Token() const
{
  TCollection_AsciiString string = SymbolsSequence()->Value(1)->String();
  return new Units_ShiftedToken(string.ToCString()," ",Value(),themove,Quantity()->Dimensions());
}

//=======================================================================
//function : Dump
//purpose  : 
//=======================================================================

//void Units_ShiftedUnit::Dump(const Standard_Integer ashift,
//			     const Standard_Integer alevel) const
void Units_ShiftedUnit::Dump(const Standard_Integer ,
			     const Standard_Integer ) const
{
  Standard_Integer index;
  TCollection_AsciiString string;

//  int i;
//  for(i=0; i<ashift; i++)cout<<"  ";
  for(index=1;index<=thesymbolssequence->Length();index++)
    {
      string = thesymbolssequence->Value(index)->String();
      if(index != 1) cout << " or " ;
      cout<<"\""<<string.ToCString()<<"\"";
    }
  cout<< "		Name:  " <<Name().ToCString()<<"		(= *" << thevalue << " SI + " << themove << ")"<<endl;
}