0023022: This is desirable to access OpenGl extensions and core API (1.2+) in one...
[occt.git] / src / RWStepShape / RWStepShape_RWConnectedFaceShapeRepresentation.cxx
1 // File:        RWStepShape_RWConnectedFaceShapeRepresentation.cxx
2 // Created:     Fri Dec 28 16:02:01 2001 
3 // Author:      Andrey BETENEV
4 // Generator:   ExpToCas (EXPRESS -> CASCADE/XSTEP Translator) V1.1
5 // Copyright:   Matra Datavision 2000
6
7 #include <RWStepShape_RWConnectedFaceShapeRepresentation.ixx>
8 #include <StepRepr_HArray1OfRepresentationItem.hxx>
9 #include <StepRepr_RepresentationItem.hxx>
10
11 //=======================================================================
12 //function : RWStepShape_RWConnectedFaceShapeRepresentation
13 //purpose  : 
14 //=======================================================================
15
16 RWStepShape_RWConnectedFaceShapeRepresentation::RWStepShape_RWConnectedFaceShapeRepresentation ()
17 {
18 }
19
20 //=======================================================================
21 //function : ReadStep
22 //purpose  : 
23 //=======================================================================
24
25 void RWStepShape_RWConnectedFaceShapeRepresentation::ReadStep (const Handle(StepData_StepReaderData)& data,
26                                                                const Standard_Integer num,
27                                                                Handle(Interface_Check)& ach,
28                                                                const Handle(StepShape_ConnectedFaceShapeRepresentation) &ent) const
29 {
30   // Check number of parameters
31   if ( ! data->CheckNbParams(num,3,ach,"connected_face_shape_representation") ) return;
32
33   // Inherited fields of Representation
34
35   Handle(TCollection_HAsciiString) aRepresentation_Name;
36   data->ReadString (num, 1, "representation.name", ach, aRepresentation_Name);
37
38   Handle(StepRepr_HArray1OfRepresentationItem) aRepresentation_Items;
39   Standard_Integer sub2 = 0;
40   if ( data->ReadSubList (num, 2, "representation.items", ach, sub2) ) {
41     Standard_Integer num2 = sub2;
42     Standard_Integer nb0 = data->NbParams(num2);
43     aRepresentation_Items = new StepRepr_HArray1OfRepresentationItem (1, nb0);
44     for ( Standard_Integer i0=1; i0 <= nb0; i0++ ) {
45       Handle(StepRepr_RepresentationItem) anIt0;
46       data->ReadEntity (num2, i0, "representation.items", ach, STANDARD_TYPE(StepRepr_RepresentationItem), anIt0);
47       aRepresentation_Items->SetValue(i0, anIt0);
48     }
49   }
50
51   Handle(StepRepr_RepresentationContext) aRepresentation_ContextOfItems;
52   data->ReadEntity (num, 3, "representation.context_of_items", ach, STANDARD_TYPE(StepRepr_RepresentationContext), aRepresentation_ContextOfItems);
53
54   // Initialize entity
55   ent->Init(aRepresentation_Name,
56             aRepresentation_Items,
57             aRepresentation_ContextOfItems);
58 }
59
60 //=======================================================================
61 //function : WriteStep
62 //purpose  : 
63 //=======================================================================
64
65 void RWStepShape_RWConnectedFaceShapeRepresentation::WriteStep (StepData_StepWriter& SW,
66                                                                 const Handle(StepShape_ConnectedFaceShapeRepresentation) &ent) const
67 {
68
69   // Inherited fields of Representation
70
71   SW.Send (ent->StepRepr_Representation::Name());
72
73   SW.OpenSub();
74   for (Standard_Integer i1=1; i1 <= ent->StepRepr_Representation::Items()->Length(); i1++ ) {
75     Handle(StepRepr_RepresentationItem) Var0 = ent->StepRepr_Representation::Items()->Value(i1);
76     SW.Send (Var0);
77   }
78   SW.CloseSub();
79
80   SW.Send (ent->StepRepr_Representation::ContextOfItems());
81 }
82
83 //=======================================================================
84 //function : Share
85 //purpose  : 
86 //=======================================================================
87
88 void RWStepShape_RWConnectedFaceShapeRepresentation::Share (const Handle(StepShape_ConnectedFaceShapeRepresentation) &ent,
89                                                             Interface_EntityIterator& iter) const
90 {
91
92   // Inherited fields of Representation
93
94   for (Standard_Integer i1=1; i1 <= ent->StepRepr_Representation::Items()->Length(); i1++ ) {
95     Handle(StepRepr_RepresentationItem) Var0 = ent->StepRepr_Representation::Items()->Value(i1);
96     iter.AddItem (Var0);
97   }
98
99   iter.AddItem (ent->StepRepr_Representation::ContextOfItems());
100 }