0022879: Possible bug in Opengl_togl_begin_layer_mode.cxx
[occt.git] / src / Graphic3d / Graphic3d_GraphicDriver.cdl
1 --
2 -- File:    Graphic3d_GraphicDriver.cdl
3 -- Created: Mardi 28 janvier 1997
4 -- Author:  CAL
5 -- Modified:    01/08/97 ; PCT : ajout texture mapping
6 --              07/08/97 ; PCT : ajout texture environnante
7 --              27/08/97 ; PCT : ajout coordonnee texture
8 --              00/11/97 ; CAL : retrait de la dependance avec math
9 --              00/11/97 ; CAL : ajout polyline par 2 points
10 --      16-09-98 ; BGN : Points d'entree du Triedre (S3819, Phase 1)
11 --              22-09-98 ; BGN : S3989 (anciennement S3819)
12 --                               TypeOfTriedron* from Aspect(et pas Graphic3d)
13 --              03-11-98 ; CAL : Introduction de Visual3d_LayerManager.
14 --              07-10-99 : EUG : Degeneration support (G003)
15 --               Add DegenerateStructure() and
16 --                   SetBackFacingModel() methods.
17 --      10-11-99 ; GG  : PRO19603 Change Redraw( ) method
18 --      16-06-2000 : ATS,GG : G005 - method PrimitiveArray, which are interface of OpenGl
19 --                            package, and used to initialize internal fields
20 --                            of primitives (Convert high level data to internal presentation).
21 --      17/08/00 ; THA ; Thomas HARTL <t-hartl@muenchen.matra-dtv.fr>
22 --              -> Add Print methods (works only under Windows).
23 --      27/03/02 ; GG  ; RIC120302 Add new method Begin(Aspect_Display)
24 --              28/05/02 ; VSV : New trihedron
25 --      23/12/02 ; SAV : Added methods to set background image and its
26 --                       appearence style
27 --              20/01/09 ; ABD : Integration support of system fonts (using FTGL and FreeType)
28 --
29 --              Copyright:  MatraDatavision 1997
30 --
31
32 deferred class GraphicDriver from Graphic3d inherits GraphicDriver from Aspect
33
34     ---Version:
35
36     ---Purpose: This class allows the definition of a graphic driver
37     --      (currently only OpenGl driver is used).
38
39     ---Keywords: OpenGl
40
41     ---Warning:
42     ---References:
43
44 uses
45
46     SharedLibrary       from OSD,
47
48     Array1OfInteger     from TColStd,
49     Array1OfReal        from TColStd,
50     Array2OfReal        from TColStd,
51
52     ExtendedString      from TCollection,
53
54     NameOfColor         from Quantity,
55     Color               from Quantity,
56
57     PlaneAngle          from Quantity,
58
59     AlienImage          from AlienImage,
60
61     Array1OfEdge        from Aspect,
62     CLayer2d            from Aspect,
63     GraphicDriver       from Aspect,
64     TypeOfTriedronEcho  from Aspect,
65     TypeOfTriedronPosition  from Aspect,
66     Handle              from Aspect,
67     Display             from Aspect,
68     PrintAlgo           from Aspect,
69
70     AspectLine3d        from Graphic3d,
71     AspectMarker3d      from Graphic3d,
72     AspectText3d        from Graphic3d,
73     AspectFillArea3d    from Graphic3d,
74     HorizontalTextAlignment from Graphic3d,
75     CBitFields20        from Graphic3d,
76     CGroup              from Graphic3d,
77     CLight              from Graphic3d,
78     CPick               from Graphic3d,
79     CPlane              from Graphic3d,
80     CStructure          from Graphic3d,
81     CView               from Graphic3d,
82     CRawBufferData      from Image,
83     Structure           from Graphic3d,
84     TextPath            from Graphic3d,
85     TypeOfComposition   from Graphic3d,
86     TypeOfPolygon       from Graphic3d,
87     TypeOfPrimitive     from Graphic3d,
88     Vector              from Graphic3d,
89     Array1OfVertex      from Graphic3d,
90     Array2OfVertex      from Graphic3d,
91     Vertex              from Graphic3d,
92     Array1OfVertexC     from Graphic3d,
93     Array2OfVertexC     from Graphic3d,
94     VertexC             from Graphic3d,
95     Array1OfVertexN     from Graphic3d,
96     Array2OfVertexN     from Graphic3d,
97     VertexN             from Graphic3d,
98     Array1OfVertexNC    from Graphic3d,
99     Array2OfVertexNC    from Graphic3d,
100     VertexNC            from Graphic3d,
101     VerticalTextAlignment   from Graphic3d,
102     CInitTexture        from Graphic3d,
103     TypeOfTexture       from Graphic3d,
104     VertexNT            from Graphic3d,
105     Array1OfVertexNT    from Graphic3d,
106     Array2OfVertexNT    from Graphic3d,
107     PrimitiveArray      from Graphic3d,
108     PtrFrameBuffer      from Graphic3d,
109     HArray1OfByte       from TColStd,
110     FillMethod          from Aspect,
111     GradientFillMethod  from Aspect,
112     ExportFormat        from Graphic3d,
113     SortType            from Graphic3d,
114     HArray1OfReal       from TColStd,
115     CUserDraw           from Graphic3d,
116     NListOfHAsciiString from Graphic3d,
117     FontAspect          from OSD,
118     CGraduatedTrihedron from Graphic3d
119
120 raises
121
122     TransformError      from Graphic3d
123
124 is
125         Initialize ( AShrName       : CString from Standard )
126                 returns mutable GraphicDriver from Graphic3d;
127         ---Level: Public
128         ---Purpose: Initialises the Driver
129
130     -------------------------
131     -- Category: Init methods
132     -------------------------
133
134     Begin ( me          : mutable;
135             ADisplay    : CString from Standard )
136         returns Boolean from Standard
137         is deferred;
138     ---Purpose: call_togl_begin
139
140         Begin ( me              : mutable;
141                 ADisplay        : Display from Aspect )
142                 returns Boolean from Standard
143                 is deferred;
144         ---Purpose: call_togl_begin_display
145
146     End ( me    : mutable )
147         is deferred;
148     ---Purpose: call_togl_end
149
150     ----------------------------
151     -- Category: Inquire methods
152     ----------------------------
153
154     InquireLightLimit ( me  : mutable )
155         returns Integer from Standard
156         is deferred;
157     ---Purpose: call_togl_inquirelight
158
159     InquireMat ( me     : mutable;
160                  ACView : CView from Graphic3d;
161                  AMatO  : out Array2OfReal from TColStd;
162                  AMatM  : out Array2OfReal from TColStd )
163         is deferred;
164     ---Purpose: call_togl_inquiremat
165
166     InquirePlaneLimit ( me  : mutable )
167         returns Integer from Standard
168         is deferred;
169     ---Purpose: call_togl_inquireplane
170
171     InquireViewLimit ( me   : mutable )
172         returns Integer from Standard
173         is deferred;
174     ---Purpose: call_togl_inquireview
175
176     InquireTextureAvailable ( me    : mutable )
177         returns Boolean from Standard
178         is deferred;
179     ---Purpose: Returns Standard_True if texture is
180     --      supported by the graphic driver
181
182     ------------------------------
183     -- Category: Highlight methods
184     ------------------------------
185
186     Blink ( me          : mutable;
187             ACStructure : CStructure from Graphic3d;
188             Create      : Boolean from Standard )
189         is deferred;
190     ---Purpose: call_togl_blink
191
192     BoundaryBox ( me            : mutable;
193                   ACStructure   : CStructure from Graphic3d;
194                   Create        : Boolean from Standard )
195         is deferred;
196     ---Purpose: call_togl_boundarybox
197
198     HighlightColor ( me             : mutable;
199                      ACStructure    : CStructure from Graphic3d;
200                      R              : ShortReal from Standard;
201                      G              : ShortReal from Standard;
202                      B              : ShortReal from Standard;
203                      Create         : Boolean from Standard )
204         is deferred;
205     ---Purpose: call_togl_highlightcolor
206
207     NameSetStructure ( me       : mutable;
208                ACStructure  : CStructure from Graphic3d )
209         is deferred;
210     ---Purpose: call_togl_namesetstructure
211
212     -------------------------------------
213     -- Category: Group management methods
214     -------------------------------------
215
216     ClearGroup ( me     : mutable;
217              ACGroup    : CGroup from Graphic3d )
218         is deferred;
219     ---Purpose: call_togl_cleargroup
220
221     CloseGroup ( me     : mutable;
222              ACGroup    : CGroup from Graphic3d )
223         is deferred;
224     ---Purpose: call_togl_closegroup
225
226     FaceContextGroup ( me       : mutable;
227                        ACGroup  : CGroup from Graphic3d;
228                        NoInsert : Integer from Standard )
229         is deferred;
230     ---Purpose: call_togl_facecontextgroup
231
232     Group ( me  : mutable;
233         ACGroup : in out CGroup from Graphic3d )
234         is deferred;
235     ---Purpose: call_togl_group
236
237     LineContextGroup ( me       : mutable;
238                        ACGroup  : CGroup from Graphic3d;
239                        NoInsert : Integer from Standard )
240         is deferred;
241     ---Purpose: call_togl_linecontextgroup
242
243     MarkerContextGroup ( me         : mutable;
244                          ACGroup    : CGroup from Graphic3d;
245                          NoInsert   : Integer from Standard )
246         is deferred;
247     ---Purpose: call_togl_markercontextgroup
248
249     MarkerContextGroup ( me         : mutable;
250                          ACGroup    : CGroup from Graphic3d;
251                          NoInsert   : Integer from Standard;
252                          AMarkWidth : Integer from Standard;
253                          AMarkHeight: Integer from Standard;
254                          ATexture   : HArray1OfByte from TColStd )
255                 is deferred;
256     ---Purpose: call_togl_markercontextgroup
257
258     OpenGroup ( me      : mutable;
259                 ACGroup : CGroup from Graphic3d )
260         is deferred;
261     ---Purpose: call_togl_opengroup
262
263     RemoveGroup ( me        : mutable;
264                   ACGroup   : CGroup from Graphic3d )
265         is deferred;
266     ---Purpose: call_togl_removegroup
267
268     TextContextGroup ( me       : mutable;
269                        ACGroup  : CGroup from Graphic3d;
270                        NoInsert : Integer from Standard )
271         is deferred;
272     ---Purpose: call_togl_textcontextgroup
273
274     -----------------------------------------
275     -- Category: Structure management methods
276     -----------------------------------------
277
278     ClearStructure ( me             : mutable;
279                      ACStructure    : CStructure from Graphic3d )
280         is deferred;
281     ---Purpose: call_togl_clearstructure
282
283     Connect ( me        : mutable;
284               AFather   : CStructure from Graphic3d;
285               ASon      : CStructure from Graphic3d )
286         is deferred;
287     ---Purpose: call_togl_connect
288
289     ContextStructure ( me           : mutable;
290                        ACStructure  : CStructure from Graphic3d )
291         is deferred;
292     ---Purpose: call_togl_contextstructure
293
294     Disconnect ( me         : mutable;
295                  AFather    : CStructure from Graphic3d;
296                  ASon       : CStructure from Graphic3d )
297         is deferred;
298     ---Purpose: call_togl_disconnect
299
300     DisplayStructure ( me           : mutable;
301                        ACView       : CView from Graphic3d;
302                        ACStructure  : CStructure from Graphic3d;
303                        APriority    : Integer from Standard )
304         is deferred;
305     ---Purpose: call_togl_displaystructure
306
307     EraseStructure ( me             : mutable;
308                      ACView         : CView from Graphic3d;
309                      ACStructure    : CStructure from Graphic3d )
310         is deferred;
311     ---Purpose: call_togl_erasestructure
312
313     RemoveStructure ( me            : mutable;
314                       ACStructure   : CStructure from Graphic3d )
315         is deferred;
316     ---Purpose: call_togl_removestructure
317
318     Structure ( me          : mutable;
319                 ACStructure : in out CStructure from Graphic3d )
320         is deferred;
321     ---Purpose: call_togl_structure
322
323     ------------------------------------
324     -- Category: Structured mode methods
325     ------------------------------------
326
327     ActivateView ( me       : mutable;
328                    ACView   : CView from Graphic3d )
329         is deferred;
330     ---Purpose: call_togl_activateview
331
332     AntiAliasing ( me       : mutable;
333                    ACView   : CView from Graphic3d;
334                    AFlag    : Boolean from Standard )
335         is deferred;
336     ---Purpose: call_togl_antialiasing
337
338     Background ( me     : mutable;
339                  ACView : CView from Graphic3d )
340         is deferred;
341     ---Purpose: call_togl_background
342
343     GradientBackground ( me     : mutable;
344                          ACView : CView from Graphic3d;
345                          AColor1: Color from Quantity;
346                          AColor2: Color from Quantity;
347                          FillStyle : GradientFillMethod from Aspect
348                        )
349     is deferred;
350     ---Purpose: call_togl_gradient_background
351
352
353     BackgroundImage( me           : mutable;
354                      FileName     : CString from Standard;
355                      ACView       : CView from Graphic3d;
356                      FillStyle    : FillMethod from Aspect )
357     is deferred;
358
359     SetBgImageStyle( me        : mutable;
360                      ACView    : CView from Graphic3d;
361                      FillStyle : FillMethod from Aspect )
362     is deferred;
363
364     SetBgGradientStyle( me        : mutable;
365                         ACView    : CView from Graphic3d;
366                         FillStyle : GradientFillMethod from Aspect )
367     is deferred;
368
369     ClipLimit ( me      : mutable;
370                 ACView  : CView from Graphic3d;
371                 AWait   : Boolean from Standard )
372         is deferred;
373     ---Purpose: call_togl_cliplimit
374
375     DeactivateView ( me     : mutable;
376                      ACView : CView from Graphic3d )
377         is deferred;
378     ---Purpose: call_togl_deactivateview
379
380     DepthCueing ( me        : mutable;
381                   ACView    : CView from Graphic3d;
382                   AFlag     : Boolean from Standard )
383         is deferred;
384     ---Purpose: call_togl_cliplimit
385
386     ProjectRaster ( me      : mutable;
387                     ACView  : CView from Graphic3d;
388                     AX      : ShortReal from Standard;
389                     AY      : ShortReal from Standard;
390                     AZ      : ShortReal from Standard;
391                     AU      : out Integer from Standard;
392                     AV      : out Integer from Standard )
393         returns Boolean from Standard
394         is deferred;
395     ---Purpose: call_togl_unproject_raster
396
397     UnProjectRaster ( me        : mutable;
398                       ACView    : CView from Graphic3d;
399                       Axm       : Integer from Standard;
400                       Aym       : Integer from Standard;
401                       AXM       : Integer from Standard;
402                       AYM       : Integer from Standard;
403                       AU        : Integer from Standard;
404                       AV        : Integer from Standard;
405                       AX        : out ShortReal from Standard;
406                       AY        : out ShortReal from Standard;
407                       AZ        : out ShortReal from Standard )
408         returns Boolean from Standard
409         is deferred;
410     ---Purpose: call_togl_unproject_raster
411
412     UnProjectRasterWithRay ( me        : mutable;
413                              ACView    : CView from Graphic3d;
414                              Axm       : Integer from Standard;
415                              Aym       : Integer from Standard;
416                              AXM       : Integer from Standard;
417                              AYM       : Integer from Standard;
418                              AU        : Integer from Standard;
419                              AV        : Integer from Standard;
420                              AX        : out ShortReal from Standard;
421                              AY        : out ShortReal from Standard;
422                              AZ        : out ShortReal from Standard;
423                              DX        : out ShortReal from Standard;
424                              DY        : out ShortReal from Standard;
425                              DZ        : out ShortReal from Standard )
426         returns Boolean from Standard
427         is deferred;
428     ---Purpose: call_togl_unproject_raster_with_ray
429
430     RatioWindow ( me        : mutable;
431                   ACView    : CView from Graphic3d )
432         is deferred;
433     ---Purpose: call_togl_ratio_window
434
435     Redraw ( me             : mutable;
436              ACView         : CView from Graphic3d;
437              ACUnderLayer   : CLayer2d from Aspect;
438              ACOverLayer    : CLayer2d from Aspect;
439              x              : Integer = 0;
440              y              : Integer = 0;
441              width              : Integer = 0;
442              height     : Integer = 0 )
443         is deferred;
444     ---Purpose: call_togl_redraw
445     --  Warning: when the redraw area has a null size, the full view is redrawn
446
447     RemoveView ( me     : mutable;
448                 ACView  : CView from Graphic3d )
449         is deferred;
450     ---Purpose: call_togl_removeview
451
452     SetLight ( me       : mutable;
453            ACView   : CView from Graphic3d )
454         is deferred;
455     ---Purpose: call_togl_setlight
456
457     SetPlane ( me       : mutable;
458                ACView   : CView from Graphic3d )
459         is deferred;
460     ---Purpose: call_togl_setplane
461
462     SetVisualisation ( me       : mutable;
463                        ACView   : CView from Graphic3d )
464         is deferred;
465     ---Purpose: call_togl_setvisualisation
466
467     TransformStructure ( me             : mutable;
468                          ACStructure    : CStructure from Graphic3d )
469         is deferred;
470     ---Purpose: call_togl_transformstructure
471
472         DegenerateStructure ( me                        : mutable;
473                               ACStructure       : CStructure from Graphic3d )
474                 is deferred;
475         ---Purpose: call_togl_degeneratestructure
476
477     Transparency ( me       : mutable;
478                    ACView   : CView from Graphic3d;
479                    AFlag    : Boolean from Standard )
480         is deferred;
481     ---Purpose: call_togl_transparency
482
483     Update ( me             : mutable;
484              ACView         : CView from Graphic3d;
485              ACUnderLayer   : CLayer2d from Aspect;
486              ACOverLayer    : CLayer2d from Aspect )
487             is deferred;
488     ---Purpose: call_togl_update
489
490     View ( me   : mutable;
491            ACView   : in out CView from Graphic3d )
492         returns Boolean from Standard
493         is deferred;
494     ---Purpose: call_togl_view
495
496     ViewMapping ( me        : mutable;
497                   ACView    : CView from Graphic3d;
498                   AWait : Boolean from Standard )
499         is deferred;
500     ---Purpose: call_togl_viewmapping
501
502     ViewOrientation ( me        : mutable;
503                       ACView    : CView from Graphic3d;
504                       AWait     : Boolean from Standard )
505         is deferred;
506     ---Purpose: call_togl_vieworientation
507
508         Environment ( me        : mutable;
509                       ACView    : CView from Graphic3d )
510         is deferred;
511     ---Purpose:
512
513     ----------------------------------------
514     -- Category: Methods to create Marker
515     -- for Purpose : see Graphic3d_Group.cdl
516     ----------------------------------------
517
518     Marker ( me         : mutable;
519              ACGroup    : CGroup from Graphic3d;
520              APoint     : Vertex from Graphic3d;
521              EvalMinMax : Boolean from Standard = Standard_True )
522         is deferred;
523
524     MarkerSet ( me          : mutable;
525                 ACGroup     : CGroup from Graphic3d;
526                 ListVertex  : Array1OfVertex from Graphic3d;
527                 EvalMinMax  : Boolean from Standard = Standard_True )
528         is deferred;
529
530     ----------------------------------------
531     -- Category: Methods to create Polygon
532     -- for Purpose : see Graphic3d_Group.cdl
533     ----------------------------------------
534
535     Polygon ( me            : mutable;
536               ACGroup       : CGroup from Graphic3d;
537               ListVertex    : Array1OfVertex from Graphic3d;
538               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
539               EvalMinMax    : Boolean from Standard = Standard_True )
540         is deferred;
541     ---Purpose: call_togl_polygon
542
543     Polygon ( me            : mutable;
544               ACGroup       : CGroup from Graphic3d;
545               ListVertex    : Array1OfVertex from Graphic3d;
546               Normal        : Vector from Graphic3d;
547               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
548               EvalMinMax    : Boolean from Standard = Standard_True )
549         is deferred;
550     ---Purpose: call_togl_polygon
551
552     Polygon ( me            : mutable;
553               ACGroup       : CGroup from Graphic3d;
554               ListVertex    : Array1OfVertexN from Graphic3d;
555               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
556               EvalMinMax    : Boolean from Standard = Standard_True )
557         is deferred;
558     ---Purpose: call_togl_polygon
559
560     Polygon ( me            : mutable;
561               ACGroup       : CGroup from Graphic3d;
562               ListVertex    : Array1OfVertexN from Graphic3d;
563               Normal        : Vector from Graphic3d;
564               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
565               EvalMinMax    : Boolean from Standard = Standard_True )
566         is deferred;
567     ---Purpose: call_togl_polygon
568
569     Polygon ( me            : mutable;
570               ACGroup       : CGroup from Graphic3d;
571               ListVertex    : Array1OfVertexNT from Graphic3d;
572               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
573               EvalMinMax    : Boolean from Standard = Standard_True )
574         is deferred;
575     ---Purpose: call_togl_polygon
576
577     PolygonHoles ( me          : mutable;
578                    ACGroup     : CGroup from Graphic3d;
579                    Bounds      : Array1OfInteger from TColStd;
580                    ListVertex  : Array1OfVertex from Graphic3d;
581                    EvalMinMax  : Boolean from Standard = Standard_True )
582         is deferred;
583     ---Purpose: call_togl_polygon_holes
584
585     PolygonHoles ( me          : mutable;
586                    ACGroup     : CGroup from Graphic3d;
587                    Bounds      : Array1OfInteger from TColStd;
588                    ListVertex  : Array1OfVertex from Graphic3d;
589                    Normal      : Vector from Graphic3d;
590                    EvalMinMax  : Boolean from Standard = Standard_True )
591                    is deferred;
592     ---Purpose: call_togl_polygon_holes
593
594     PolygonHoles ( me          : mutable;
595                    ACGroup     : CGroup from Graphic3d;
596                    Bounds      : Array1OfInteger from TColStd;
597                    ListVertex  : Array1OfVertexN from Graphic3d;
598                    EvalMinMax  : Boolean from Standard = Standard_True )
599         is deferred;
600     ---Purpose: call_togl_polygon_holes
601
602     PolygonHoles ( me          : mutable;
603                    ACGroup     : CGroup from Graphic3d;
604                    Bounds      : Array1OfInteger from TColStd;
605                    ListVertex  : Array1OfVertexN from Graphic3d;
606                    Normal      : Vector from Graphic3d;
607                    EvalMinMax  : Boolean from Standard = Standard_True )
608         is deferred;
609     ---Purpose: call_togl_polygon_holes
610
611     ----------------------------------------
612     -- Category: Methods to create Polyline
613     -- for Purpose : see Graphic3d_Group.cdl
614     ----------------------------------------
615
616     Polyline ( me                       : mutable;
617                ACGroup                  : CGroup from Graphic3d;
618                X1, Y1, Z1, X2, Y2, Z2   : Real from Standard;
619                EvalMinMax               : Boolean from Standard = Standard_True )
620         is deferred;
621     ---Purpose: call_togl_polyline
622
623     Polyline ( me           : mutable;
624                ACGroup      : CGroup from Graphic3d;
625                ListVertex   : Array1OfVertex from Graphic3d;
626                EvalMinMax   : Boolean from Standard = Standard_True )
627         is deferred;
628     ---Purpose: call_togl_polyline
629
630     Polyline ( me           : mutable;
631                ACGroup      : CGroup from Graphic3d;
632                ListVertex   : Array1OfVertexC from Graphic3d;
633                EvalMinMax   : Boolean from Standard = Standard_True )
634         is deferred;
635     ---Purpose: call_togl_polyline
636
637     -----------------------------------------
638     -- Category: Methods to create Quadrangle
639     -- for Purpose : see Graphic3d_Group.cdl
640     -----------------------------------------
641
642     QuadrangleMesh ( me         : mutable;
643                      ACGroup    : CGroup from Graphic3d;
644                      ListVertex : Array2OfVertex from Graphic3d;
645                      EvalMinMax : Boolean from Standard = Standard_True )
646         is deferred;
647     ---Purpose: call_togl_quadrangle
648
649     QuadrangleMesh ( me         : mutable;
650                      ACGroup    : CGroup from Graphic3d;
651                      ListVertex : Array2OfVertexN from Graphic3d;
652                      EvalMinMax : Boolean from Standard = Standard_True )
653         is deferred;
654     ---Purpose: call_togl_quadrangle
655
656     QuadrangleMesh ( me         : mutable;
657                      ACGroup    : CGroup from Graphic3d;
658                      ListVertex : Array2OfVertexNT from Graphic3d;
659                      EvalMinMax : Boolean from Standard = Standard_True )
660         is deferred;
661     ---Purpose: call_togl_quadrangle
662
663     ----------------------------------------
664     -- Category: Methods to create Text
665     -- for Purpose : see Graphic3d_Group.cdl
666     ----------------------------------------
667
668     Text ( me   : mutable;
669            ACGroup  : CGroup from Graphic3d;
670            AText    : CString from Standard;
671            APoint   : Vertex from Graphic3d;
672            AHeight  : Real from Standard;
673            AAngle   : PlaneAngle from Quantity;
674            ATp  : TextPath from Graphic3d;
675            AHta : HorizontalTextAlignment from Graphic3d;
676            AVta : VerticalTextAlignment from Graphic3d;
677            EvalMinMax   : Boolean from Standard = Standard_True )
678         is deferred;
679     ---Purpose: call_togl_text
680
681     Text ( me   : mutable;
682            ACGroup  : CGroup from Graphic3d;
683            AText    : CString from Standard;
684            APoint   : Vertex from Graphic3d;
685            AHeight  : Real from Standard;
686            EvalMinMax   : Boolean from Standard = Standard_True )
687         is deferred;
688     ---Purpose: call_togl_text
689
690     Text ( me   : mutable;
691            ACGroup  : CGroup from Graphic3d;
692            AText    : ExtendedString from TCollection;
693            APoint   : Vertex from Graphic3d;
694            AHeight  : Real from Standard;
695            AAngle   : PlaneAngle from Quantity;
696            ATp  : TextPath from Graphic3d;
697            AHta : HorizontalTextAlignment from Graphic3d;
698            AVta : VerticalTextAlignment from Graphic3d;
699            EvalMinMax   : Boolean from Standard = Standard_True )
700         is deferred;
701     ---Purpose: call_togl_text
702
703     Text ( me   : mutable;
704            ACGroup  : CGroup from Graphic3d;
705            AText    : ExtendedString from TCollection;
706            APoint   : Vertex from Graphic3d;
707            AHeight  : Real from Standard;
708            EvalMinMax   : Boolean from Standard = Standard_True )
709         is deferred;
710     ---Purpose: call_togl_text
711
712     ----------------------------------------
713     ---Category: Methods to create Triangle
714     -- for Purpose : see Graphic3d_Group.cdl
715     ----------------------------------------
716
717     TriangleMesh ( me           : mutable;
718                    ACGroup      : CGroup from Graphic3d;
719                    ListVertex   : Array1OfVertex from Graphic3d;
720                    EvalMinMax   : Boolean from Standard = Standard_True )
721         is deferred;
722     ---Purpose: call_togl_triangle
723
724     TriangleMesh ( me           : mutable;
725                    ACGroup      : CGroup from Graphic3d;
726                    ListVertex   : Array1OfVertexN from Graphic3d;
727                    EvalMinMax   : Boolean from Standard = Standard_True )
728         is deferred;
729     ---Purpose: call_togl_triangle
730
731     TriangleMesh ( me           : mutable;
732                    ACGroup      : CGroup from Graphic3d;
733                    ListVertex   : Array1OfVertexNT from Graphic3d;
734                    EvalMinMax   : Boolean from Standard = Standard_True )
735         is deferred;
736     ---Purpose: call_togl_triangle
737
738     TriangleSet ( me            : mutable;
739                   ACGroup       : CGroup from Graphic3d;
740                   ListVertex    : Array1OfVertex from Graphic3d;
741                   ListEdge      : Array1OfEdge from Aspect;
742                   EvalMinMax    : Boolean from Standard = Standard_True )
743         is deferred;
744     ---Purpose: call_togl_polygon_indices
745
746     TriangleSet ( me            : mutable;
747                   ACGroup       : CGroup from Graphic3d;
748                   ListVertex    : Array1OfVertexN from Graphic3d;
749                   ListEdge      : Array1OfEdge from Aspect;
750                   EvalMinMax    : Boolean from Standard = Standard_True )
751         is deferred;
752     ---Purpose: call_togl_polygon_indices
753
754     TriangleSet ( me            : mutable;
755                   ACGroup       : CGroup from Graphic3d;
756                   ListVertex    : Array1OfVertexNT from Graphic3d;
757                   ListEdge      : Array1OfEdge from Aspect;
758                   EvalMinMax    : Boolean from Standard = Standard_True )
759         is deferred;
760     ---Purpose: call_togl_polygon_indices
761
762     TriangleSet ( me            : mutable;
763                   ACGroup       : CGroup from Graphic3d;
764                   ListVertex    : Array1OfVertexC from Graphic3d;
765                   ListEdge      : Array1OfEdge from Aspect;
766                   EvalMinMax    : Boolean from Standard = Standard_True )
767         is deferred;
768     ---Purpose: call_togl_polygon_indices
769
770     TriangleSet ( me            : mutable;
771                   ACGroup       : CGroup from Graphic3d;
772                   ListVertex    : Array1OfVertexNC from Graphic3d;
773                   ListEdge      : Array1OfEdge from Aspect;
774                   EvalMinMax    : Boolean from Standard = Standard_True )
775         is deferred;
776     ---Purpose: call_togl_polygon_indices
777
778     PrimitiveArray( me          : mutable;
779                     ACGroup     : CGroup from Graphic3d;
780                     parray      : PrimitiveArray from Graphic3d;
781                     EvalMinMax  : Boolean from Standard = Standard_True )
782         is deferred;
783         ---Purpose: call_togl_parray
784
785     UserDraw( me          : mutable;
786               ACGroup     : CGroup from Graphic3d;
787               AUserDraw   : CUserDraw from Graphic3d )
788         is deferred;
789         ---Purpose: call_togl_userdraw
790
791     EnableVBO( me       : mutable;
792                status   : Boolean from Standard )
793                is deferred;
794     ---Purpose: enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays
795
796     ----------------------------------------
797     ---Category: Methods to create Triedron
798     -- for Purpose : see Graphic3d_Group.cdl
799     ----------------------------------------
800
801     ZBufferTriedronSetup ( me          : mutable;
802                            XColor      : NameOfColor from Quantity = Quantity_NOC_RED;
803                            YColor      : NameOfColor from Quantity = Quantity_NOC_GREEN;
804                            ZColor      : NameOfColor from Quantity = Quantity_NOC_BLUE1;
805                            SizeRatio   : Real from Standard = 0.8;
806                            AxisDiametr : Real from Standard = 0.05;
807                            NbFacettes  : Integer from Standard = 12)
808          is deferred;
809         ---Purpose: call_togl_ztriedron_setup
810
811     TriedronDisplay ( me            : mutable;
812                       ACView        : CView from Graphic3d;
813                       APosition     : TypeOfTriedronPosition from Aspect  = Aspect_TOTP_CENTER;
814                       AColor        : NameOfColor from Quantity = Quantity_NOC_WHITE ;
815                       AScale        : Real from Standard  =  0.02;
816                       AsWireframe   : Boolean from Standard = Standard_True )
817         is deferred;
818     ---Purpose: call_togl_triedron_display
819
820
821     TriedronErase ( me      : mutable;
822                   ACView    : CView from Graphic3d)
823         is deferred;
824     ---Purpose: call_togl_triedron_erase
825
826
827     TriedronEcho ( me       : mutable;
828                    ACView   : CView from Graphic3d;
829                    AType    : TypeOfTriedronEcho from Aspect  = Aspect_TOTE_NONE )
830         is deferred;
831     ---Purpose: call_togl_triedron_echo
832
833     ---------------------------------
834     ---Category: Graduated  trihedron
835     ---------------------------------
836
837     GraduatedTrihedronDisplay(me : mutable;
838                               view : CView from Graphic3d;
839                               cubic : CGraduatedTrihedron from Graphic3d)
840     ---Purpose: call_togl_graduatedtrihedron_display
841     is deferred;
842
843     GraduatedTrihedronErase(me : mutable;
844                             view : CView from Graphic3d)
845     ---Purpose: call_togl_graduatedtrihedron_erase
846     is deferred;
847
848     GraduatedTrihedronMinMaxValues(me : mutable;
849                                    xmin : ShortReal from Standard;
850                                    ymin : ShortReal from Standard;
851                                    zmin : ShortReal from Standard;
852                                    xmax : ShortReal from Standard;
853                                    ymax : ShortReal from Standard;
854                                    zmax : ShortReal from Standard)
855     ---Purpose: call_togl_graduatedtrihedron_minmaxvalues
856     is deferred;
857
858     ---------------------------
859     -- Category: Animation mode
860     ---------------------------
861
862     BeginAnimation ( me : mutable;
863              ACView : CView from Graphic3d)
864         is deferred;
865     ---Purpose: call_togl_begin_animation
866
867     EndAnimation ( me   : mutable;
868                ACView   : CView from Graphic3d)
869         is deferred;
870     ---Purpose: call_togl_end_animation
871
872     ----------------------------------
873     -- Category: Ajout mode methods
874     ----------------------------------
875
876     BeginAddMode ( me   : mutable;
877                 ACView      : CView from Graphic3d)
878         returns Boolean from Standard
879         is deferred;
880     ---Purpose: call_togl_begin_ajout_mode
881
882     EndAddMode ( me     : mutable)
883         is deferred;
884     ---Purpose: call_togl_end_ajout_mode
885
886     ----------------------------------
887     -- Category: Immediat mode methods
888     ----------------------------------
889
890     BeginImmediatMode ( me              : mutable;
891                         ACView          : CView from Graphic3d;
892                         ACUnderLayer    : CLayer2d from Aspect;
893                         ACOverLayer     : CLayer2d from Aspect;
894                         DoubleBuffer    : Boolean from Standard;
895                         RetainMode      : Boolean from Standard)
896         returns Boolean from Standard
897         is deferred;
898     ---Purpose: call_togl_begin_immediat_mode
899
900     BeginPolyline ( me  : mutable )
901         is deferred;
902     ---Purpose: call_togl_begin_polyline
903
904     ClearImmediatMode ( me  : mutable; ACView       : CView from Graphic3d;
905                   aFlush        : Boolean from Standard = Standard_True)
906         is deferred;
907     ---Purpose: call_togl_clear_immediat_mode
908
909     Draw ( me   : mutable;
910            X    : ShortReal from Standard;
911            Y    : ShortReal from Standard;
912            Z    : ShortReal from Standard )
913         is deferred;
914     ---Purpose: call_togl_draw
915
916     DrawStructure ( me          : mutable;
917                     ACStructure : CStructure from Graphic3d )
918         is deferred;
919     ---Purpose: call_togl_draw_structure
920
921     EndImmediatMode ( me            : mutable;
922                       Synchronize   : Integer from Standard )
923         is deferred;
924     ---Purpose: call_togl_end_immediat_mode
925
926     EndPolyline ( me    : mutable )
927         is deferred;
928     ---Purpose: call_togl_end_polyline
929
930     Move ( me   : mutable;
931            X    : ShortReal from Standard;
932            Y    : ShortReal from Standard;
933            Z    : ShortReal from Standard )
934         is deferred;
935     ---Purpose: call_togl_move
936
937     SetLineColor ( me   : mutable;
938                    R    : ShortReal from Standard;
939                    G    : ShortReal from Standard;
940                    B    : ShortReal from Standard )
941         is deferred;
942     ---Purpose: call_togl_set_linecolor
943
944     SetLineType ( me    : mutable;
945                   Type  : Integer from Standard )
946         is deferred;
947     ---Purpose: call_togl_set_linetype
948
949     SetLineWidth ( me   : mutable;
950                Width    : ShortReal from Standard )
951         is deferred;
952     ---Purpose: call_togl_set_linewidth
953
954     SetMinMax ( me  : mutable;
955                 X1  : ShortReal from Standard;
956                 Y1  : ShortReal from Standard;
957                 Z1  : ShortReal from Standard;
958                 X2  : ShortReal from Standard;
959                 Y2  : ShortReal from Standard;
960                 Z2  : ShortReal from Standard )
961         is deferred;
962     ---Purpose: call_togl_set_minmax
963
964     Transform ( me      : mutable;
965                 AMatrix : Array2OfReal from TColStd;
966                 AType   : TypeOfComposition from Graphic3d )
967         is deferred;
968     ---Purpose: call_togl_transform
969
970     -----------------------------
971     -- Category: Textures methods
972     -----------------------------
973
974         CreateTexture ( me;
975                         Type            : TypeOfTexture from Graphic3d;
976                         Image           : AlienImage from AlienImage;
977                         FileName        : CString from Standard;
978                         TexUpperBounds  : HArray1OfReal from TColStd )
979         returns Integer from Standard
980         is deferred;
981     ---Purpose:
982
983     DestroyTexture ( me;
984                      TexId  : Integer from Standard )
985         is deferred;
986     ---Purpose:
987
988     ModifyTexture ( me;
989                     TexId   : Integer from Standard;
990                     AValue  : CInitTexture from Graphic3d )
991         is deferred;
992     ---Purpose:
993
994     -------------------------------
995     -- Category: Layer mode methods
996     -------------------------------
997
998     Layer ( me      : mutable;
999             ACLayer : in out CLayer2d from Aspect )
1000         is deferred;
1001     ---Purpose: call_togl_layer2d
1002
1003     RemoveLayer ( me        : mutable;
1004                   ACLayer   : CLayer2d from Aspect )
1005         is deferred;
1006     ---Purpose: call_togl_removelayer2d
1007
1008     BeginLayer ( me         : mutable;
1009                  ACLayer    : CLayer2d from Aspect )
1010         is deferred;
1011     ---Purpose: call_togl_begin_layer2d
1012
1013     BeginPolygon2d ( me : mutable )
1014         is deferred;
1015     ---Purpose: call_togl_begin_polygon2d
1016
1017     BeginPolyline2d ( me    : mutable )
1018         is deferred;
1019     ---Purpose: call_togl_begin_polyline2d
1020
1021     ClearLayer ( me         : mutable;
1022                  ACLayer    : CLayer2d from Aspect )
1023         is deferred;
1024     ---Purpose: call_togl_clear_layer2d
1025
1026     Draw ( me   : mutable;
1027            X    : ShortReal from Standard;
1028            Y    : ShortReal from Standard )
1029         is deferred;
1030     ---Purpose: call_togl_draw2d
1031
1032     Edge ( me   : mutable;
1033            X    : ShortReal from Standard;
1034            Y    : ShortReal from Standard )
1035         is deferred;
1036     ---Purpose: call_togl_edge2d
1037
1038     EndLayer ( me       : mutable )
1039         is deferred;
1040     ---Purpose: call_togl_end_layer2d
1041
1042     EndPolygon2d ( me   : mutable )
1043         is deferred;
1044     ---Purpose: call_togl_end_polygon2d
1045
1046     EndPolyline2d ( me  : mutable )
1047         is deferred;
1048     ---Purpose: call_togl_end_polyline2d
1049
1050     Move ( me   : mutable;
1051            X    : ShortReal from Standard;
1052            Y    : ShortReal from Standard )
1053         is deferred;
1054     ---Purpose: call_togl_move2d
1055
1056     Rectangle ( me              : mutable;
1057                 X, Y            : ShortReal from Standard;
1058                 Width, Height   : ShortReal from Standard )
1059         is deferred;
1060     ---Purpose: call_togl_rectangle2d
1061
1062     SetColor ( me   : mutable;
1063                R    : ShortReal from Standard;
1064                G    : ShortReal from Standard;
1065                B    : ShortReal from Standard )
1066         is deferred;
1067     ---Purpose: call_togl_set_color
1068
1069     SetTransparency ( me    : mutable;
1070            ATransparency    : ShortReal from Standard )
1071         is deferred;
1072     ---Purpose: call_togl_set_transparency
1073
1074     UnsetTransparency ( me  : mutable )
1075         is deferred;
1076     ---Purpose: call_togl_unset_transparency
1077
1078     SetLineAttributes ( me      : mutable;
1079                         Type    : Integer from Standard;
1080                         Width   : ShortReal from Standard )
1081         is deferred;
1082     ---Purpose: call_togl_set_line_attributes
1083
1084
1085     SetTextAttributes ( me      : mutable;
1086                         Font    : CString from Standard;
1087                         Type    : Integer from Standard;
1088                         R       : ShortReal from Standard;
1089                         G       : ShortReal from Standard;
1090                         B       : ShortReal from Standard )
1091         is deferred;
1092     ---Purpose: Set text attributes for under-/overlayer.
1093     -- <Font> argument defines the name of the font to be used,
1094     -- <Type> argument defines the display type of the text,
1095     -- <R> <G> <B> values define the color of decal or subtitle background.
1096     -- To set the color of the text you can use the SetColor method.
1097
1098     Text ( me       : mutable;
1099            AText    : CString from Standard;
1100            X, Y     : ShortReal from Standard;
1101            AHeight  : ShortReal from Standard )
1102         is deferred;
1103     ---Purpose: call_togl_text2d
1104     -- If AHeight < 0 default text height is used by driver (DefaultTextHeight method)
1105
1106     DefaultTextHeight( me )
1107         returns ShortReal from Standard
1108         is deferred;
1109
1110
1111     TextSize( me;
1112               AText    : CString from Standard;
1113               AHeight  : ShortReal from Standard;
1114               AWidth   : in out ShortReal from Standard;
1115               AnAscent : in out ShortReal from Standard;
1116               ADescent : in out ShortReal from Standard )
1117             is deferred;
1118     ---Purpose: call_togl_textsize2d
1119
1120         SetBackFacingModel ( me    : mutable;
1121                              aView : CView from Graphic3d )
1122             is deferred;
1123         ---Purpose: call_togl_backfacing
1124
1125         SetDepthTestEnabled( me; view : CView from Graphic3d;
1126                                  isEnabled : Boolean from Standard )
1127     is deferred;
1128     ---Purpose: call_togl_depthtest
1129
1130         IsDepthTestEnabled( me; view : CView from Graphic3d )
1131     returns Boolean from Standard is deferred;
1132     ---Purpose: call_togl_isdepthtest
1133
1134         ReadDepths( me;
1135                     view          : CView from Graphic3d;
1136                     x, y          : Integer;
1137                     width, height : Integer;
1138                     buffer        : Address )
1139     is deferred;
1140     ---Purpose: Reads depths of shown pixels of the given
1141     --          rectangle (glReadPixels with GL_DEPTH_COMPONENT)
1142
1143         FBOCreate( me            : mutable;
1144                    view          : CView from Graphic3d;
1145                    width, height : Integer from Standard )
1146                   returns PtrFrameBuffer from Graphic3d
1147     is deferred;
1148     ---Purpose: Generate offscreen FBO in the graphic library.
1149     --          If not supported on hardware returns NULL.
1150
1151         FBORelease( me            : mutable;
1152                     view          : CView from Graphic3d;
1153                     fboPtr        : in out PtrFrameBuffer from Graphic3d )
1154     is deferred;
1155     ---Purpose: Remove offscreen FBO from the graphic library
1156
1157         FBOGetDimensions( me                  : mutable;
1158                           view                : CView from Graphic3d;
1159                           fboPtr              : PtrFrameBuffer from Graphic3d;
1160                           width, height       : out Integer from Standard;
1161                           widthMax, heightMax : out Integer from Standard )
1162     is deferred;
1163     ---Purpose: Read offscreen FBO configuration.
1164
1165         FBOChangeViewport( me                  : mutable;
1166                            view                : CView from Graphic3d;
1167                            fboPtr              : in out PtrFrameBuffer from Graphic3d;
1168                            width, height       : Integer from Standard )
1169     is deferred;
1170     ---Purpose: Change offscreen FBO viewport.
1171
1172         BufferDump( me            : mutable;
1173                     view          : CView from Graphic3d;
1174                     buffer        : in out CRawBufferData from Image )
1175                    returns Boolean from Standard
1176     is deferred;
1177     ---Purpose: Dump active rendering buffer into specified memory buffer.
1178
1179         SetGLLightEnabled( me; view : CView from Graphic3d;
1180                                isEnabled : Boolean from Standard )
1181     is deferred;
1182     ---Purpose: call_togl_gllight
1183
1184         IsGLLightEnabled( me; view : CView from Graphic3d )
1185     returns Boolean from Standard is deferred;
1186     ---Purpose: call_togl_isgllight
1187
1188     Print (me;
1189            ACView          : CView from Graphic3d;
1190            ACUnderLayer    : CLayer2d from Aspect;
1191            ACOverLayer     : CLayer2d from Aspect;
1192            hPrnDC          : Handle from Aspect;
1193            showBackground  : Boolean;
1194            filename        : CString;
1195            printAlgorithm  : PrintAlgo from Aspect = Aspect_PA_STRETCH;
1196            theScaleFactor  : Real from Standard = 1.0 )
1197         returns Boolean from Standard is deferred;
1198       ---Level: Internal
1199       ---Purpose: print the contents of all layers of the view to the printer.
1200     -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1201     -- <showBackground> : When set to FALSE then print the view without background color
1202     -- (background is white)
1203       -- else set to TRUE for printing with current background color.
1204     -- <filename>: If != NULL, then the view will be printed to a file.
1205     -- <printAlgorithm>: Select print algorithm: stretch, tile.   
1206     -- <theScaleFactor>: Scaling coefficient, used internally to scale the
1207     -- printings accordingly to the scale factor selected in the printer 
1208     -- properties dialog.
1209     -- Returns Standard_True if the data is passed to the printer, otherwise
1210     -- Standard_False if the print operation failed due to the printer errors, 
1211     -- or insufficient system memory available.
1212     ---Warning: Works only under Windows.
1213
1214         Export( me: mutable;
1215                 theFileName         : CString from Standard;
1216                 theFormat           : ExportFormat from Graphic3d;
1217                 theSortType         : SortType from Graphic3d;
1218                 theWidth, theHeight : Integer from Standard;
1219                 theView             : CView from Graphic3d;
1220                 theLayerUnder       : CLayer2d from Aspect;
1221                 theLayerOver        : CLayer2d from Aspect;
1222                 thePrecision        : Real from Standard = 0.005;
1223                 theProgressBarFunc  : Address from Standard = NULL;
1224                 theProgressObject   : Address from Standard = NULL )
1225         returns Boolean from Standard
1226         is deferred;
1227     ---Purpose:
1228     -- Export scene into the one of the Vector graphics formats (SVG, PS, PDF...).
1229     -- In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer).
1230     -- Notice however that results may differ a lot and do not contain some elements.
1231
1232     RemovePrimitiveArray( me        : mutable;
1233                           theCGroup : CGroup from Graphic3d;
1234                           thePArray : PrimitiveArray from Graphic3d )
1235         is deferred;
1236         ---Purpose: Clear visualization data in graphical driver and
1237         -- stop displaying the primitives array of the graphical group
1238         -- <theCGroup>. This method is internal and should be used
1239         -- by Graphic3d_Group only.
1240
1241     AddZLayer( me         : mutable;
1242                theCView   : CView from Graphic3d;
1243                theLayerId : Integer from Standard )
1244         is deferred;
1245         ---Purpose: Add a new top-level z layer with ID <theLayerId> for
1246         -- the view. Z layers allow drawing structures in higher layers
1247         -- in foreground of structures in lower layers. To add a structure
1248         -- to desired layer on display it is necessary to set the layer
1249         -- ID for the structure.
1250
1251     RemoveZLayer( me         : mutable;
1252                   theCView   : CView from Graphic3d;
1253                   theLayerId : Integer from Standard )
1254         is deferred;
1255         ---Purpose: Remove Z layer from the specified view. All structures
1256         -- displayed at the moment in layer will be displayed in default layer
1257         -- ( the bottom-level z layer ). To unset layer ID from associated
1258         -- structures use method UnsetZLayer (...).
1259
1260     UnsetZLayer( me         : mutable;
1261                  theLayerId : Integer from Standard ) 
1262         is deferred;
1263         ---Purpose: Unset Z layer ID for all structures. The structure
1264         -- indexes will be set to default layer ( the bottom-level z layer
1265         -- with ID = 0 ).
1266
1267     ChangeZLayer( me            : mutable;
1268                   theCStructure : CStructure from Graphic3d;
1269                   theLayerId    : Integer from Standard )
1270         is deferred;
1271         ---Purpose: Change Z layer of a structure. The new z layer ID will
1272         -- be used to define the associated layer for structure on display.
1273
1274     ChangeZLayer( me            : mutable;
1275                   theCStructure : CStructure from Graphic3d;
1276                   theCView      : CView from Graphic3d;
1277                   theNewLayerId : Integer from Standard )
1278         is deferred;
1279         ---Purpose: Change Z layer of a structure already presented in view.
1280
1281     GetZLayer( me;
1282                theCStructure : CStructure from Graphic3d )
1283         returns Integer from Standard is deferred;
1284         ---Purpose: Get Z layer ID of structure. If the structure doesn't
1285         -- exists in graphic driver, the method returns -1.
1286
1287     --------------------------
1288     -- Category: Class methods
1289     --------------------------
1290
1291     Light ( myclass;
1292         ACLight : CLight from Graphic3d;
1293         Update  : Boolean from Standard )
1294         returns Integer from Standard;
1295     ---Purpose: call_togl_light
1296
1297     Plane ( myclass;
1298         ACPlane : CPlane from Graphic3d;
1299         Update  : Boolean from Standard )
1300         returns Integer from Standard;
1301     ---Purpose: call_togl_plane
1302
1303     -----------------------------
1304     -- Category: Internal methods
1305     -----------------------------
1306
1307     PrintBoolean ( me;
1308                    AComment : CString from Standard;
1309                    AValue   : Boolean from Standard );
1310
1311     PrintCGroup ( me;
1312                   ACGroup   : CGroup from Graphic3d;
1313                   AField    : Integer from Standard );
1314
1315     PrintCLight ( me;
1316                   ACLight   : CLight from Graphic3d;
1317                   AField    : Integer from Standard );
1318
1319     PrintCPick ( me;
1320                  ACPick    : CPick from Graphic3d;
1321                  AField    : Integer from Standard );
1322
1323     PrintCPlane ( me;
1324                   ACPlane   : CPlane from Graphic3d;
1325                   AField    : Integer from Standard );
1326
1327     PrintCStructure ( me;
1328                       ACStructure   : CStructure from Graphic3d;
1329                       AField    : Integer from Standard );
1330
1331     PrintCView ( me;
1332                  ACView : CView from Graphic3d;
1333                  AField : Integer from Standard );
1334
1335     PrintFunction ( me;
1336                     AFunc   : CString from Standard );
1337
1338     PrintInteger ( me;
1339                    AComment  : CString from Standard;
1340                    AValue    : Integer from Standard );
1341
1342     PrintIResult ( me;
1343                    AFunc    : CString from Standard;
1344                    AResult  : Integer from Standard );
1345
1346     PrintShortReal ( me;
1347                      AComment   : CString from Standard;
1348                      AValue     : ShortReal from Standard );
1349
1350     PrintMatrix ( me;
1351                   AComment  : CString from Standard;
1352                   AMatrix   : Array2OfReal from TColStd )
1353         raises TransformError from Graphic3d;
1354
1355     PrintString ( me;
1356                   AComment  : CString from Standard;
1357                   AString   : CString from Standard );
1358
1359     SetTrace ( me       : mutable;
1360                ALevel   : Integer from Standard )
1361         is static;
1362
1363     Trace ( me )
1364         returns Integer from Standard
1365         is static;
1366
1367     --ListOfAvalableFontNames( me;
1368     --           lst: out NListOfHAsciiString from Graphic3d )
1369     --           returns Boolean from Standard
1370     --           is deferred;
1371     --  Purpose:  Initialize list of names of avalable system fonts
1372     --            returns Standard_False if fails
1373     --  ABD Integration support of system fonts (using FTGL and FreeType)
1374
1375 fields
1376
1377     MyTraceLevel    : Integer from Standard is protected;
1378     MySharedLibrary : SharedLibrary from OSD is protected;
1379
1380 end GraphicDriver from Graphic3d;