0022807: Loading of STEP entities in model during reading of STEP file requires redun...
[occt.git] / src / StepData / StepData_SelectMember.cxx
1 #include <StepData_SelectMember.ixx>
2
3 //  Definitions reprises de Field :
4 #define KindInteger 1
5 #define KindBoolean 2
6 #define KindLogical 3
7 #define KindEnum    4
8 #define KindReal    5
9 #define KindString  6
10
11
12
13     StepData_SelectMember::StepData_SelectMember ()    {  }
14
15     Standard_Boolean  StepData_SelectMember::HasName () const  {  return Standard_False;  }
16     Standard_CString  StepData_SelectMember::Name () const    {  return "";  }
17
18     Standard_Boolean  StepData_SelectMember::SetName (const Standard_CString bid)
19       {  return Standard_False;  }
20
21     Standard_Boolean  StepData_SelectMember::Matches (const Standard_CString name) const
22       {  return !strcmp (name,Name());  }
23
24     Standard_Integer  StepData_SelectMember::Kind () const    {  return 0;  }
25     void  StepData_SelectMember::SetKind (const Standard_Integer )  {  }
26
27 Interface_ParamType  StepData_SelectMember::ParamType () const
28 {
29   Standard_Integer kind = Kind();
30   if (kind == 0) return Interface_ParamVoid;
31   if (kind == 1) return Interface_ParamInteger;
32   if (kind == 2 || kind == 3) return Interface_ParamLogical;
33   if (kind == 4) return Interface_ParamEnum;
34   if (kind == 5) return Interface_ParamReal;
35   if (kind == 6) return Interface_ParamText;
36   return Interface_ParamMisc;
37 }
38
39     Standard_Integer  StepData_SelectMember::Int  () const    {  return 0;  }
40     void  StepData_SelectMember::SetInt  (const Standard_Integer )  {  }
41
42     Standard_Integer  StepData_SelectMember::Integer  () const    {  return Int();  }
43     void  StepData_SelectMember::SetInteger  (const Standard_Integer val)
44       {  SetKind(KindInteger);  SetInt(val);  }
45     Standard_Boolean  StepData_SelectMember::Boolean  () const    {  return (Int() > 0);  }
46     void  StepData_SelectMember::SetBoolean  (const Standard_Boolean val)
47       {  SetKind(KindBoolean);  SetInt((val ? 1 : 0));  }
48
49     StepData_Logical  StepData_SelectMember::Logical  () const
50 {
51   Standard_Integer ival = Int();
52   if (ival == 0) return StepData_LFalse;
53   if (ival == 1) return StepData_LTrue;
54   return StepData_LUnknown;
55 }
56
57     void  StepData_SelectMember::SetLogical  (const StepData_Logical val)
58 {
59   SetKind(KindLogical);
60   if (val == StepData_LFalse)   SetInt(0);
61   if (val == StepData_LTrue)    SetInt(0);
62   if (val == StepData_LUnknown) SetInt(0);
63 }
64
65     Standard_Real  StepData_SelectMember::Real  () const    {  return 0.0;  }
66     void  StepData_SelectMember::SetReal  (const Standard_Real )    {  }
67
68     Standard_CString  StepData_SelectMember::String  () const    {  return "";  }
69     void  StepData_SelectMember::SetString  (const Standard_CString )    {  }
70
71     Standard_Integer  StepData_SelectMember::Enum      () const    {  return Int();  }
72     Standard_CString  StepData_SelectMember::EnumText  () const    {  return String();  }
73
74     void  StepData_SelectMember::SetEnum
75   (const Standard_Integer val, const Standard_CString text)
76 {
77   SetKind(KindEnum);
78   SetInt(val);
79   if (text && text[0] != '\0') SetEnumText(val,text);
80 }
81
82     void  StepData_SelectMember::SetEnumText
83   (const Standard_Integer val, const Standard_CString text)
84       {  SetString(text);  }