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
7 #include <StepElement_CurveElementFreedom.ixx>
8 #include <StepElement_CurveElementFreedomMember.hxx>
9 #include <TCollection_HAsciiString.hxx>
11 static Standard_CString anEnum = "ENUMERATED_CURVE_ELEMENT_FREEDOM";
12 static Standard_CString anApp = "APPLICATION_DEFINED_DEGREE_OF_FREEDOM";
13 //=======================================================================
14 //function : StepElement_CurveElementFreedom
16 //=======================================================================
18 StepElement_CurveElementFreedom::StepElement_CurveElementFreedom ()
22 //=======================================================================
25 //=======================================================================
27 Standard_Integer StepElement_CurveElementFreedom::CaseNum (const Handle(Standard_Transient)& ent) const
32 //=======================================================================
35 //=======================================================================
37 Standard_Integer StepElement_CurveElementFreedom::CaseMem (const Handle(StepData_SelectMember)& ent) const
39 if(ent.IsNull()) return 0;
40 if(ent->Matches(anEnum)) return 1;
41 else if(ent->Matches(anApp)) return 2;
45 //=======================================================================
46 //function : NewMember
48 //=======================================================================
50 Handle(StepData_SelectMember) StepElement_CurveElementFreedom::NewMember() const
52 return new StepElement_CurveElementFreedomMember;
55 //=======================================================================
56 //function : SetEnumeratedCurveElementFreedom
58 //=======================================================================
60 void StepElement_CurveElementFreedom::SetEnumeratedCurveElementFreedom (const StepElement_EnumeratedCurveElementFreedom val)
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);
69 //=======================================================================
70 //function : EnumeratedCurveElementFreedom
72 //=======================================================================
74 StepElement_EnumeratedCurveElementFreedom StepElement_CurveElementFreedom::EnumeratedCurveElementFreedom () const
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;
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;
98 //=======================================================================
99 //function : SetApplicationDefinedDegreeOfFreedom
101 //=======================================================================
103 void StepElement_CurveElementFreedom::SetApplicationDefinedDegreeOfFreedom (const Handle(TCollection_HAsciiString) &val)
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());
112 //=======================================================================
113 //function : ApplicationDefinedDegreeOfFreedom
115 //=======================================================================
117 Handle(TCollection_HAsciiString) StepElement_CurveElementFreedom::ApplicationDefinedDegreeOfFreedom () const
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());