0023024: Update headers of OCCT files
[occt.git] / src / RWStepRepr / RWStepRepr_RWSpecifiedHigherUsageOccurrence.cxx
CommitLineData
b311480e 1// Created on: 2000-07-03
2// Created by: Andrey BETENEV
3// Copyright (c) 2000-2012 OPEN CASCADE SAS
4//
5// The content of this file is subject to the Open CASCADE Technology Public
6// License Version 6.5 (the "License"). You may not use the content of this file
7// except in compliance with the License. Please obtain a copy of the License
8// at http://www.opencascade.org and read it completely before using this file.
9//
10// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12//
13// The Original Code and all software distributed under the License is
14// distributed on an "AS IS" basis, without warranty of any kind, and the
15// Initial Developer hereby disclaims all such warranties, including without
16// limitation, any warranties of merchantability, fitness for a particular
17// purpose or non-infringement. Please see the License for the specific terms
18// and conditions governing the rights and limitations under the License.
19
7fd59977 20// Generator: ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.1
7fd59977 21
22#include <RWStepRepr_RWSpecifiedHigherUsageOccurrence.ixx>
23
24//=======================================================================
25//function : RWStepRepr_RWSpecifiedHigherUsageOccurrence
26//purpose :
27//=======================================================================
28
29RWStepRepr_RWSpecifiedHigherUsageOccurrence::RWStepRepr_RWSpecifiedHigherUsageOccurrence ()
30{
31}
32
33//=======================================================================
34//function : ReadStep
35//purpose :
36//=======================================================================
37
38void RWStepRepr_RWSpecifiedHigherUsageOccurrence::ReadStep (const Handle(StepData_StepReaderData)& data,
39 const Standard_Integer num,
40 Handle(Interface_Check)& ach,
41 const Handle(StepRepr_SpecifiedHigherUsageOccurrence) &ent) const
42{
43 // Check number of parameters
44 if ( ! data->CheckNbParams(num,8,ach,"specified_higher_usage_occurrence") ) return;
45
46 // Inherited fields of ProductDefinitionRelationship
47
48 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Id;
49 data->ReadString (num, 1, "product_definition_relationship.id", ach, aProductDefinitionRelationship_Id);
50
51 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Name;
52 data->ReadString (num, 2, "product_definition_relationship.name", ach, aProductDefinitionRelationship_Name);
53
54 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Description;
55 Standard_Boolean hasProductDefinitionRelationship_Description = Standard_True;
56 if ( data->IsParamDefined (num,3) ) {
57 data->ReadString (num, 3, "product_definition_relationship.description", ach, aProductDefinitionRelationship_Description);
58 }
59 else {
60 hasProductDefinitionRelationship_Description = Standard_False;
61 }
62
63 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatingProductDefinition;
64 data->ReadEntity (num, 4, "product_definition_relationship.relating_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatingProductDefinition);
65
66 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatedProductDefinition;
67 data->ReadEntity (num, 5, "product_definition_relationship.related_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatedProductDefinition);
68
69 // Inherited fields of AssemblyComponentUsage
70
71 Handle(TCollection_HAsciiString) aAssemblyComponentUsage_ReferenceDesignator;
72 Standard_Boolean hasAssemblyComponentUsage_ReferenceDesignator = Standard_True;
73 if ( data->IsParamDefined (num,6) ) {
74 data->ReadString (num, 6, "assembly_component_usage.reference_designator", ach, aAssemblyComponentUsage_ReferenceDesignator);
75 }
76 else {
77 hasAssemblyComponentUsage_ReferenceDesignator = Standard_False;
78 }
79
80 // Own fields of SpecifiedHigherUsageOccurrence
81
82 Handle(StepRepr_AssemblyComponentUsage) aUpperUsage;
83 data->ReadEntity (num, 7, "upper_usage", ach, STANDARD_TYPE(StepRepr_AssemblyComponentUsage), aUpperUsage);
84
85 Handle(StepRepr_NextAssemblyUsageOccurrence) aNextUsage;
86 data->ReadEntity (num, 8, "next_usage", ach, STANDARD_TYPE(StepRepr_NextAssemblyUsageOccurrence), aNextUsage);
87
88 // Initialize entity
89 ent->Init(aProductDefinitionRelationship_Id,
90 aProductDefinitionRelationship_Name,
91 hasProductDefinitionRelationship_Description,
92 aProductDefinitionRelationship_Description,
93 aProductDefinitionRelationship_RelatingProductDefinition,
94 aProductDefinitionRelationship_RelatedProductDefinition,
95 hasAssemblyComponentUsage_ReferenceDesignator,
96 aAssemblyComponentUsage_ReferenceDesignator,
97 aUpperUsage,
98 aNextUsage);
99}
100
101//=======================================================================
102//function : WriteStep
103//purpose :
104//=======================================================================
105
106void RWStepRepr_RWSpecifiedHigherUsageOccurrence::WriteStep (StepData_StepWriter& SW,
107 const Handle(StepRepr_SpecifiedHigherUsageOccurrence) &ent) const
108{
109
110 // Inherited fields of ProductDefinitionRelationship
111
112 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Id());
113
114 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Name());
115
116 if ( ent->StepBasic_ProductDefinitionRelationship::HasDescription() ) {
117 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Description());
118 }
119 else SW.SendUndef();
120
121 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
122
123 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
124
125 // Inherited fields of AssemblyComponentUsage
126
127 if ( ent->StepRepr_AssemblyComponentUsage::HasReferenceDesignator() ) {
128 SW.Send (ent->StepRepr_AssemblyComponentUsage::ReferenceDesignator());
129 }
130 else SW.SendUndef();
131
132 // Own fields of SpecifiedHigherUsageOccurrence
133
134 SW.Send (ent->UpperUsage());
135
136 SW.Send (ent->NextUsage());
137}
138
139//=======================================================================
140//function : Share
141//purpose :
142//=======================================================================
143
144void RWStepRepr_RWSpecifiedHigherUsageOccurrence::Share (const Handle(StepRepr_SpecifiedHigherUsageOccurrence) &ent,
145 Interface_EntityIterator& iter) const
146{
147
148 // Inherited fields of ProductDefinitionRelationship
149
150 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
151
152 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
153
154 // Inherited fields of AssemblyComponentUsage
155
156 // Own fields of SpecifiedHigherUsageOccurrence
157
158 iter.AddItem (ent->UpperUsage());
159
160 iter.AddItem (ent->NextUsage());
161}