0022627: Change OCCT memory management defaults
[occt.git] / src / RWStepVisual / RWStepVisual_RWCurveStyleFont.cxx
1
2 #include <RWStepVisual_RWCurveStyleFont.ixx>
3 #include <StepVisual_HArray1OfCurveStyleFontPattern.hxx>
4 #include <StepVisual_CurveStyleFontPattern.hxx>
5
6
7 #include <Interface_EntityIterator.hxx>
8
9
10 #include <StepVisual_CurveStyleFont.hxx>
11
12
13 RWStepVisual_RWCurveStyleFont::RWStepVisual_RWCurveStyleFont () {}
14
15 void RWStepVisual_RWCurveStyleFont::ReadStep
16         (const Handle(StepData_StepReaderData)& data,
17          const Standard_Integer num,
18          Handle(Interface_Check)& ach,
19          const Handle(StepVisual_CurveStyleFont)& ent) const
20 {
21
22
23         // --- Number of Parameter Control ---
24
25         if (!data->CheckNbParams(num,2,ach,"curve_style_font")) return;
26
27         // --- own field : name ---
28
29         Handle(TCollection_HAsciiString) aName;
30         //szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
31         data->ReadString (num,1,"name",ach,aName);
32
33         // --- own field : patternList ---
34
35         Handle(StepVisual_HArray1OfCurveStyleFontPattern) aPatternList;
36         Handle(StepVisual_CurveStyleFontPattern) anent2;
37         Standard_Integer nsub2;
38         if (data->ReadSubList (num,2,"pattern_list",ach,nsub2)) {
39           Standard_Integer nb2 = data->NbParams(nsub2);
40           aPatternList = new StepVisual_HArray1OfCurveStyleFontPattern (1, nb2);
41           for (Standard_Integer i2 = 1; i2 <= nb2; i2 ++) {
42             //szv#4:S4163:12Mar99 `Standard_Boolean stat2 =` not needed
43             if (data->ReadEntity (nsub2, i2,"curve_style_font_pattern", ach,
44                                   STANDARD_TYPE(StepVisual_CurveStyleFontPattern), anent2))
45               aPatternList->SetValue(i2, anent2);
46           }
47         }
48
49         //--- Initialisation of the read entity ---
50
51
52         ent->Init(aName, aPatternList);
53 }
54
55
56 void RWStepVisual_RWCurveStyleFont::WriteStep
57         (StepData_StepWriter& SW,
58          const Handle(StepVisual_CurveStyleFont)& ent) const
59 {
60
61         // --- own field : name ---
62
63         SW.Send(ent->Name());
64
65         // --- own field : patternList ---
66
67         SW.OpenSub();
68         for (Standard_Integer i2 = 1;  i2 <= ent->NbPatternList();  i2 ++) {
69           SW.Send(ent->PatternListValue(i2));
70         }
71         SW.CloseSub();
72 }
73
74
75 void RWStepVisual_RWCurveStyleFont::Share(const Handle(StepVisual_CurveStyleFont)& ent, Interface_EntityIterator& iter) const
76 {
77
78         Standard_Integer nbElem1 = ent->NbPatternList();
79         for (Standard_Integer is1=1; is1<=nbElem1; is1 ++) {
80           iter.GetOneItem(ent->PatternListValue(is1));
81         }
82
83 }
84