2 #include <RWStepVisual_RWPresentationStyleByContext.ixx>
3 #include <StepVisual_StyleContextSelect.hxx>
4 #include <StepVisual_HArray1OfPresentationStyleSelect.hxx>
5 #include <StepVisual_PresentationStyleSelect.hxx>
8 #include <Interface_EntityIterator.hxx>
11 #include <StepVisual_PresentationStyleByContext.hxx>
14 RWStepVisual_RWPresentationStyleByContext::RWStepVisual_RWPresentationStyleByContext () {}
16 void RWStepVisual_RWPresentationStyleByContext::ReadStep
17 (const Handle(StepData_StepReaderData)& data,
18 const Standard_Integer num,
19 Handle(Interface_Check)& ach,
20 const Handle(StepVisual_PresentationStyleByContext)& ent) const
24 // --- Number of Parameter Control ---
26 if (!data->CheckNbParams(num,2,ach,"presentation_style_by_context")) return;
28 // --- inherited field : styles ---
30 Handle(StepVisual_HArray1OfPresentationStyleSelect) aStyles;
31 StepVisual_PresentationStyleSelect aStylesItem;
32 Standard_Integer nsub1;
33 if (data->ReadSubList (num,1,"styles",ach,nsub1)) {
34 Standard_Integer nb1 = data->NbParams(nsub1);
35 aStyles = new StepVisual_HArray1OfPresentationStyleSelect (1, nb1);
36 for (Standard_Integer i1 = 1; i1 <= nb1; i1 ++) {
37 //szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
38 if (data->ReadEntity (nsub1,i1,"styles",ach,aStylesItem))
39 aStyles->SetValue(i1,aStylesItem);
43 // --- own field : styleContext ---
45 StepVisual_StyleContextSelect aStyleContext;
46 //szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed
47 data->ReadEntity(num,2,"style_context",ach,aStyleContext);
49 //--- Initialisation of the read entity ---
52 ent->Init(aStyles, aStyleContext);
56 void RWStepVisual_RWPresentationStyleByContext::WriteStep
57 (StepData_StepWriter& SW,
58 const Handle(StepVisual_PresentationStyleByContext)& ent) const
61 // --- inherited field styles ---
64 for (Standard_Integer i1 = 1; i1 <= ent->NbStyles(); i1 ++) {
65 SW.Send(ent->StylesValue(i1).Value());
69 // --- own field : styleContext ---
71 SW.Send(ent->StyleContext().Value());
75 void RWStepVisual_RWPresentationStyleByContext::Share(const Handle(StepVisual_PresentationStyleByContext)& ent, Interface_EntityIterator& iter) const
78 Standard_Integer nbElem1 = ent->NbStyles();
79 for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
80 iter.GetOneItem(ent->StylesValue(is1).Value());
85 iter.GetOneItem(ent->StyleContext().Value());