1 #include <RWStepVisual_RWCurveStyle.ixx>
2 #include <StepVisual_CurveStyleFontSelect.hxx>
3 #include <StepBasic_SizeSelect.hxx>
4 #include <StepVisual_Colour.hxx>
5 #include <Interface_EntityIterator.hxx>
6 #include <StepVisual_CurveStyle.hxx>
7 //#include <StepBasic_SizeMember.hxx>
10 //=======================================================================
11 //function : RWStepVisual_RWCurveStyle
13 //=======================================================================
15 RWStepVisual_RWCurveStyle::RWStepVisual_RWCurveStyle()
20 //=======================================================================
23 //=======================================================================
25 void RWStepVisual_RWCurveStyle::ReadStep(const Handle(StepData_StepReaderData)& data,
26 const Standard_Integer num,
27 Handle(Interface_Check)& ach,
28 const Handle(StepVisual_CurveStyle)& ent) const
31 // --- Number of Parameter Control ---
32 if (!data->CheckNbParams(num,4,ach,"curve_style")) return;
34 // --- own field : name ---
35 Handle(TCollection_HAsciiString) aName;
37 //szv#4:S4163:12Mar99 `Standard_Boolean stat1 =` not needed
38 data->ReadString (num,1,"name",ach,aName);
40 // --- own field : curveFont ---
41 // idem RWStepVisual_BooleanOperand.
42 // doit etre remis a niveau avant utilisation
43 StepVisual_CurveStyleFontSelect aCurveFont;
44 data->ReadEntity(num,2,"curve_font",ach,aCurveFont);
46 // --- own field : curveWidth ---
47 StepBasic_SizeSelect aCurveWidth;
48 data->ReadEntity(num,3,"curve_width",ach,aCurveWidth);
49 // Handle(StepBasic_SizeMember) memb = new StepBasic_SizeMember;
50 // data->ReadMember(num,3,"curve_width",ach,memb);
51 // if ( ! memb->HasName() ) {
52 // ach->AddWarning("Parameter #3 (curve_width) is not a POSITIVE_LENGTH_MEASURE");
53 // memb->SetName ( "POSITIVE_LENGTH_MEASURE" );
55 // aCurveWidth.SetValue(memb);
57 // --- own field : curveColour ---
58 Handle(StepVisual_Colour) aCurveColour;
60 //szv#4:S4163:12Mar99 `Standard_Boolean stat4 =` not needed
61 data->ReadEntity(num, 4,"curve_colour", ach, STANDARD_TYPE(StepVisual_Colour), aCurveColour);
63 //--- Initialisation of the read entity ---
64 ent->Init(aName, aCurveFont, aCurveWidth, aCurveColour);
68 //=======================================================================
69 //function : WriteStep
71 //=======================================================================
73 void RWStepVisual_RWCurveStyle::WriteStep(StepData_StepWriter& SW,
74 const Handle(StepVisual_CurveStyle)& ent) const
77 // --- own field : name ---
80 // --- own field : curveFont ---
81 SW.Send(ent->CurveFont().Value());
83 // --- own field : curveWidth ---
84 SW.Send(ent->CurveWidth().Value());
86 // --- own field : curveColour ---
87 SW.Send(ent->CurveColour());
91 //=======================================================================
94 //=======================================================================
96 void RWStepVisual_RWCurveStyle::Share(const Handle(StepVisual_CurveStyle)& ent,
97 Interface_EntityIterator& iter) const
99 iter.GetOneItem(ent->CurveFont().Value());
100 iter.GetOneItem(ent->CurveColour());