3 // File OpenGl_GraphicDriver_5.cxx
4 // Created Mardi 28 janvier 1997
7 //-Copyright MatraDatavision 1997
11 //-Design Declaration des variables specifiques aux Drivers
13 //-Warning Un driver encapsule les Pex et OpenGl drivers
22 #include <OpenGl_GraphicDriver.jxx>
24 #include <Aspect_DriverDefinitionError.hxx>
26 #include <OpenGl_tgl_funcs.hxx>
30 //-Global data definitions
34 void OpenGl_GraphicDriver::DumpGroup (const Graphic3d_CGroup& ACGroup) {
36 Graphic3d_CGroup MyCGroup = ACGroup;
39 PrintFunction ("call_togl_structure_exploration");
40 PrintCGroup (MyCGroup, 1);
42 call_togl_structure_exploration
43 (long (MyCGroup.Struct->Id), long (MyCGroup.LabelBegin), long (MyCGroup.LabelEnd));
47 void OpenGl_GraphicDriver::DumpStructure (const Graphic3d_CStructure& ACStructure) {
49 Graphic3d_CStructure MyCStructure = ACStructure;
52 PrintFunction ("call_togl_structure_exploration");
53 PrintCStructure (MyCStructure, 1);
55 call_togl_structure_exploration (long (MyCStructure.Id), 0, 0);
59 void OpenGl_GraphicDriver::DumpView (const Graphic3d_CView& ACView) {
61 Graphic3d_CView MyCView = ACView;
64 PrintFunction ("call_togl_view_exploration");
65 PrintCView (MyCView, 1);
67 call_togl_view_exploration (long (MyCView.ViewId));
71 Standard_Boolean OpenGl_GraphicDriver::ElementExploration (const Graphic3d_CStructure & ACStructure, const Standard_Integer ElementNumber, Graphic3d_VertexNC& AVertex, Graphic3d_Vector& AVector) {
73 Graphic3d_CStructure MyCStructure = ACStructure;
75 Quantity_Color AColor;
79 CALL_DEF_NORMAL Npt, Nfa;
83 PrintFunction ("call_togl_element_exploration");
84 PrintCStructure (MyCStructure, 1);
86 call_togl_element_exploration (MyCStructure.Id, ElementNumber, &AType, &Pt, &Npt, &Cpt, &Nfa);
88 if (! AType) return (Standard_False);
91 (double (Pt.x), double (Pt.y), double (Pt.z));
93 (double (Npt.dx), double (Npt.dy), double (Npt.dz));
95 (double (Cpt.r), double (Cpt.g),
96 double (Cpt.b), Quantity_TOC_RGB);
97 AVertex.SetColor (AColor);
99 (double (Nfa.dx), double (Nfa.dy), double (Nfa.dz));
100 return (Standard_True);
104 Graphic3d_TypeOfPrimitive OpenGl_GraphicDriver::ElementType (const Graphic3d_CStructure & ACStructure, const Standard_Integer ElementNumber) {
106 Graphic3d_CStructure MyCStructure = ACStructure;
109 Graphic3d_TypeOfPrimitive top;
112 PrintFunction ("call_togl_element_type");
113 PrintCStructure (MyCStructure, 1);
115 call_togl_element_type (MyCStructure.Id, ElementNumber, &AType);
120 top = Graphic3d_TOP_UNDEFINED;
123 top = Graphic3d_TOP_POLYLINE;
126 top = Graphic3d_TOP_POLYGON;
129 top = Graphic3d_TOP_TRIANGLEMESH;
132 top = Graphic3d_TOP_QUADRANGLEMESH;
135 top = Graphic3d_TOP_TEXT;
138 top = Graphic3d_TOP_MARKER;
141 top = Graphic3d_TOP_UNDEFINED;