0022627: Change OCCT memory management defaults
[occt.git] / src / RWStepBasic / RWStepBasic_RWDocument.cxx
1 // File:        RWStepBasic_RWDocument.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_RWDocument.ixx>
8
9 //=======================================================================
10 //function : RWStepBasic_RWDocument
11 //purpose  : 
12 //=======================================================================
13
14 RWStepBasic_RWDocument::RWStepBasic_RWDocument ()
15 {
16 }
17
18 //=======================================================================
19 //function : ReadStep
20 //purpose  : 
21 //=======================================================================
22
23 void RWStepBasic_RWDocument::ReadStep (const Handle(StepData_StepReaderData)& data,
24                                        const Standard_Integer num,
25                                        Handle(Interface_Check)& ach,
26                                        const Handle(StepBasic_Document) &ent) const
27 {
28   // Check number of parameters
29   if ( ! data->CheckNbParams(num,4,ach,"document") ) return;
30
31   // Own fields of Document
32
33   Handle(TCollection_HAsciiString) aId;
34   data->ReadString (num, 1, "id", ach, aId);
35
36   Handle(TCollection_HAsciiString) aName;
37   data->ReadString (num, 2, "name", ach, aName);
38
39   Handle(TCollection_HAsciiString) aDescription;
40   Standard_Boolean hasDescription = Standard_True;
41   if ( data->IsParamDefined (num,3) ) {
42     data->ReadString (num, 3, "description", ach, aDescription);
43   }
44   else {
45     hasDescription = Standard_False;
46   }
47
48   Handle(StepBasic_DocumentType) aKind;
49   data->ReadEntity (num, 4, "kind", ach, STANDARD_TYPE(StepBasic_DocumentType), aKind);
50
51   // Initialize entity
52   ent->Init(aId,
53             aName,
54             hasDescription,
55             aDescription,
56             aKind);
57 }
58
59 //=======================================================================
60 //function : WriteStep
61 //purpose  : 
62 //=======================================================================
63
64 void RWStepBasic_RWDocument::WriteStep (StepData_StepWriter& SW,
65                                         const Handle(StepBasic_Document) &ent) const
66 {
67
68   // Own fields of Document
69
70   SW.Send (ent->Id());
71
72   SW.Send (ent->Name());
73
74   if ( ent->HasDescription() ) {
75     SW.Send (ent->Description());
76   }
77   else SW.SendUndef();
78
79   SW.Send (ent->Kind());
80 }
81
82 //=======================================================================
83 //function : Share
84 //purpose  : 
85 //=======================================================================
86
87 void RWStepBasic_RWDocument::Share (const Handle(StepBasic_Document) &ent,
88                                     Interface_EntityIterator& iter) const
89 {
90
91   // Own fields of Document
92
93   iter.AddItem (ent->Kind());
94 }