2 #include <RWStepVisual_RWCompositeText.ixx>
3 #include <StepVisual_HArray1OfTextOrCharacter.hxx>
4 #include <StepVisual_TextOrCharacter.hxx>
7 #include <Interface_EntityIterator.hxx>
10 #include <StepVisual_CompositeText.hxx>
13 RWStepVisual_RWCompositeText::RWStepVisual_RWCompositeText () {}
15 void RWStepVisual_RWCompositeText::ReadStep
16 (const Handle(StepData_StepReaderData)& data,
17 const Standard_Integer num,
18 Handle(Interface_Check)& ach,
19 const Handle(StepVisual_CompositeText)& ent) const
23 // --- Number of Parameter Control ---
25 if (!data->CheckNbParams(num,2,ach,"composite_text has not 2 parameter(s)")) return;
27 // --- inherited field : name ---
29 Handle(TCollection_HAsciiString) aName;
30 //szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
31 data->ReadString (num,1,"name",ach,aName);
33 // --- own field : collectedText ---
35 Handle(StepVisual_HArray1OfTextOrCharacter) aCollectedText;
36 StepVisual_TextOrCharacter aCollectedTextItem;
37 Standard_Integer nsub2;
38 nsub2 = data->SubListNumber(num, 2, Standard_False);
40 Standard_Integer nb2 = data->NbParams(nsub2);
41 aCollectedText = new StepVisual_HArray1OfTextOrCharacter (1, nb2);
42 for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
43 //szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed
44 if (data->ReadEntity (nsub2,i2,"collected_text",ach,aCollectedTextItem))
45 aCollectedText->SetValue(i2,aCollectedTextItem);
49 ach->AddFail("Parameter #2 (collected_text) is not a LIST");
52 //--- Initialisation of the read entity ---
55 ent->Init(aName, aCollectedText);
59 void RWStepVisual_RWCompositeText::WriteStep
60 (StepData_StepWriter& SW,
61 const Handle(StepVisual_CompositeText)& ent) const
64 // --- inherited field name ---
68 // --- own field : collectedText ---
71 for (Standard_Integer i2 = 1; i2 <= ent->NbCollectedText(); i2 ++) {
72 SW.Send(ent->CollectedTextValue(i2).Value());
78 void RWStepVisual_RWCompositeText::Share(const Handle(StepVisual_CompositeText)& ent, Interface_EntityIterator& iter) const
81 Standard_Integer nbElem1 = ent->NbCollectedText();
82 for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
83 iter.GetOneItem(ent->CollectedTextValue(is1).Value());