This file is indexed.

/usr/include/oce/Graphic3d_GraphicDriver.hxx is in liboce-visualization-dev 0.15-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _Graphic3d_GraphicDriver_HeaderFile
#define _Graphic3d_GraphicDriver_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_Graphic3d_GraphicDriver_HeaderFile
#include <Handle_Graphic3d_GraphicDriver.hxx>
#endif

#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _OSD_SharedLibrary_HeaderFile
#include <OSD_SharedLibrary.hxx>
#endif
#ifndef _Aspect_DisplayConnection_Handle_HeaderFile
#include <Aspect_DisplayConnection_Handle.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _Standard_CString_HeaderFile
#include <Standard_CString.hxx>
#endif
#ifndef _Graphic3d_CView_HeaderFile
#include <Graphic3d_CView.hxx>
#endif
#ifndef _Graphic3d_CStructure_HeaderFile
#include <Graphic3d_CStructure.hxx>
#endif
#ifndef _Standard_ShortReal_HeaderFile
#include <Standard_ShortReal.hxx>
#endif
#ifndef _Graphic3d_CGroup_HeaderFile
#include <Graphic3d_CGroup.hxx>
#endif
#ifndef _Aspect_GradientFillMethod_HeaderFile
#include <Aspect_GradientFillMethod.hxx>
#endif
#ifndef _Aspect_FillMethod_HeaderFile
#include <Aspect_FillMethod.hxx>
#endif
#ifndef _Aspect_CLayer2d_HeaderFile
#include <Aspect_CLayer2d.hxx>
#endif
#ifndef _Graphic3d_Vertex_HeaderFile
#include <Graphic3d_Vertex.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Quantity_PlaneAngle_HeaderFile
#include <Quantity_PlaneAngle.hxx>
#endif
#ifndef _Graphic3d_TextPath_HeaderFile
#include <Graphic3d_TextPath.hxx>
#endif
#ifndef _Graphic3d_HorizontalTextAlignment_HeaderFile
#include <Graphic3d_HorizontalTextAlignment.hxx>
#endif
#ifndef _Graphic3d_VerticalTextAlignment_HeaderFile
#include <Graphic3d_VerticalTextAlignment.hxx>
#endif
#ifndef _Graphic3d_PrimitiveArray_HeaderFile
#include <Graphic3d_PrimitiveArray.hxx>
#endif
#ifndef _Graphic3d_CUserDraw_HeaderFile
#include <Graphic3d_CUserDraw.hxx>
#endif
#ifndef _Standard_Size_HeaderFile
#include <Standard_Size.hxx>
#endif
#ifndef _Quantity_NameOfColor_HeaderFile
#include <Quantity_NameOfColor.hxx>
#endif
#ifndef _Aspect_TypeOfTriedronPosition_HeaderFile
#include <Aspect_TypeOfTriedronPosition.hxx>
#endif
#ifndef _Aspect_TypeOfTriedronEcho_HeaderFile
#include <Aspect_TypeOfTriedronEcho.hxx>
#endif
#ifndef _Graphic3d_CGraduatedTrihedron_HeaderFile
#include <Graphic3d_CGraduatedTrihedron.hxx>
#endif
#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Graphic3d_PtrFrameBuffer_HeaderFile
#include <Graphic3d_PtrFrameBuffer.hxx>
#endif
#ifndef _Image_PixMap_HeaderFile
#include <Image_PixMap.hxx>
#endif
#ifndef _Graphic3d_BufferType_HeaderFile
#include <Graphic3d_BufferType.hxx>
#endif
#ifndef _Aspect_Handle_HeaderFile
#include <Aspect_Handle.hxx>
#endif
#ifndef _Aspect_PrintAlgo_HeaderFile
#include <Aspect_PrintAlgo.hxx>
#endif
#ifndef _Graphic3d_ExportFormat_HeaderFile
#include <Graphic3d_ExportFormat.hxx>
#endif
#ifndef _Graphic3d_SortType_HeaderFile
#include <Graphic3d_SortType.hxx>
#endif
#ifndef _Graphic3d_CLight_HeaderFile
#include <Graphic3d_CLight.hxx>
#endif
#ifndef _Graphic3d_CPick_HeaderFile
#include <Graphic3d_CPick.hxx>
#endif
class Graphic3d_TransformError;
class TColStd_Array2OfReal;
class Quantity_Color;
class gp_Ax2;
class TCollection_ExtendedString;
class TCollection_AsciiString;


