Integration of OCCT 6.5.0 from SVN
[occt.git] / src / RWStepRepr / RWStepRepr_RWAssemblyComponentUsage.cxx
CommitLineData
7fd59977 1// File: RWStepRepr_RWAssemblyComponentUsage.cxx
2// Created: Mon Jul 3 19:47:50 2000
3// Author: Andrey BETENEV
4// Generator: ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.1
5// Copyright: Matra Datavision 2000
6
7#include <RWStepRepr_RWAssemblyComponentUsage.ixx>
8
9//=======================================================================
10//function : RWStepRepr_RWAssemblyComponentUsage
11//purpose :
12//=======================================================================
13
14RWStepRepr_RWAssemblyComponentUsage::RWStepRepr_RWAssemblyComponentUsage ()
15{
16}
17
18//=======================================================================
19//function : ReadStep
20//purpose :
21//=======================================================================
22
23void RWStepRepr_RWAssemblyComponentUsage::ReadStep (const Handle(StepData_StepReaderData)& data,
24 const Standard_Integer num,
25 Handle(Interface_Check)& ach,
26 const Handle(StepRepr_AssemblyComponentUsage) &ent) const
27{
28 // Check number of parameters
29 if ( ! data->CheckNbParams(num,6,ach,"assembly_component_usage") ) return;
30
31 // Inherited fields of ProductDefinitionRelationship
32
33 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Id;
34 data->ReadString (num, 1, "product_definition_relationship.id", ach, aProductDefinitionRelationship_Id);
35
36 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Name;
37 data->ReadString (num, 2, "product_definition_relationship.name", ach, aProductDefinitionRelationship_Name);
38
39 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Description;
40 Standard_Boolean hasProductDefinitionRelationship_Description = Standard_True;
41 if ( data->IsParamDefined (num,3) ) {
42 data->ReadString (num, 3, "product_definition_relationship.description", ach, aProductDefinitionRelationship_Description);
43 }
44 else {
45 hasProductDefinitionRelationship_Description = Standard_False;
46 }
47
48 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatingProductDefinition;
49 data->ReadEntity (num, 4, "product_definition_relationship.relating_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatingProductDefinition);
50
51 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatedProductDefinition;
52 data->ReadEntity (num, 5, "product_definition_relationship.related_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatedProductDefinition);
53
54 // Own fields of AssemblyComponentUsage
55
56 Handle(TCollection_HAsciiString) aReferenceDesignator;
57 Standard_Boolean hasReferenceDesignator = Standard_True;
58 if ( data->IsParamDefined (num,6) ) {
59 data->ReadString (num, 6, "reference_designator", ach, aReferenceDesignator);
60 }
61 else {
62 hasReferenceDesignator = Standard_False;
63 }
64
65 // Initialize entity
66 ent->Init(aProductDefinitionRelationship_Id,
67 aProductDefinitionRelationship_Name,
68 hasProductDefinitionRelationship_Description,
69 aProductDefinitionRelationship_Description,
70 aProductDefinitionRelationship_RelatingProductDefinition,
71 aProductDefinitionRelationship_RelatedProductDefinition,
72 hasReferenceDesignator,
73 aReferenceDesignator);
74}
75
76//=======================================================================
77//function : WriteStep
78//purpose :
79//=======================================================================
80
81void RWStepRepr_RWAssemblyComponentUsage::WriteStep (StepData_StepWriter& SW,
82 const Handle(StepRepr_AssemblyComponentUsage) &ent) const
83{
84
85 // Inherited fields of ProductDefinitionRelationship
86
87 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Id());
88
89 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Name());
90
91 if ( ent->StepBasic_ProductDefinitionRelationship::HasDescription() ) {
92 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Description());
93 }
94 else SW.SendUndef();
95
96 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
97
98 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
99
100 // Own fields of AssemblyComponentUsage
101
102 if ( ent->HasReferenceDesignator() ) {
103 SW.Send (ent->ReferenceDesignator());
104 }
105 else SW.SendUndef();
106}
107
108//=======================================================================
109//function : Share
110//purpose :
111//=======================================================================
112
113void RWStepRepr_RWAssemblyComponentUsage::Share (const Handle(StepRepr_AssemblyComponentUsage) &ent,
114 Interface_EntityIterator& iter) const
115{
116
117 // Inherited fields of ProductDefinitionRelationship
118
119 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
120
121 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
122
123 // Own fields of AssemblyComponentUsage
124}