Integration of OCCT 6.5.0 from SVN
[occt.git] / src / StepFEA / StepFEA_DegreeOfFreedom.cxx
1 // File:        StepFEA_DegreeOfFreedom.cxx
2 // Created:     Sat Dec 14 11:02:05 2002 
3 // Author:      data exchange team
4 // Generator:   ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.2
5 // Copyright:   Open CASCADE 2002
6
7 #include <StepFEA_DegreeOfFreedom.ixx>
8 #include <StepFEA_DegreeOfFreedomMember.hxx>
9 #include <TCollection_HAsciiString.hxx>
10
11 //=======================================================================
12 //function : StepFEA_DegreeOfFreedom
13 //purpose  : 
14 //=======================================================================
15
16 StepFEA_DegreeOfFreedom::StepFEA_DegreeOfFreedom ()
17 {
18 }
19
20 //=======================================================================
21 //function : CaseNum
22 //purpose  : 
23 //=======================================================================
24
25 Standard_Integer StepFEA_DegreeOfFreedom::CaseNum (const Handle(Standard_Transient)& ent) const
26 {
27   return 0;
28 }
29
30 //=======================================================================
31 //function : CaseMem
32 //purpose  : 
33 //=======================================================================
34
35 Standard_Integer StepFEA_DegreeOfFreedom::CaseMem (const Handle(StepData_SelectMember)& ent) const
36 {
37  if(ent.IsNull()) return 0;
38  if(ent->Matches("ENUMERATED_DEGREE_OF_FREEDOM")) return 1;
39  else if(ent->Matches("APPLICATION_DEFINED_DEGREE_OF_FREEDOM")) return 2;
40  else return 0;
41 }
42
43 //=======================================================================
44 //function : NewMember
45 //purpose  : 
46 //=======================================================================
47
48 Handle(StepData_SelectMember) StepFEA_DegreeOfFreedom::NewMember() const
49 {
50  return new StepFEA_DegreeOfFreedomMember;
51 }
52
53 //=======================================================================
54 //function : SetEnumeratedCurveElementFreedom
55 //purpose  : 
56 //=======================================================================
57
58 void StepFEA_DegreeOfFreedom::SetEnumeratedDegreeOfFreedom (const StepFEA_EnumeratedDegreeOfFreedom val)
59 {
60   Handle(StepFEA_DegreeOfFreedomMember) SelMem = Handle(StepFEA_DegreeOfFreedomMember)::DownCast(Value());
61   if(SelMem.IsNull()) return;
62  Handle(TCollection_HAsciiString) name = new TCollection_HAsciiString("ENUMERATED_DEGREE_OF_FREEDOM");
63  SelMem->SetName(name->ToCString());
64  SelMem->SetEnum((Standard_Integer)val);
65 }
66
67 //=======================================================================
68 //function : EnumeratedCurveElementFreedom
69 //purpose  : 
70 //=======================================================================
71
72 StepFEA_EnumeratedDegreeOfFreedom StepFEA_DegreeOfFreedom::EnumeratedDegreeOfFreedom () const
73 {
74   Handle(StepFEA_DegreeOfFreedomMember) SelMem = Handle(StepFEA_DegreeOfFreedomMember)::DownCast(Value());
75   if(SelMem.IsNull()) return StepFEA_XTranslation;
76   Handle(TCollection_HAsciiString) name = new TCollection_HAsciiString;
77   name->AssignCat(SelMem->Name());
78   Handle(TCollection_HAsciiString) nameitem = new TCollection_HAsciiString("ENUMERATED_DEGREE_OF_FREEDOM");
79   if(name->IsDifferent(nameitem)) return StepFEA_XTranslation;
80   Standard_Integer numit = SelMem->Enum();
81   StepFEA_EnumeratedDegreeOfFreedom val;
82   switch(numit) {
83   case 1 : val = StepFEA_XTranslation; break;
84 //  case 2 : val = StepElement_YTranslation; break;
85 //  case 3 : val = StepElement_ZTranslation; break;
86 //  case 4 : val = StepElement_XRotation; break;
87 //  case 5 : val = StepElement_YRotation; break;
88 //  case 6 : val = StepElement_ZRotation; break;
89 //  case 7 : val = StepElement_Warp; break;
90 //  case 8 : val = StepElement_None; break;
91     default : return StepFEA_XTranslation;break;
92   }
93  return val;
94 }
95
96 //=======================================================================
97 //function : SetApplicationDefinedDegreeOfFreedom
98 //purpose  : 
99 //=======================================================================
100
101 void StepFEA_DegreeOfFreedom::SetApplicationDefinedDegreeOfFreedom (const Handle(TCollection_HAsciiString) &val)
102 {
103   Handle(StepFEA_DegreeOfFreedomMember) SelMem = Handle(StepFEA_DegreeOfFreedomMember)::DownCast(Value());
104   if(SelMem.IsNull()) return;
105  Handle(TCollection_HAsciiString) name = new TCollection_HAsciiString("APPLICATION_DEFINED_DEGREE_OF_FREEDOM");
106  SelMem->SetName(name->ToCString());
107  SelMem->SetString(val->ToCString());
108 }
109
110 //=======================================================================
111 //function : ApplicationDefinedDegreeOfFreedom
112 //purpose  : 
113 //=======================================================================
114
115 Handle(TCollection_HAsciiString) StepFEA_DegreeOfFreedom::ApplicationDefinedDegreeOfFreedom () const
116 {
117   Handle(StepFEA_DegreeOfFreedomMember) SelMem = Handle(StepFEA_DegreeOfFreedomMember)::DownCast(Value());
118   if(SelMem.IsNull()) return 0;
119  Handle(TCollection_HAsciiString) name = new TCollection_HAsciiString;
120  name->AssignCat(SelMem->Name());
121  Handle(TCollection_HAsciiString) nameitem = new TCollection_HAsciiString("APPLICATION_DEFINED_DEGREE_OF_FREEDOM");
122  if(name->IsDifferent(nameitem)) return 0;
123  Handle(TCollection_HAsciiString) val = new TCollection_HAsciiString;
124  val->AssignCat(SelMem->String());
125  return val;
126 }