//! This class allows the definition of a graphic driver <br>
//!      (currently only OpenGl driver is used). <br>
class Graphic3d_GraphicDriver : public MMgt_TShared {

public:

  //! Starts graphic driver with given connection <br>
  Standard_EXPORT   virtual  Standard_Boolean Begin(const Aspect_DisplayConnection_Handle& theDisplayConnection)  = 0;
  //! call_togl_end <br>
  Standard_EXPORT   virtual  void End()  = 0;
  //! call_togl_inquirelight <br>
  Standard_EXPORT   virtual  Standard_Integer InquireLightLimit()  = 0;
  //! call_togl_inquiremat <br>
  Standard_EXPORT   virtual  void InquireMat(const Graphic3d_CView& ACView,TColStd_Array2OfReal& AMatO,TColStd_Array2OfReal& AMatM)  = 0;
  //! call_togl_inquireplane <br>
  Standard_EXPORT   virtual  Standard_Integer InquirePlaneLimit()  = 0;
  //! call_togl_inquireview <br>
  Standard_EXPORT   virtual  Standard_Integer InquireViewLimit()  = 0;
  //! call_togl_blink <br>
  Standard_EXPORT   virtual  void Blink(const Graphic3d_CStructure& ACStructure,const Standard_Boolean Create)  = 0;
  //! call_togl_boundarybox <br>
  Standard_EXPORT   virtual  void BoundaryBox(const Graphic3d_CStructure& ACStructure,const Standard_Boolean Create)  = 0;
  //! call_togl_highlightcolor <br>
  Standard_EXPORT   virtual  void HighlightColor(const Graphic3d_CStructure& ACStructure,const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B,const Standard_Boolean Create)  = 0;
  //! call_togl_namesetstructure <br>
  Standard_EXPORT   virtual  void NameSetStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_cleargroup <br>
  Standard_EXPORT   virtual  void ClearGroup(const Graphic3d_CGroup& ACGroup)  = 0;
  //! call_togl_facecontextgroup <br>
  Standard_EXPORT   virtual  void FaceContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert)  = 0;
  //! call_togl_group <br>
  Standard_EXPORT   virtual  void Group(Graphic3d_CGroup& ACGroup)  = 0;
  //! call_togl_linecontextgroup <br>
  Standard_EXPORT   virtual  void LineContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert)  = 0;
  //! call_togl_markercontextgroup <br>
  Standard_EXPORT   virtual  void MarkerContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert)  = 0;
  //! call_togl_removegroup <br>
  Standard_EXPORT   virtual  void RemoveGroup(const Graphic3d_CGroup& ACGroup)  = 0;
  //! call_togl_textcontextgroup <br>
  Standard_EXPORT   virtual  void TextContextGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer NoInsert)  = 0;
  //! call_togl_clearstructure <br>
  Standard_EXPORT   virtual  void ClearStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_connect <br>
  Standard_EXPORT   virtual  void Connect(const Graphic3d_CStructure& AFather,const Graphic3d_CStructure& ASon)  = 0;
  //! call_togl_contextstructure <br>
  Standard_EXPORT   virtual  void ContextStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_disconnect <br>
  Standard_EXPORT   virtual  void Disconnect(const Graphic3d_CStructure& AFather,const Graphic3d_CStructure& ASon)  = 0;
  //! call_togl_displaystructure <br>
  Standard_EXPORT   virtual  void DisplayStructure(const Graphic3d_CView& ACView,const Graphic3d_CStructure& ACStructure,const Standard_Integer APriority)  = 0;
  //! call_togl_erasestructure <br>
  Standard_EXPORT   virtual  void EraseStructure(const Graphic3d_CView& ACView,const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_removestructure <br>
  Standard_EXPORT   virtual  void RemoveStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_structure <br>
  Standard_EXPORT   virtual  void Structure(Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_activateview <br>
  Standard_EXPORT   virtual  void ActivateView(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_antialiasing <br>
  Standard_EXPORT   virtual  void AntiAliasing(const Graphic3d_CView& ACView,const Standard_Boolean AFlag)  = 0;
  //! call_togl_background <br>
  Standard_EXPORT   virtual  void Background(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_gradient_background <br>
  Standard_EXPORT   virtual  void GradientBackground(const Graphic3d_CView& ACView,const Quantity_Color& AColor1,const Quantity_Color& AColor2,const Aspect_GradientFillMethod FillStyle)  = 0;
  
  Standard_EXPORT   virtual  void BackgroundImage(const Standard_CString FileName,const Graphic3d_CView& ACView,const Aspect_FillMethod FillStyle)  = 0;
  
  Standard_EXPORT   virtual  void SetBgImageStyle(const Graphic3d_CView& ACView,const Aspect_FillMethod FillStyle)  = 0;
  
  Standard_EXPORT   virtual  void SetBgGradientStyle(const Graphic3d_CView& ACView,const Aspect_GradientFillMethod FillStyle)  = 0;
  //! call_togl_cliplimit <br>
  Standard_EXPORT   virtual  void ClipLimit(const Graphic3d_CView& ACView,const Standard_Boolean AWait)  = 0;
  //! call_togl_deactivateview <br>
  Standard_EXPORT   virtual  void DeactivateView(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_cliplimit <br>
  Standard_EXPORT   virtual  void DepthCueing(const Graphic3d_CView& ACView,const Standard_Boolean AFlag)  = 0;
  //! call_togl_unproject_raster <br>
  Standard_EXPORT   virtual  Standard_Boolean ProjectRaster(const Graphic3d_CView& ACView,const Standard_ShortReal AX,const Standard_ShortReal AY,const Standard_ShortReal AZ,Standard_Integer& AU,Standard_Integer& AV)  = 0;
  //! call_togl_unproject_raster <br>
  Standard_EXPORT   virtual  Standard_Boolean UnProjectRaster(const Graphic3d_CView& ACView,const Standard_Integer Axm,const Standard_Integer Aym,const Standard_Integer AXM,const Standard_Integer AYM,const Standard_Integer AU,const Standard_Integer AV,Standard_ShortReal& AX,Standard_ShortReal& AY,Standard_ShortReal& AZ)  = 0;
  //! call_togl_unproject_raster_with_ray <br>
  Standard_EXPORT   virtual  Standard_Boolean UnProjectRasterWithRay(const Graphic3d_CView& ACView,const Standard_Integer Axm,const Standard_Integer Aym,const Standard_Integer AXM,const Standard_Integer AYM,const Standard_Integer AU,const Standard_Integer AV,Standard_ShortReal& AX,Standard_ShortReal& AY,Standard_ShortReal& AZ,Standard_ShortReal& DX,Standard_ShortReal& DY,Standard_ShortReal& DZ)  = 0;
  //! call_togl_ratio_window <br>
  Standard_EXPORT   virtual  void RatioWindow(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_redraw <br>
//!  Warning: when the redraw area has a null size, the full view is redrawn <br>
  Standard_EXPORT   virtual  void Redraw(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Standard_Integer x = 0,const Standard_Integer y = 0,const Standard_Integer width = 0,const Standard_Integer height = 0)  = 0;
  //! call_togl_removeview <br>
  Standard_EXPORT   virtual  void RemoveView(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_setlight <br>
  Standard_EXPORT   virtual  void SetLight(const Graphic3d_CView& ACView)  = 0;
  //! Pass clip planes to the associated graphic driver view. <br>
  Standard_EXPORT   virtual  void SetClipPlanes(const Graphic3d_CView& theCView)  = 0;
  //! Pass clip planes to the associated graphic driver structure. <br>
  Standard_EXPORT   virtual  void SetClipPlanes(const Graphic3d_CStructure& theCStructure)  = 0;
  //! call_togl_setvisualisation <br>
  Standard_EXPORT   virtual  void SetVisualisation(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_transformstructure <br>
  Standard_EXPORT   virtual  void TransformStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_transparency <br>
  Standard_EXPORT   virtual  void Transparency(const Graphic3d_CView& ACView,const Standard_Boolean AFlag)  = 0;
  //! call_togl_update <br>
  Standard_EXPORT   virtual  void Update(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer)  = 0;
  //! call_togl_view <br>
  Standard_EXPORT   virtual  Standard_Boolean View(Graphic3d_CView& ACView)  = 0;
  //! call_togl_viewmapping <br>
  Standard_EXPORT   virtual  void ViewMapping(const Graphic3d_CView& ACView,const Standard_Boolean AWait)  = 0;
  //! call_togl_vieworientation <br>
  Standard_EXPORT   virtual  void ViewOrientation(const Graphic3d_CView& ACView,const Standard_Boolean AWait)  = 0;
  
  Standard_EXPORT   virtual  void Environment(const Graphic3d_CView& ACView)  = 0;
  //! sets the stencil test to theIsEnabled state; <br>
  Standard_EXPORT   virtual  void SetStencilTestOptions(const Graphic3d_CGroup& theCGroup,const Standard_Boolean theIsEnabled)  = 0;
  //! sets the flipping to theIsEnabled state for the given graphic group. <br>
  Standard_EXPORT   virtual  void SetFlippingOptions(const Graphic3d_CGroup& theCGroup,const Standard_Boolean theIsEnabled,const gp_Ax2& theRefPlane)  = 0;
  //! call_togl_text <br>
  Standard_EXPORT   virtual  void Text(const Graphic3d_CGroup& ACGroup,const Standard_CString AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Quantity_PlaneAngle AAngle,const Graphic3d_TextPath ATp,const Graphic3d_HorizontalTextAlignment AHta,const Graphic3d_VerticalTextAlignment AVta,const Standard_Boolean EvalMinMax = Standard_True)  = 0;
  //! call_togl_text <br>
  Standard_EXPORT   virtual  void Text(const Graphic3d_CGroup& ACGroup,const Standard_CString AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True)  = 0;
  //! call_togl_text <br>
  Standard_EXPORT   virtual  void Text(const Graphic3d_CGroup& ACGroup,const TCollection_ExtendedString& AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Quantity_PlaneAngle AAngle,const Graphic3d_TextPath ATp,const Graphic3d_HorizontalTextAlignment AHta,const Graphic3d_VerticalTextAlignment AVta,const Standard_Boolean EvalMinMax = Standard_True)  = 0;
  //! call_togl_text <br>
  Standard_EXPORT   virtual  void Text(const Graphic3d_CGroup& ACGroup,const TCollection_ExtendedString& AText,const Graphic3d_Vertex& APoint,const Standard_Real AHeight,const Standard_Boolean EvalMinMax = Standard_True)  = 0;
  //! call_togl_parray <br>
  Standard_EXPORT   virtual  void PrimitiveArray(const Graphic3d_CGroup& ACGroup,const Graphic3d_PrimitiveArray& parray,const Standard_Boolean EvalMinMax = Standard_True)  = 0;
  //! call_togl_userdraw <br>
  Standard_EXPORT   virtual  void UserDraw(const Graphic3d_CGroup& ACGroup,const Graphic3d_CUserDraw& AUserDraw)  = 0;
  //! enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays <br>
  Standard_EXPORT   virtual  void EnableVBO(const Standard_Boolean status)  = 0;
  //! Returns information about GPU memory usage. <br>
  Standard_EXPORT   virtual  Standard_Boolean MemoryInfo(Standard_Size& theFreeBytes,TCollection_AsciiString& theInfo) const = 0;
  //! call_togl_ztriedron_setup <br>
  Standard_EXPORT   virtual  void ZBufferTriedronSetup(const Quantity_NameOfColor XColor = Quantity_NOC_RED,const Quantity_NameOfColor YColor = Quantity_NOC_GREEN,const Quantity_NameOfColor ZColor = Quantity_NOC_BLUE1,const Standard_Real SizeRatio = 0.8,const Standard_Real AxisDiametr = 0.05,const Standard_Integer NbFacettes = 12)  = 0;
  //! call_togl_triedron_display <br>
  Standard_EXPORT   virtual  void TriedronDisplay(const Graphic3d_CView& ACView,const Aspect_TypeOfTriedronPosition APosition = Aspect_TOTP_CENTER,const Quantity_NameOfColor AColor = Quantity_NOC_WHITE,const Standard_Real AScale = 0.02,const Standard_Boolean AsWireframe = Standard_True)  = 0;
  //! call_togl_triedron_erase <br>
  Standard_EXPORT   virtual  void TriedronErase(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_triedron_echo <br>
  Standard_EXPORT   virtual  void TriedronEcho(const Graphic3d_CView& ACView,const Aspect_TypeOfTriedronEcho AType = Aspect_TOTE_NONE)  = 0;
  //! call_togl_graduatedtrihedron_display <br>
  Standard_EXPORT   virtual  void GraduatedTrihedronDisplay(const Graphic3d_CView& view,const Graphic3d_CGraduatedTrihedron& cubic)  = 0;
  //! call_togl_graduatedtrihedron_erase <br>
  Standard_EXPORT   virtual  void GraduatedTrihedronErase(const Graphic3d_CView& view)  = 0;
  //! call_togl_graduatedtrihedron_minmaxvalues <br>
  Standard_EXPORT   virtual  void GraduatedTrihedronMinMaxValues(const Standard_ShortReal xmin,const Standard_ShortReal ymin,const Standard_ShortReal zmin,const Standard_ShortReal xmax,const Standard_ShortReal ymax,const Standard_ShortReal zmax)  = 0;
  //! call_togl_begin_ajout_mode <br>
  Standard_EXPORT   virtual  Standard_Boolean BeginAddMode(const Graphic3d_CView& ACView)  = 0;
  //! call_togl_end_ajout_mode <br>
  Standard_EXPORT   virtual  void EndAddMode()  = 0;
  //! @param theDrawToFrontBuffer Advanced option to modify rendering mode: <br>
//! 1. TRUE.  Drawing immediate mode structures directly to the front buffer over the scene image. <br>
//!    Fast, so preferred for interactive work (used by default). <br>
//!    However these extra drawings will be missed in image dump since it is performed from back buffer. <br>
//!    Notice that since no pre-buffering used the V-Sync will be ignored and rendering could be seen <br>
//!    in run-time (in case of slow hardware) and/or tearing may appear. <br>
//!    So this is strongly recommended to draw only simple (fast) structures. <br>
//! 2. FALSE. Drawing immediate mode structures to the back buffer. <br>
//!    The complete scene is redrawn first, so this mode is slower if scene contains complex data and/or V-Sync is turned on. <br>
//!    But it works in any case and is especially useful for view dump because the dump image is read from the back buffer. <br>
//! @return previous mode. <br>
  Standard_EXPORT   virtual  Standard_Boolean SetImmediateModeDrawToFront(const Graphic3d_CView& theCView,const Standard_Boolean theDrawToFrontBuffer)  = 0;
  //! call_togl_begin_immediat_mode <br>
  Standard_EXPORT   virtual  Standard_Boolean BeginImmediatMode(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Standard_Boolean DoubleBuffer,const Standard_Boolean RetainMode)  = 0;
  //! call_togl_clear_immediat_mode <br>
  Standard_EXPORT   virtual  void ClearImmediatMode(const Graphic3d_CView& ACView,const Standard_Boolean aFlush = Standard_True)  = 0;
  //! call_togl_draw_structure <br>
  Standard_EXPORT   virtual  void DrawStructure(const Graphic3d_CStructure& ACStructure)  = 0;
  //! call_togl_end_immediat_mode <br>
  Standard_EXPORT   virtual  void EndImmediatMode(const Standard_Integer Synchronize)  = 0;
  //! call_togl_layer2d <br>
  Standard_EXPORT   virtual  void Layer(Aspect_CLayer2d& ACLayer)  = 0;
  //! call_togl_removelayer2d <br>
  Standard_EXPORT   virtual  void RemoveLayer(const Aspect_CLayer2d& ACLayer)  = 0;
  //! call_togl_begin_layer2d <br>
  Standard_EXPORT   virtual  void BeginLayer(const Aspect_CLayer2d& ACLayer)  = 0;
  //! call_togl_begin_polygon2d <br>
  Standard_EXPORT   virtual  void BeginPolygon2d()  = 0;
  //! call_togl_begin_polyline2d <br>
  Standard_EXPORT   virtual  void BeginPolyline2d()  = 0;
  //! call_togl_clear_layer2d <br>
  Standard_EXPORT   virtual  void ClearLayer(const Aspect_CLayer2d& ACLayer)  = 0;
  //! call_togl_draw2d <br>
  Standard_EXPORT   virtual  void Draw(const Standard_ShortReal X,const Standard_ShortReal Y)  = 0;
  //! call_togl_edge2d <br>
  Standard_EXPORT   virtual  void Edge(const Standard_ShortReal X,const Standard_ShortReal Y)  = 0;
  //! call_togl_end_layer2d <br>
  Standard_EXPORT   virtual  void EndLayer()  = 0;
  //! call_togl_end_polygon2d <br>
  Standard_EXPORT   virtual  void EndPolygon2d()  = 0;
  //! call_togl_end_polyline2d <br>
  Standard_EXPORT   virtual  void EndPolyline2d()  = 0;
  //! call_togl_move2d <br>
  Standard_EXPORT   virtual  void Move(const Standard_ShortReal X,const Standard_ShortReal Y)  = 0;
  //! call_togl_rectangle2d <br>
  Standard_EXPORT   virtual  void Rectangle(const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal Width,const Standard_ShortReal Height)  = 0;
  //! call_togl_set_color <br>
  Standard_EXPORT   virtual  void SetColor(const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B)  = 0;
  //! call_togl_set_transparency <br>
  Standard_EXPORT   virtual  void SetTransparency(const Standard_ShortReal ATransparency)  = 0;
  //! call_togl_unset_transparency <br>
  Standard_EXPORT   virtual  void UnsetTransparency()  = 0;
  //! call_togl_set_line_attributes <br>
  Standard_EXPORT   virtual  void SetLineAttributes(const Standard_Integer Type,const Standard_ShortReal Width)  = 0;
  //! Set text attributes for under-/overlayer. <br>
//! <Font> argument defines the name of the font to be used, <br>
//! <Type> argument defines the display type of the text, <br>
//! <R> <G> <B> values define the color of decal or subtitle background. <br>
//! To set the color of the text you can use the SetColor method. <br>
  Standard_EXPORT   virtual  void SetTextAttributes(const Standard_CString Font,const Standard_Integer Type,const Standard_ShortReal R,const Standard_ShortReal G,const Standard_ShortReal B)  = 0;
  //! call_togl_text2d <br>
//! If AHeight < 0 default text height is used by driver (DefaultTextHeight method) <br>
  Standard_EXPORT   virtual  void Text(const Standard_CString AText,const Standard_ShortReal X,const Standard_ShortReal Y,const Standard_ShortReal AHeight)  = 0;
  
  Standard_EXPORT   virtual  Standard_ShortReal DefaultTextHeight() const = 0;
  //! call_togl_textsize2d <br>
  Standard_EXPORT   virtual  void TextSize(const Standard_CString AText,const Standard_ShortReal AHeight,Standard_ShortReal& AWidth,Standard_ShortReal& AnAscent,Standard_ShortReal& ADescent) const = 0;
  //! call_togl_backfacing <br>
  Standard_EXPORT   virtual  void SetBackFacingModel(const Graphic3d_CView& aView)  = 0;
  //! call_togl_depthtest <br>
  Standard_EXPORT   virtual  void SetDepthTestEnabled(const Graphic3d_CView& view,const Standard_Boolean isEnabled) const = 0;
  //! call_togl_isdepthtest <br>
  Standard_EXPORT   virtual  Standard_Boolean IsDepthTestEnabled(const Graphic3d_CView& view) const = 0;
  //! Reads depths of shown pixels of the given <br>
//!          rectangle (glReadPixels with GL_DEPTH_COMPONENT) <br>
  Standard_EXPORT   virtual  void ReadDepths(const Graphic3d_CView& view,const Standard_Integer x,const Standard_Integer y,const Standard_Integer width,const Standard_Integer height,const Standard_Address buffer) const = 0;
  //! Generate offscreen FBO in the graphic library. <br>
//!          If not supported on hardware returns NULL. <br>
  Standard_EXPORT   virtual  Graphic3d_PtrFrameBuffer FBOCreate(const Graphic3d_CView& view,const Standard_Integer width,const Standard_Integer height)  = 0;
  //! Remove offscreen FBO from the graphic library <br>
  Standard_EXPORT   virtual  void FBORelease(const Graphic3d_CView& view,Graphic3d_PtrFrameBuffer& fboPtr)  = 0;
  //! Read offscreen FBO configuration. <br>
  Standard_EXPORT   virtual  void FBOGetDimensions(const Graphic3d_CView& view,const Graphic3d_PtrFrameBuffer fboPtr,Standard_Integer& width,Standard_Integer& height,Standard_Integer& widthMax,Standard_Integer& heightMax)  = 0;
  //! Change offscreen FBO viewport. <br>
  Standard_EXPORT   virtual  void FBOChangeViewport(const Graphic3d_CView& view,Graphic3d_PtrFrameBuffer& fboPtr,const Standard_Integer width,const Standard_Integer height)  = 0;
  //! Dump active rendering buffer into specified memory buffer. <br>
  Standard_EXPORT   virtual  Standard_Boolean BufferDump(const Graphic3d_CView& theCView,Image_PixMap& theImage,const Graphic3d_BufferType& theBufferType)  = 0;
  //! call_togl_gllight <br>
  Standard_EXPORT   virtual  void SetGLLightEnabled(const Graphic3d_CView& view,const Standard_Boolean isEnabled) const = 0;
  //! call_togl_isgllight <br>
  Standard_EXPORT   virtual  Standard_Boolean IsGLLightEnabled(const Graphic3d_CView& view) const = 0;
  //! print the contents of all layers of the view to the printer. <br>
//! <hPrnDC> : Pass the PrinterDeviceContext (HDC), <br>
//! <showBackground> : When set to FALSE then print the view without background color <br>
//! (background is white) <br>
//! else set to TRUE for printing with current background color. <br>
//! <filename>: If != NULL, then the view will be printed to a file. <br>
//! <printAlgorithm>: Select print algorithm: stretch, tile. <br>
//! <theScaleFactor>: Scaling coefficient, used internally to scale the <br>
//! printings accordingly to the scale factor selected in the printer <br>
//! properties dialog. <br>
//! Returns Standard_True if the data is passed to the printer, otherwise <br>
//! Standard_False if the print operation failed due to the printer errors, <br>
//! or insufficient system memory available. <br>
  Standard_EXPORT   virtual  Standard_Boolean Print(const Graphic3d_CView& ACView,const Aspect_CLayer2d& ACUnderLayer,const Aspect_CLayer2d& ACOverLayer,const Aspect_Handle hPrnDC,const Standard_Boolean showBackground,const Standard_CString filename,const Aspect_PrintAlgo printAlgorithm = Aspect_PA_STRETCH,const Standard_Real theScaleFactor = 1.0) const = 0;
  
//! Export scene into the one of the Vector graphics formats (SVG, PS, PDF...). <br>
//! In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer). <br>
//! Notice however that results may differ a lot and do not contain some elements. <br>
  Standard_EXPORT   virtual  Standard_Boolean Export(const Standard_CString theFileName,const Graphic3d_ExportFormat theFormat,const Graphic3d_SortType theSortType,const Standard_Integer theWidth,const Standard_Integer theHeight,const Graphic3d_CView& theView,const Aspect_CLayer2d& theLayerUnder,const Aspect_CLayer2d& theLayerOver,const Standard_Real thePrecision = 0.005,const Standard_Address theProgressBarFunc = NULL,const Standard_Address theProgressObject = NULL)  = 0;
  //! Add a new top-level z layer with ID <theLayerId> for <br>
//! the view. Z layers allow drawing structures in higher layers <br>
//! in foreground of structures in lower layers. To add a structure <br>
//! to desired layer on display it is necessary to set the layer <br>
//! ID for the structure. <br>
  Standard_EXPORT   virtual  void AddZLayer(const Graphic3d_CView& theCView,const Standard_Integer theLayerId)  = 0;
  //! Remove Z layer from the specified view. All structures <br>
//! displayed at the moment in layer will be displayed in default layer <br>
//! ( the bottom-level z layer ). To unset layer ID from associated <br>
//! structures use method UnsetZLayer (...). <br>
  Standard_EXPORT   virtual  void RemoveZLayer(const Graphic3d_CView& theCView,const Standard_Integer theLayerId)  = 0;
  //! Unset Z layer ID for all structures. The structure <br>
//! indexes will be set to default layer ( the bottom-level z layer <br>
//! with ID = 0 ). <br>
  Standard_EXPORT   virtual  void UnsetZLayer(const Standard_Integer theLayerId)  = 0;
  //! Change Z layer of a structure. The new z layer ID will <br>
//! be used to define the associated layer for structure on display. <br>
  Standard_EXPORT   virtual  void ChangeZLayer(const Graphic3d_CStructure& theCStructure,const Standard_Integer theLayerId)  = 0;
  //! Change Z layer of a structure already presented in view. <br>
  Standard_EXPORT   virtual  void ChangeZLayer(const Graphic3d_CStructure& theCStructure,const Graphic3d_CView& theCView,const Standard_Integer theNewLayerId)  = 0;
  //! Get Z layer ID of structure. If the structure doesn't <br>
//! exists in graphic driver, the method returns -1. <br>
  Standard_EXPORT   virtual  Standard_Integer GetZLayer(const Graphic3d_CStructure& theCStructure) const = 0;
  
  Standard_EXPORT     void PrintBoolean(const Standard_CString AComment,const Standard_Boolean AValue) const;
  
  Standard_EXPORT     void PrintCGroup(const Graphic3d_CGroup& ACGroup,const Standard_Integer AField) const;
  
  Standard_EXPORT     void PrintCLight(const Graphic3d_CLight& ACLight,const Standard_Integer AField) const;
  
  Standard_EXPORT     void PrintCPick(const Graphic3d_CPick& ACPick,const Standard_Integer AField) const;
  
  Standard_EXPORT     void PrintCStructure(const Graphic3d_CStructure& ACStructure,const Standard_Integer AField) const;
  
  Standard_EXPORT     void PrintCView(const Graphic3d_CView& ACView,const Standard_Integer AField) const;
  
  Standard_EXPORT     void PrintFunction(const Standard_CString AFunc) const;
  
  Standard_EXPORT     void PrintInteger(const Standard_CString AComment,const Standard_Integer AValue) const;
  
  Standard_EXPORT     void PrintIResult(const Standard_CString AFunc,const Standard_Integer AResult) const;
  
  Standard_EXPORT     void PrintShortReal(const Standard_CString AComment,const Standard_ShortReal AValue) const;
  
  Standard_EXPORT     void PrintMatrix(const Standard_CString AComment,const TColStd_Array2OfReal& AMatrix) const;
  
  Standard_EXPORT     void PrintString(const Standard_CString AComment,const Standard_CString AString) const;
  
  Standard_EXPORT     void SetTrace(const Standard_Integer ALevel) ;
  
  Standard_EXPORT     Standard_Integer Trace() const;
  //! returns Handle to display connection <br>
  Standard_EXPORT    const Aspect_DisplayConnection_Handle& GetDisplayConnection() const;
  
  Standard_EXPORT     Standard_Boolean IsDeviceLost() const;
  
  Standard_EXPORT     void ResetDeviceLostFlag() ;




  DEFINE_STANDARD_RTTI(Graphic3d_GraphicDriver)

protected:

  //! Initialises the Driver <br>
  Standard_EXPORT   Graphic3d_GraphicDriver(const Standard_CString AShrName);

Standard_Integer MyTraceLevel;
OSD_SharedLibrary MySharedLibrary;
Aspect_DisplayConnection_Handle myDisplayConnection;
Standard_Boolean myDeviceLostFlag;


private: 




};





// other Inline functions and methods (like "C++: function call" methods)


#endif