0023024: Update headers of OCCT files
[occt.git] / src / RWStepRepr / RWStepRepr_RWPropertyDefinition.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_RWPropertyDefinition.ixx>
23
24//=======================================================================
25//function : RWStepRepr_RWPropertyDefinition
26//purpose :
27//=======================================================================
28
29RWStepRepr_RWPropertyDefinition::RWStepRepr_RWPropertyDefinition ()
30{
31}
32
33//=======================================================================
34//function : ReadStep
35//purpose :
36//=======================================================================
37
38void RWStepRepr_RWPropertyDefinition::ReadStep (const Handle(StepData_StepReaderData)& data,
39 const Standard_Integer num,
40 Handle(Interface_Check)& ach,
41 const Handle(StepRepr_PropertyDefinition) &ent) const
42{
43 // Check number of parameters
44 if ( ! data->CheckNbParams(num,3,ach,"property_definition") ) return;
45
46 // Own fields of PropertyDefinition
47
48 Handle(TCollection_HAsciiString) aName;
49 data->ReadString (num, 1, "name", ach, aName);
50
51 Handle(TCollection_HAsciiString) aDescription;
52 Standard_Boolean hasDescription = Standard_True;
53 if ( data->IsParamDefined (num,2) ) {
54 data->ReadString (num, 2, "description", ach, aDescription);
55 }
56 else {
57 hasDescription = Standard_False;
58 }
59
60 StepRepr_CharacterizedDefinition aDefinition;
61 data->ReadEntity (num, 3, "definition", ach, aDefinition);
62
63 // Initialize entity
64 ent->Init(aName,
65 hasDescription,
66 aDescription,
67 aDefinition);
68}
69
70//=======================================================================
71//function : WriteStep
72//purpose :
73//=======================================================================
74
75void RWStepRepr_RWPropertyDefinition::WriteStep (StepData_StepWriter& SW,
76 const Handle(StepRepr_PropertyDefinition) &ent) const
77{
78
79 // Own fields of PropertyDefinition
80
81 SW.Send (ent->Name());
82
83 if ( ent->HasDescription() ) {
84 SW.Send (ent->Description());
85 }
86 else SW.SendUndef();
87
88 SW.Send (ent->Definition().Value());
89}
90
91//=======================================================================
92//function : Share
93//purpose :
94//=======================================================================
95
96void RWStepRepr_RWPropertyDefinition::Share (const Handle(StepRepr_PropertyDefinition) &ent,
97 Interface_EntityIterator& iter) const
98{
99
100 // Own fields of PropertyDefinition
101
102 iter.AddItem (ent->Definition().Value());
103}