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