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