0022627: Change OCCT memory management defaults
[occt.git] / src / RWStepBasic / RWStepBasic_RWDocumentFile.cxx
1 // File:        RWStepBasic_RWDocumentFile.cxx
2 // Created:     Thu May 11 16:38:00 2000 
3 // Author:      data exchange team
4 // Generator:   ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.1
5 // Copyright:   Matra Datavision 2000
6
7 #include <RWStepBasic_RWDocumentFile.ixx>
8 #include <StepBasic_CharacterizedObject.hxx>
9
10 //=======================================================================
11 //function : RWStepBasic_RWDocumentFile
12 //purpose  : 
13 //=======================================================================
14
15 RWStepBasic_RWDocumentFile::RWStepBasic_RWDocumentFile ()
16 {
17 }
18
19 //=======================================================================
20 //function : ReadStep
21 //purpose  : 
22 //=======================================================================
23
24 void RWStepBasic_RWDocumentFile::ReadStep (const Handle(StepData_StepReaderData)& data,
25                                            const Standard_Integer num,
26                                            Handle(Interface_Check)& ach,
27                                            const Handle(StepBasic_DocumentFile) &ent) const
28 {
29   // Check number of parameters
30   if ( ! data->CheckNbParams(num,6,ach,"document_file") ) return;
31
32   // Inherited fields of Document
33
34   Handle(TCollection_HAsciiString) aDocument_Id;
35   data->ReadString (num, 1, "document.id", ach, aDocument_Id);
36
37   Handle(TCollection_HAsciiString) aDocument_Name;
38   data->ReadString (num, 2, "document.name", ach, aDocument_Name);
39
40   Handle(TCollection_HAsciiString) aDocument_Description;
41   Standard_Boolean hasDocument_Description = Standard_True;
42   if ( data->IsParamDefined (num,3) ) {
43     data->ReadString (num, 3, "document.description", ach, aDocument_Description);
44   }
45   else {
46     hasDocument_Description = Standard_False;
47   }
48
49   Handle(StepBasic_DocumentType) aDocument_Kind;
50   data->ReadEntity (num, 4, "document.kind", ach, STANDARD_TYPE(StepBasic_DocumentType), aDocument_Kind);
51
52   // Inherited fields of CharacterizedObject
53
54   Handle(TCollection_HAsciiString) aCharacterizedObject_Name;
55   data->ReadString (num, 5, "characterized_object.name", ach, aCharacterizedObject_Name);
56
57   Handle(TCollection_HAsciiString) aCharacterizedObject_Description;
58   Standard_Boolean hasCharacterizedObject_Description = Standard_True;
59   if ( data->IsParamDefined (num,6) ) {
60     data->ReadString (num, 6, "characterized_object.description", ach, aCharacterizedObject_Description);
61   }
62   else {
63     hasCharacterizedObject_Description = Standard_False;
64   }
65
66   // Initialize entity
67   ent->Init(aDocument_Id,
68             aDocument_Name,
69             hasDocument_Description,
70             aDocument_Description,
71             aDocument_Kind,
72             aCharacterizedObject_Name,
73             hasCharacterizedObject_Description,
74             aCharacterizedObject_Description);
75 }
76
77 //=======================================================================
78 //function : WriteStep
79 //purpose  : 
80 //=======================================================================
81
82 void RWStepBasic_RWDocumentFile::WriteStep (StepData_StepWriter& SW,
83                                             const Handle(StepBasic_DocumentFile) &ent) const
84 {
85
86   // Inherited fields of Document
87
88   SW.Send (ent->StepBasic_Document::Id());
89
90   SW.Send (ent->StepBasic_Document::Name());
91
92   if ( ent->StepBasic_Document::HasDescription() ) {
93     SW.Send (ent->StepBasic_Document::Description());
94   }
95   else SW.SendUndef();
96
97   SW.Send (ent->StepBasic_Document::Kind());
98
99   // Inherited fields of CharacterizedObject
100
101   SW.Send (ent->CharacterizedObject()->Name());
102
103   if ( ent->CharacterizedObject()->HasDescription() ) {
104     SW.Send (ent->CharacterizedObject()->Description());
105   }
106   else SW.SendUndef();
107 }
108
109 //=======================================================================
110 //function : Share
111 //purpose  : 
112 //=======================================================================
113
114 void RWStepBasic_RWDocumentFile::Share (const Handle(StepBasic_DocumentFile) &ent,
115                                         Interface_EntityIterator& iter) const
116 {
117
118   // Inherited fields of Document
119
120   iter.AddItem (ent->StepBasic_Document::Kind());
121
122   // Inherited fields of CharacterizedObject
123 }