mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +03:00
196 lines
5.2 KiB
C++
Executable File
196 lines
5.2 KiB
C++
Executable File
|
|
#include <RWStepBasic_RWPerson.ixx>
|
|
#include <Interface_HArray1OfHAsciiString.hxx>
|
|
|
|
|
|
RWStepBasic_RWPerson::RWStepBasic_RWPerson () {}
|
|
|
|
void RWStepBasic_RWPerson::ReadStep
|
|
(const Handle(StepData_StepReaderData)& data,
|
|
const Standard_Integer num,
|
|
Handle(Interface_Check)& ach,
|
|
const Handle(StepBasic_Person)& ent) const
|
|
{
|
|
|
|
|
|
// --- Number of Parameter Control ---
|
|
|
|
if (!data->CheckNbParams(num,6,ach,"person")) return;
|
|
|
|
// --- own field : id ---
|
|
|
|
Handle(TCollection_HAsciiString) aId;
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
|
|
data->ReadString (num,1,"id",ach,aId);
|
|
|
|
// --- own field : lastName ---
|
|
|
|
Handle(TCollection_HAsciiString) aLastName;
|
|
Standard_Boolean hasAlastName = Standard_True;
|
|
if (data->IsParamDefined(num,2)) {
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed
|
|
data->ReadString (num,2,"last_name",ach,aLastName);
|
|
}
|
|
else {
|
|
hasAlastName = Standard_False;
|
|
aLastName.Nullify();
|
|
}
|
|
|
|
// --- own field : firstName ---
|
|
|
|
Handle(TCollection_HAsciiString) aFirstName;
|
|
Standard_Boolean hasAfirstName = Standard_True;
|
|
if (data->IsParamDefined(num,3)) {
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat3 =` not needed
|
|
data->ReadString (num,3,"first_name",ach,aFirstName);
|
|
}
|
|
else {
|
|
hasAfirstName = Standard_False;
|
|
aFirstName.Nullify();
|
|
}
|
|
|
|
// --- own field : middleNames ---
|
|
|
|
Handle(Interface_HArray1OfHAsciiString) aMiddleNames;
|
|
Standard_Boolean hasAmiddleNames = Standard_True;
|
|
if (data->IsParamDefined(num,4)) {
|
|
Handle(TCollection_HAsciiString) aMiddleNamesItem;
|
|
Standard_Integer nsub4;
|
|
if (data->ReadSubList (num,4,"middle_names",ach,nsub4)) {
|
|
Standard_Integer nb4 = data->NbParams(nsub4);
|
|
aMiddleNames = new Interface_HArray1OfHAsciiString (1, nb4);
|
|
for (Standard_Integer i4 = 1; i4 <= nb4; i4 ++) {
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat4 =` not needed
|
|
if (data->ReadString (nsub4,i4,"middle_names",ach,aMiddleNamesItem))
|
|
aMiddleNames->SetValue(i4,aMiddleNamesItem);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
hasAmiddleNames = Standard_False;
|
|
aMiddleNames.Nullify();
|
|
}
|
|
|
|
// --- own field : prefixTitles ---
|
|
|
|
Handle(Interface_HArray1OfHAsciiString) aPrefixTitles;
|
|
Standard_Boolean hasAprefixTitles = Standard_True;
|
|
if (data->IsParamDefined(num,5)) {
|
|
Handle(TCollection_HAsciiString) aPrefixTitlesItem;
|
|
Standard_Integer nsub5;
|
|
if (data->ReadSubList (num,5,"prefix_titles",ach,nsub5)) {
|
|
Standard_Integer nb5 = data->NbParams(nsub5);
|
|
aPrefixTitles = new Interface_HArray1OfHAsciiString (1, nb5);
|
|
for (Standard_Integer i5 = 1; i5 <= nb5; i5 ++) {
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat5 =` not needed
|
|
if (data->ReadString (nsub5,i5,"prefix_titles",ach,aPrefixTitlesItem))
|
|
aPrefixTitles->SetValue(i5,aPrefixTitlesItem);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
hasAprefixTitles = Standard_False;
|
|
aPrefixTitles.Nullify();
|
|
}
|
|
|
|
// --- own field : suffixTitles ---
|
|
|
|
Handle(Interface_HArray1OfHAsciiString) aSuffixTitles;
|
|
Standard_Boolean hasAsuffixTitles = Standard_True;
|
|
if (data->IsParamDefined(num,6)) {
|
|
Handle(TCollection_HAsciiString) aSuffixTitlesItem;
|
|
Standard_Integer nsub6;
|
|
if (data->ReadSubList (num,6,"suffix_titles",ach,nsub6)) {
|
|
Standard_Integer nb6 = data->NbParams(nsub6);
|
|
aSuffixTitles = new Interface_HArray1OfHAsciiString (1, nb6);
|
|
for (Standard_Integer i6 = 1; i6 <= nb6; i6 ++) {
|
|
//szv#4:S4163:12Mar99 `Standard_Boolean stat6 =` not needed
|
|
if (data->ReadString (nsub6,i6,"suffix_titles",ach,aSuffixTitlesItem))
|
|
aSuffixTitles->SetValue(i6,aSuffixTitlesItem);
|
|
}
|
|
}
|
|
}
|
|
else {
|
|
hasAsuffixTitles = Standard_False;
|
|
aSuffixTitles.Nullify();
|
|
}
|
|
|
|
//--- Initialisation of the read entity ---
|
|
|
|
|
|
ent->Init(aId, hasAlastName, aLastName, hasAfirstName, aFirstName, hasAmiddleNames, aMiddleNames, hasAprefixTitles, aPrefixTitles, hasAsuffixTitles, aSuffixTitles);
|
|
}
|
|
|
|
|
|
void RWStepBasic_RWPerson::WriteStep
|
|
(StepData_StepWriter& SW,
|
|
const Handle(StepBasic_Person)& ent) const
|
|
{
|
|
|
|
// --- own field : id ---
|
|
|
|
SW.Send(ent->Id());
|
|
|
|
// --- own field : lastName ---
|
|
|
|
Standard_Boolean hasAlastName = ent->HasLastName();
|
|
if (hasAlastName) {
|
|
SW.Send(ent->LastName());
|
|
}
|
|
else {
|
|
SW.SendUndef();
|
|
}
|
|
|
|
// --- own field : firstName ---
|
|
|
|
Standard_Boolean hasAfirstName = ent->HasFirstName();
|
|
if (hasAfirstName) {
|
|
SW.Send(ent->FirstName());
|
|
}
|
|
else {
|
|
SW.SendUndef();
|
|
}
|
|
|
|
// --- own field : middleNames ---
|
|
|
|
Standard_Boolean hasAmiddleNames = ent->HasMiddleNames();
|
|
if (hasAmiddleNames) {
|
|
SW.OpenSub();
|
|
for (Standard_Integer i4 = 1; i4 <= ent->NbMiddleNames(); i4 ++) {
|
|
SW.Send(ent->MiddleNamesValue(i4));
|
|
}
|
|
SW.CloseSub();
|
|
}
|
|
else {
|
|
SW.SendUndef();
|
|
}
|
|
|
|
// --- own field : prefixTitles ---
|
|
|
|
Standard_Boolean hasAprefixTitles = ent->HasPrefixTitles();
|
|
if (hasAprefixTitles) {
|
|
SW.OpenSub();
|
|
for (Standard_Integer i5 = 1; i5 <= ent->NbPrefixTitles(); i5 ++) {
|
|
SW.Send(ent->PrefixTitlesValue(i5));
|
|
}
|
|
SW.CloseSub();
|
|
}
|
|
else {
|
|
SW.SendUndef();
|
|
}
|
|
|
|
// --- own field : suffixTitles ---
|
|
|
|
Standard_Boolean hasAsuffixTitles = ent->HasSuffixTitles();
|
|
if (hasAsuffixTitles) {
|
|
SW.OpenSub();
|
|
for (Standard_Integer i6 = 1; i6 <= ent->NbSuffixTitles(); i6 ++) {
|
|
SW.Send(ent->SuffixTitlesValue(i6));
|
|
}
|
|
SW.CloseSub();
|
|
}
|
|
else {
|
|
SW.SendUndef();
|
|
}
|
|
}
|