1 // Created on: 2000-07-03
2 // Created by: Andrey BETENEV
3 // Copyright (c) 2000-2014 OPEN CASCADE SAS
5 // This file is part of Open CASCADE Technology software library.
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
16 // Generator: ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.1
18 #include <RWStepRepr_RWMakeFromUsageOption.ixx>
19 #include <StepBasic_ProductDefinition.hxx>
20 #include <StepBasic_MeasureWithUnit.hxx>
22 //=======================================================================
23 //function : RWStepRepr_RWMakeFromUsageOption
25 //=======================================================================
27 RWStepRepr_RWMakeFromUsageOption::RWStepRepr_RWMakeFromUsageOption ()
31 //=======================================================================
34 //=======================================================================
36 void RWStepRepr_RWMakeFromUsageOption::ReadStep (const Handle(StepData_StepReaderData)& data,
37 const Standard_Integer num,
38 Handle(Interface_Check)& ach,
39 const Handle(StepRepr_MakeFromUsageOption) &ent) const
41 // Check number of parameters
42 if ( ! data->CheckNbParams(num,8,ach,"make_from_usage_option") ) return;
44 // Inherited fields of ProductDefinitionRelationship
46 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Id;
47 data->ReadString (num, 1, "product_definition_relationship.id", ach, aProductDefinitionRelationship_Id);
49 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Name;
50 data->ReadString (num, 2, "product_definition_relationship.name", ach, aProductDefinitionRelationship_Name);
52 Handle(TCollection_HAsciiString) aProductDefinitionRelationship_Description;
53 Standard_Boolean hasProductDefinitionRelationship_Description = Standard_True;
54 if ( data->IsParamDefined (num,3) ) {
55 data->ReadString (num, 3, "product_definition_relationship.description", ach, aProductDefinitionRelationship_Description);
58 hasProductDefinitionRelationship_Description = Standard_False;
61 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatingProductDefinition;
62 data->ReadEntity (num, 4, "product_definition_relationship.relating_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatingProductDefinition);
64 Handle(StepBasic_ProductDefinition) aProductDefinitionRelationship_RelatedProductDefinition;
65 data->ReadEntity (num, 5, "product_definition_relationship.related_product_definition", ach, STANDARD_TYPE(StepBasic_ProductDefinition), aProductDefinitionRelationship_RelatedProductDefinition);
67 // Own fields of MakeFromUsageOption
69 Standard_Integer aRanking;
70 data->ReadInteger (num, 6, "ranking", ach, aRanking);
72 Handle(TCollection_HAsciiString) aRankingRationale;
73 data->ReadString (num, 7, "ranking_rationale", ach, aRankingRationale);
75 Handle(StepBasic_MeasureWithUnit) aQuantity;
76 data->ReadEntity (num, 8, "quantity", ach, STANDARD_TYPE(StepBasic_MeasureWithUnit), aQuantity);
79 ent->Init(aProductDefinitionRelationship_Id,
80 aProductDefinitionRelationship_Name,
81 hasProductDefinitionRelationship_Description,
82 aProductDefinitionRelationship_Description,
83 aProductDefinitionRelationship_RelatingProductDefinition,
84 aProductDefinitionRelationship_RelatedProductDefinition,
90 //=======================================================================
91 //function : WriteStep
93 //=======================================================================
95 void RWStepRepr_RWMakeFromUsageOption::WriteStep (StepData_StepWriter& SW,
96 const Handle(StepRepr_MakeFromUsageOption) &ent) const
99 // Inherited fields of ProductDefinitionRelationship
101 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Id());
103 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Name());
105 if ( ent->StepBasic_ProductDefinitionRelationship::HasDescription() ) {
106 SW.Send (ent->StepBasic_ProductDefinitionRelationship::Description());
110 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
112 SW.Send (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
114 // Own fields of MakeFromUsageOption
116 SW.Send (ent->Ranking());
118 SW.Send (ent->RankingRationale());
120 SW.Send (ent->Quantity());
123 //=======================================================================
126 //=======================================================================
128 void RWStepRepr_RWMakeFromUsageOption::Share (const Handle(StepRepr_MakeFromUsageOption) &ent,
129 Interface_EntityIterator& iter) const
132 // Inherited fields of ProductDefinitionRelationship
134 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatingProductDefinition());
136 iter.AddItem (ent->StepBasic_ProductDefinitionRelationship::RelatedProductDefinition());
138 // Own fields of MakeFromUsageOption
140 iter.AddItem (ent->Quantity());