2 #include <RWStepBasic_RWAddress.ixx>
5 RWStepBasic_RWAddress::RWStepBasic_RWAddress () {}
7 void RWStepBasic_RWAddress::ReadStep
8 (const Handle(StepData_StepReaderData)& data,
9 const Standard_Integer num,
10 Handle(Interface_Check)& ach,
11 const Handle(StepBasic_Address)& ent) const
15 // --- Number of Parameter Control ---
17 if (!data->CheckNbParams(num,12,ach,"address")) return;
18 // --- own field : internalLocation ---
20 Handle(TCollection_HAsciiString) aInternalLocation;
21 Standard_Boolean hasAinternalLocation = Standard_True;
22 if (data->IsParamDefined(num,1)) {
23 //szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
24 data->ReadString (num,1,"internal_location",ach,aInternalLocation);
27 hasAinternalLocation = Standard_False;
28 aInternalLocation.Nullify();
31 // --- own field : streetNumber ---
33 Handle(TCollection_HAsciiString) aStreetNumber;
34 Standard_Boolean hasAstreetNumber = Standard_True;
35 if (data->IsParamDefined(num,2)) {
36 //szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed
37 data->ReadString (num,2,"street_number",ach,aStreetNumber);
40 hasAstreetNumber = Standard_False;
41 aStreetNumber.Nullify();
44 // --- own field : street ---
46 Handle(TCollection_HAsciiString) aStreet;
47 Standard_Boolean hasAstreet = Standard_True;
48 if (data->IsParamDefined(num,3)) {
49 //szv#4:S4163:12Mar99 `Standard_Boolean stat3 =` not needed
50 data->ReadString (num,3,"street",ach,aStreet);
53 hasAstreet = Standard_False;
57 // --- own field : postalBox ---
59 Handle(TCollection_HAsciiString) aPostalBox;
60 Standard_Boolean hasApostalBox = Standard_True;
61 if (data->IsParamDefined(num,4)) {
62 //szv#4:S4163:12Mar99 `Standard_Boolean stat4 =` not needed
63 data->ReadString (num,4,"postal_box",ach,aPostalBox);
66 hasApostalBox = Standard_False;
70 // --- own field : town ---
72 Handle(TCollection_HAsciiString) aTown;
73 Standard_Boolean hasAtown = Standard_True;
74 if (data->IsParamDefined(num,5)) {
75 //szv#4:S4163:12Mar99 `Standard_Boolean stat5 =` not needed
76 data->ReadString (num,5,"town",ach,aTown);
79 hasAtown = Standard_False;
83 // --- own field : region ---
85 Handle(TCollection_HAsciiString) aRegion;
86 Standard_Boolean hasAregion = Standard_True;
87 if (data->IsParamDefined(num,6)) {
88 //szv#4:S4163:12Mar99 `Standard_Boolean stat6 =` not needed
89 data->ReadString (num,6,"region",ach,aRegion);
92 hasAregion = Standard_False;
96 // --- own field : postalCode ---
98 Handle(TCollection_HAsciiString) aPostalCode;
99 Standard_Boolean hasApostalCode = Standard_True;
100 if (data->IsParamDefined(num,7)) {
101 //szv#4:S4163:12Mar99 `Standard_Boolean stat7 =` not needed
102 data->ReadString (num,7,"postal_code",ach,aPostalCode);
105 hasApostalCode = Standard_False;
106 aPostalCode.Nullify();
109 // --- own field : country ---
111 Handle(TCollection_HAsciiString) aCountry;
112 Standard_Boolean hasAcountry = Standard_True;
113 if (data->IsParamDefined(num,8)) {
114 //szv#4:S4163:12Mar99 `Standard_Boolean stat8 =` not needed
115 data->ReadString (num,8,"country",ach,aCountry);
118 hasAcountry = Standard_False;
122 // --- own field : facsimileNumber ---
124 Handle(TCollection_HAsciiString) aFacsimileNumber;
125 Standard_Boolean hasAfacsimileNumber = Standard_True;
126 if (data->IsParamDefined(num,9)) {
127 //szv#4:S4163:12Mar99 `Standard_Boolean stat9 =` not needed
128 data->ReadString (num,9,"facsimile_number",ach,aFacsimileNumber);
131 hasAfacsimileNumber = Standard_False;
132 aFacsimileNumber.Nullify();
135 // --- own field : telephoneNumber ---
137 Handle(TCollection_HAsciiString) aTelephoneNumber;
138 Standard_Boolean hasAtelephoneNumber = Standard_True;
139 if (data->IsParamDefined(num,10)) {
140 //szv#4:S4163:12Mar99 `Standard_Boolean stat10 =` not needed
141 data->ReadString (num,10,"telephone_number",ach,aTelephoneNumber);
144 hasAtelephoneNumber = Standard_False;
145 aTelephoneNumber.Nullify();
148 // --- own field : electronicMailAddress ---
150 Handle(TCollection_HAsciiString) aElectronicMailAddress;
151 Standard_Boolean hasAelectronicMailAddress = Standard_True;
152 if (data->IsParamDefined(num,11)) {
153 //szv#4:S4163:12Mar99 `Standard_Boolean stat11 =` not needed
154 data->ReadString (num,11,"electronic_mail_address",ach,aElectronicMailAddress);
157 hasAelectronicMailAddress = Standard_False;
158 aElectronicMailAddress.Nullify();
161 // --- own field : telexNumber ---
163 Handle(TCollection_HAsciiString) aTelexNumber;
164 Standard_Boolean hasAtelexNumber = Standard_True;
165 if (data->IsParamDefined(num,12)) {
166 //szv#4:S4163:12Mar99 `Standard_Boolean stat12 =` not needed
167 data->ReadString (num,12,"telex_number",ach,aTelexNumber);
170 hasAtelexNumber = Standard_False;
171 aTelexNumber.Nullify();
174 //--- Initialisation of the read entity ---
177 ent->Init(hasAinternalLocation, aInternalLocation, hasAstreetNumber, aStreetNumber, hasAstreet, aStreet, hasApostalBox, aPostalBox, hasAtown, aTown, hasAregion, aRegion, hasApostalCode, aPostalCode, hasAcountry, aCountry, hasAfacsimileNumber, aFacsimileNumber, hasAtelephoneNumber, aTelephoneNumber, hasAelectronicMailAddress, aElectronicMailAddress, hasAtelexNumber, aTelexNumber);
181 void RWStepBasic_RWAddress::WriteStep
182 (StepData_StepWriter& SW,
183 const Handle(StepBasic_Address)& ent) const
186 // --- own field : internalLocation ---
188 Standard_Boolean hasAinternalLocation = ent->HasInternalLocation();
189 if (hasAinternalLocation) {
190 SW.Send(ent->InternalLocation());
196 // --- own field : streetNumber ---
198 Standard_Boolean hasAstreetNumber = ent->HasStreetNumber();
199 if (hasAstreetNumber) {
200 SW.Send(ent->StreetNumber());
206 // --- own field : street ---
208 Standard_Boolean hasAstreet = ent->HasStreet();
210 SW.Send(ent->Street());
216 // --- own field : postalBox ---
218 Standard_Boolean hasApostalBox = ent->HasPostalBox();
220 SW.Send(ent->PostalBox());
226 // --- own field : town ---
228 Standard_Boolean hasAtown = ent->HasTown();
230 SW.Send(ent->Town());
236 // --- own field : region ---
238 Standard_Boolean hasAregion = ent->HasRegion();
240 SW.Send(ent->Region());
246 // --- own field : postalCode ---
248 Standard_Boolean hasApostalCode = ent->HasPostalCode();
249 if (hasApostalCode) {
250 SW.Send(ent->PostalCode());
256 // --- own field : country ---
258 Standard_Boolean hasAcountry = ent->HasCountry();
260 SW.Send(ent->Country());
266 // --- own field : facsimileNumber ---
268 Standard_Boolean hasAfacsimileNumber = ent->HasFacsimileNumber();
269 if (hasAfacsimileNumber) {
270 SW.Send(ent->FacsimileNumber());
276 // --- own field : telephoneNumber ---
278 Standard_Boolean hasAtelephoneNumber = ent->HasTelephoneNumber();
279 if (hasAtelephoneNumber) {
280 SW.Send(ent->TelephoneNumber());
286 // --- own field : electronicMailAddress ---
288 Standard_Boolean hasAelectronicMailAddress = ent->HasElectronicMailAddress();
289 if (hasAelectronicMailAddress) {
290 SW.Send(ent->ElectronicMailAddress());
296 // --- own field : telexNumber ---
298 Standard_Boolean hasAtelexNumber = ent->HasTelexNumber();
299 if (hasAtelexNumber) {
300 SW.Send(ent->TelexNumber());