0022627: Change OCCT memory management defaults
[occt.git] / src / RWStepBasic / RWStepBasic_RWDocumentProductEquivalence.cxx
1 // File:        RWStepBasic_RWDocumentProductEquivalence.cxx
2 // Created:     Tue Jan 28 12:40:35 2003 
3 // Author:      data exchange team
4 // Generator:   ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.2
5 // Copyright:   Open CASCADE 2002
6
7 #include <RWStepBasic_RWDocumentProductEquivalence.ixx>
8
9 //=======================================================================
10 //function : RWStepBasic_RWDocumentProductEquivalence
11 //purpose  : 
12 //=======================================================================
13
14 RWStepBasic_RWDocumentProductEquivalence::RWStepBasic_RWDocumentProductEquivalence ()
15 {
16 }
17
18 //=======================================================================
19 //function : ReadStep
20 //purpose  : 
21 //=======================================================================
22
23 void RWStepBasic_RWDocumentProductEquivalence::ReadStep (const Handle(StepData_StepReaderData)& data,
24                                                          const Standard_Integer num,
25                                                          Handle(Interface_Check)& ach,
26                                                          const Handle(StepBasic_DocumentProductEquivalence) &ent) const
27 {
28   // Check number of parameters
29   if ( ! data->CheckNbParams(num,4,ach,"document_product_equivalence") ) return;
30
31   // Inherited fields of DocumentProductAssociation
32
33   Handle(TCollection_HAsciiString) aDocumentProductAssociation_Name;
34   data->ReadString (num, 1, "document_product_association.name", ach, aDocumentProductAssociation_Name);
35
36   Handle(TCollection_HAsciiString) aDocumentProductAssociation_Description;
37   Standard_Boolean hasDocumentProductAssociation_Description = Standard_True;
38   if ( data->IsParamDefined (num,2) ) {
39     data->ReadString (num, 2, "document_product_association.description", ach, aDocumentProductAssociation_Description);
40   }
41   else {
42     hasDocumentProductAssociation_Description = Standard_False;
43   }
44
45   Handle(StepBasic_Document) aDocumentProductAssociation_RelatingDocument;
46   data->ReadEntity (num, 3, "document_product_association.relating_document", ach, STANDARD_TYPE(StepBasic_Document), aDocumentProductAssociation_RelatingDocument);
47
48   StepBasic_ProductOrFormationOrDefinition aDocumentProductAssociation_RelatedProduct;
49   data->ReadEntity (num, 4, "document_product_association.related_product", ach, aDocumentProductAssociation_RelatedProduct);
50
51   // Initialize entity
52   ent->Init(aDocumentProductAssociation_Name,
53             hasDocumentProductAssociation_Description,
54             aDocumentProductAssociation_Description,
55             aDocumentProductAssociation_RelatingDocument,
56             aDocumentProductAssociation_RelatedProduct);
57 }
58
59 //=======================================================================
60 //function : WriteStep
61 //purpose  : 
62 //=======================================================================
63
64 void RWStepBasic_RWDocumentProductEquivalence::WriteStep (StepData_StepWriter& SW,
65                                                           const Handle(StepBasic_DocumentProductEquivalence) &ent) const
66 {
67
68   // Inherited fields of DocumentProductAssociation
69
70   SW.Send (ent->StepBasic_DocumentProductAssociation::Name());
71
72   if ( ent->StepBasic_DocumentProductAssociation::HasDescription() ) {
73     SW.Send (ent->StepBasic_DocumentProductAssociation::Description());
74   }
75   else SW.SendUndef();
76
77   SW.Send (ent->StepBasic_DocumentProductAssociation::RelatingDocument());
78
79   SW.Send (ent->StepBasic_DocumentProductAssociation::RelatedProduct().Value());
80 }
81
82 //=======================================================================
83 //function : Share
84 //purpose  : 
85 //=======================================================================
86
87 void RWStepBasic_RWDocumentProductEquivalence::Share (const Handle(StepBasic_DocumentProductEquivalence) &ent,
88                                                       Interface_EntityIterator& iter) const
89 {
90
91   // Inherited fields of DocumentProductAssociation
92
93   iter.AddItem (ent->StepBasic_DocumentProductAssociation::RelatingDocument());
94
95   iter.AddItem (ent->StepBasic_DocumentProductAssociation::RelatedProduct().Value());
96 }