c548b89e84bff3e6dab75ec5cfa294a396d92a6a
[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
37     --      driver and encapsulates the Pex driver, the
38     --      OpenGl driver, the Optimizer driver and the Phigs driver.
39
40     ---Keywords: Pex, OpenGl, Optimizer, Phigs
41
42     ---Warning:
43     ---References:
44
45 uses
46
47     SharedLibrary       from OSD,
48
49     Array1OfInteger     from TColStd,
50     Array1OfReal        from TColStd,
51     Array2OfReal        from TColStd,
52
53     ExtendedString      from TCollection,
54
55     NameOfColor         from Quantity,
56     Color               from Quantity,
57
58     PlaneAngle          from Quantity,
59
60     AlienImage          from AlienImage,
61
62     Array1OfEdge        from Aspect,
63     CLayer2d            from Aspect,
64     GraphicDriver       from Aspect,
65     TypeOfTriedronEcho  from Aspect,
66     TypeOfTriedronPosition  from Aspect,
67     Handle              from Aspect,
68     Display             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: Exploration methods
325     --------------------------------
326
327     DumpGroup ( me      : mutable;
328                 ACGroup : CGroup from Graphic3d )
329         is deferred;
330     ---Purpose: call_togl_structure_exploration
331
332     DumpStructure ( me          : mutable;
333                     ACStructure : CStructure from Graphic3d )
334         is deferred;
335     ---Purpose: call_togl_structure_exploration
336
337     DumpView ( me       : mutable;
338                ACView   : CView from Graphic3d )
339         is deferred;
340     ---Purpose: call_togl_view_exploration
341
342     ElementExploration ( me             : mutable;
343                          ACStructure    : CStructure from Graphic3d;
344                          ElementNumber  : Integer from Standard;
345                          AVertex        : out VertexNC from Graphic3d;
346                          AVector        : out Vector from Graphic3d )
347         returns Boolean from Standard
348         is deferred;
349     ---Purpose: call_togl_element_exploration
350
351     ElementType ( me            : mutable;
352                   ACStructure   : CStructure from Graphic3d;
353                   ElementNumber : Integer from Standard )
354         returns TypeOfPrimitive from Graphic3d
355         is deferred;
356     ---Purpose: call_togl_element_type
357
358     ------------------------------------
359     -- Category: Pick management methods
360     ------------------------------------
361
362     InitPick ( me   : mutable )
363         is deferred;
364     ---Purpose: call_togl_init_pick
365
366     Pick ( me   : mutable;
367            ACPick   : out CPick from Graphic3d )
368         is deferred;
369     ---Purpose: call_togl_pick
370
371     PickId ( me         : mutable;
372              ACGroup    : CGroup from Graphic3d )
373         is deferred;
374     ---Purpose: call_togl_pickid
375
376     ------------------------------------
377     -- Category: Structured mode methods
378     ------------------------------------
379
380     ActivateView ( me       : mutable;
381                    ACView   : CView from Graphic3d )
382         is deferred;
383     ---Purpose: call_togl_activateview
384
385     AntiAliasing ( me       : mutable;
386                    ACView   : CView from Graphic3d;
387                    AFlag    : Boolean from Standard )
388         is deferred;
389     ---Purpose: call_togl_antialiasing
390
391     Background ( me     : mutable;
392                  ACView : CView from Graphic3d )
393         is deferred;
394     ---Purpose: call_togl_background
395
396     GradientBackground ( me     : mutable;
397                          ACView : CView from Graphic3d;
398                          AColor1: Color from Quantity;
399                          AColor2: Color from Quantity;
400                          FillStyle : GradientFillMethod from Aspect
401                        )
402     is virtual;
403     ---Purpose: call_togl_gradient_background
404
405
406     BackgroundImage( me           : mutable;
407                      FileName     : CString from Standard;
408                      ACView       : CView from Graphic3d;
409                      FillStyle    : FillMethod from Aspect )
410     is deferred;
411
412     SetBgImageStyle( me        : mutable;
413                      ACView    : CView from Graphic3d;
414                      FillStyle : FillMethod from Aspect )
415     is deferred;
416
417     SetBgGradientStyle( me        : mutable;
418                         ACView    : CView from Graphic3d;
419                         FillStyle : GradientFillMethod from Aspect )
420     is virtual;
421
422     ClipLimit ( me      : mutable;
423                 ACView  : CView from Graphic3d;
424                 AWait   : Boolean from Standard )
425         is deferred;
426     ---Purpose: call_togl_cliplimit
427
428     DeactivateView ( me     : mutable;
429                      ACView : CView from Graphic3d )
430         is deferred;
431     ---Purpose: call_togl_deactivateview
432
433     DepthCueing ( me        : mutable;
434                   ACView    : CView from Graphic3d;
435                   AFlag     : Boolean from Standard )
436         is deferred;
437     ---Purpose: call_togl_cliplimit
438
439     ProjectRaster ( me      : mutable;
440                     ACView  : CView from Graphic3d;
441                     AX      : ShortReal from Standard;
442                     AY      : ShortReal from Standard;
443                     AZ      : ShortReal from Standard;
444                     AU      : out Integer from Standard;
445                     AV      : out Integer from Standard )
446         returns Boolean from Standard
447         is deferred;
448     ---Purpose: call_togl_unproject_raster
449
450     UnProjectRaster ( me        : mutable;
451                       ACView    : CView from Graphic3d;
452                       Axm       : Integer from Standard;
453                       Aym       : Integer from Standard;
454                       AXM       : Integer from Standard;
455                       AYM       : Integer from Standard;
456                       AU        : Integer from Standard;
457                       AV        : Integer from Standard;
458                       AX        : out ShortReal from Standard;
459                       AY        : out ShortReal from Standard;
460                       AZ        : out ShortReal from Standard )
461         returns Boolean from Standard
462         is deferred;
463     ---Purpose: call_togl_unproject_raster
464
465     UnProjectRasterWithRay ( me        : mutable;
466                              ACView    : CView from Graphic3d;
467                              Axm       : Integer from Standard;
468                              Aym       : Integer from Standard;
469                              AXM       : Integer from Standard;
470                              AYM       : Integer from Standard;
471                              AU        : Integer from Standard;
472                              AV        : Integer from Standard;
473                              AX        : out ShortReal from Standard;
474                              AY        : out ShortReal from Standard;
475                              AZ        : out ShortReal from Standard;
476                              DX        : out ShortReal from Standard;
477                              DY        : out ShortReal from Standard;
478                              DZ        : out ShortReal from Standard )
479         returns Boolean from Standard
480         is deferred;
481     ---Purpose: call_togl_unproject_raster_with_ray
482
483     RatioWindow ( me        : mutable;
484                   ACView    : CView from Graphic3d )
485         is deferred;
486     ---Purpose: call_togl_ratio_window
487
488     Redraw ( me             : mutable;
489              ACView         : CView from Graphic3d;
490              ACUnderLayer   : CLayer2d from Aspect;
491              ACOverLayer    : CLayer2d from Aspect;
492              x              : Integer = 0;
493              y              : Integer = 0;
494              width              : Integer = 0;
495              height     : Integer = 0 )
496         is deferred;
497     ---Purpose: call_togl_redraw
498     --  Warning: when the redraw area has a null size, the full view is redrawn
499
500     RemoveView ( me     : mutable;
501                 ACView  : CView from Graphic3d )
502         is deferred;
503     ---Purpose: call_togl_removeview
504
505     SetLight ( me       : mutable;
506            ACView   : CView from Graphic3d )
507         is deferred;
508     ---Purpose: call_togl_setlight
509
510     SetPlane ( me       : mutable;
511                ACView   : CView from Graphic3d )
512         is deferred;
513     ---Purpose: call_togl_setplane
514
515     SetVisualisation ( me       : mutable;
516                        ACView   : CView from Graphic3d )
517         is deferred;
518     ---Purpose: call_togl_setvisualisation
519
520     TransformStructure ( me             : mutable;
521                          ACStructure    : CStructure from Graphic3d )
522         is deferred;
523     ---Purpose: call_togl_transformstructure
524
525         DegenerateStructure ( me                        : mutable;
526                               ACStructure       : CStructure from Graphic3d )
527                 is deferred;
528         ---Purpose: call_togl_degeneratestructure
529
530     Transparency ( me       : mutable;
531                    ACView   : CView from Graphic3d;
532                    AFlag    : Boolean from Standard )
533         is deferred;
534     ---Purpose: call_togl_transparency
535
536     Update ( me             : mutable;
537              ACView         : CView from Graphic3d;
538              ACUnderLayer   : CLayer2d from Aspect;
539              ACOverLayer    : CLayer2d from Aspect )
540             is deferred;
541     ---Purpose: call_togl_update
542
543     View ( me   : mutable;
544            ACView   : in out CView from Graphic3d )
545         returns Boolean from Standard
546         is deferred;
547     ---Purpose: call_togl_view
548
549     ViewMapping ( me        : mutable;
550                   ACView    : CView from Graphic3d;
551                   AWait : Boolean from Standard )
552         is deferred;
553     ---Purpose: call_togl_viewmapping
554
555     ViewOrientation ( me        : mutable;
556                       ACView    : CView from Graphic3d;
557                       AWait     : Boolean from Standard )
558         is deferred;
559     ---Purpose: call_togl_vieworientation
560
561         Environment ( me        : mutable;
562                       ACView    : CView from Graphic3d )
563         is deferred;
564     ---Purpose:
565
566     ----------------------------------------
567     -- Category: Methods to create Marker
568     -- for Purpose : see Graphic3d_Group.cdl
569     ----------------------------------------
570
571     Marker ( me         : mutable;
572              ACGroup    : CGroup from Graphic3d;
573              APoint     : Vertex from Graphic3d;
574              EvalMinMax : Boolean from Standard = Standard_True )
575         is deferred;
576
577     MarkerSet ( me          : mutable;
578                 ACGroup     : CGroup from Graphic3d;
579                 ListVertex  : Array1OfVertex from Graphic3d;
580                 EvalMinMax  : Boolean from Standard = Standard_True )
581         is deferred;
582
583     ----------------------------------------
584     -- Category: Methods to create Polygon
585     -- for Purpose : see Graphic3d_Group.cdl
586     ----------------------------------------
587
588     Polygon ( me            : mutable;
589               ACGroup       : CGroup from Graphic3d;
590               ListVertex    : Array1OfVertex from Graphic3d;
591               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
592               EvalMinMax    : Boolean from Standard = Standard_True )
593         is deferred;
594     ---Purpose: call_togl_polygon
595
596     Polygon ( me            : mutable;
597               ACGroup       : CGroup from Graphic3d;
598               ListVertex    : Array1OfVertex from Graphic3d;
599               Normal        : Vector from Graphic3d;
600               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
601               EvalMinMax    : Boolean from Standard = Standard_True )
602         is deferred;
603     ---Purpose: call_togl_polygon
604
605     Polygon ( me            : mutable;
606               ACGroup       : CGroup from Graphic3d;
607               ListVertex    : Array1OfVertexN from Graphic3d;
608               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
609               EvalMinMax    : Boolean from Standard = Standard_True )
610         is deferred;
611     ---Purpose: call_togl_polygon
612
613     Polygon ( me            : mutable;
614               ACGroup       : CGroup from Graphic3d;
615               ListVertex    : Array1OfVertexN from Graphic3d;
616               Normal        : Vector from Graphic3d;
617               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
618               EvalMinMax    : Boolean from Standard = Standard_True )
619         is deferred;
620     ---Purpose: call_togl_polygon
621
622     Polygon ( me            : mutable;
623               ACGroup       : CGroup from Graphic3d;
624               ListVertex    : Array1OfVertexNT from Graphic3d;
625               AType         : TypeOfPolygon from Graphic3d = Graphic3d_TOP_CONVEX;
626               EvalMinMax    : Boolean from Standard = Standard_True )
627         is deferred;
628     ---Purpose: call_togl_polygon
629
630     PolygonHoles ( me          : mutable;
631                    ACGroup     : CGroup from Graphic3d;
632                    Bounds      : Array1OfInteger from TColStd;
633                    ListVertex  : Array1OfVertex from Graphic3d;
634                    EvalMinMax  : Boolean from Standard = Standard_True )
635         is deferred;
636     ---Purpose: call_togl_polygon_holes
637
638     PolygonHoles ( me          : mutable;
639                    ACGroup     : CGroup from Graphic3d;
640                    Bounds      : Array1OfInteger from TColStd;
641                    ListVertex  : Array1OfVertex from Graphic3d;
642                    Normal      : Vector from Graphic3d;
643                    EvalMinMax  : Boolean from Standard = Standard_True )
644                    is deferred;
645     ---Purpose: call_togl_polygon_holes
646
647     PolygonHoles ( me          : mutable;
648                    ACGroup     : CGroup from Graphic3d;
649                    Bounds      : Array1OfInteger from TColStd;
650                    ListVertex  : Array1OfVertexN from Graphic3d;
651                    EvalMinMax  : Boolean from Standard = Standard_True )
652         is deferred;
653     ---Purpose: call_togl_polygon_holes
654
655     PolygonHoles ( me          : mutable;
656                    ACGroup     : CGroup from Graphic3d;
657                    Bounds      : Array1OfInteger from TColStd;
658                    ListVertex  : Array1OfVertexN from Graphic3d;
659                    Normal      : Vector from Graphic3d;
660                    EvalMinMax  : Boolean from Standard = Standard_True )
661         is deferred;
662     ---Purpose: call_togl_polygon_holes
663
664     ----------------------------------------
665     -- Category: Methods to create Polyline
666     -- for Purpose : see Graphic3d_Group.cdl
667     ----------------------------------------
668
669     Polyline ( me                       : mutable;
670                ACGroup                  : CGroup from Graphic3d;
671                X1, Y1, Z1, X2, Y2, Z2   : Real from Standard;
672                EvalMinMax               : Boolean from Standard = Standard_True )
673         is deferred;
674     ---Purpose: call_togl_polyline
675
676     Polyline ( me           : mutable;
677                ACGroup      : CGroup from Graphic3d;
678                ListVertex   : Array1OfVertex from Graphic3d;
679                EvalMinMax   : Boolean from Standard = Standard_True )
680         is deferred;
681     ---Purpose: call_togl_polyline
682
683     Polyline ( me           : mutable;
684                ACGroup      : CGroup from Graphic3d;
685                ListVertex   : Array1OfVertexC from Graphic3d;
686                EvalMinMax   : Boolean from Standard = Standard_True )
687         is deferred;
688     ---Purpose: call_togl_polyline
689
690     -----------------------------------------
691     -- Category: Methods to create Quadrangle
692     -- for Purpose : see Graphic3d_Group.cdl
693     -----------------------------------------
694
695     QuadrangleMesh ( me         : mutable;
696                      ACGroup    : CGroup from Graphic3d;
697                      ListVertex : Array2OfVertex from Graphic3d;
698                      EvalMinMax : Boolean from Standard = Standard_True )
699         is deferred;
700     ---Purpose: call_togl_quadrangle
701
702     QuadrangleMesh ( me         : mutable;
703                      ACGroup    : CGroup from Graphic3d;
704                      ListVertex : Array2OfVertexN from Graphic3d;
705                      EvalMinMax : Boolean from Standard = Standard_True )
706         is deferred;
707     ---Purpose: call_togl_quadrangle
708
709     QuadrangleMesh ( me         : mutable;
710                      ACGroup    : CGroup from Graphic3d;
711                      ListVertex : Array2OfVertexNT from Graphic3d;
712                      EvalMinMax : Boolean from Standard = Standard_True )
713         is deferred;
714     ---Purpose: call_togl_quadrangle
715
716     QuadrangleSet ( me          : mutable;
717                     ACGroup     : CGroup from Graphic3d;
718                     ListVertex  : Array1OfVertex from Graphic3d;
719                     ListEdge    : Array1OfEdge from Aspect;
720                     EvalMinMax  : Boolean from Standard = Standard_True )
721         is deferred;
722     ---Purpose: call_togl_polygon_indices
723
724     QuadrangleSet ( me          : mutable;
725                     ACGroup     : CGroup from Graphic3d;
726                     ListVertex  : Array1OfVertexN from Graphic3d;
727                     ListEdge    : Array1OfEdge from Aspect;
728                     EvalMinMax  : Boolean from Standard = Standard_True )
729         is deferred;
730     ---Purpose: call_togl_polygon_indices
731
732     QuadrangleSet ( me          : mutable;
733                     ACGroup     : CGroup from Graphic3d;
734                     ListVertex  : Array1OfVertexNT from Graphic3d;
735                     ListEdge    : Array1OfEdge from Aspect;
736                     EvalMinMax  : Boolean from Standard = Standard_True )
737         is deferred;
738     ---Purpose: call_togl_polygon_indices
739
740     QuadrangleSet ( me          : mutable;
741                     ACGroup     : CGroup from Graphic3d;
742                     ListVertex  : Array1OfVertexC from Graphic3d;
743                     ListEdge    : Array1OfEdge from Aspect;
744                     EvalMinMax  : Boolean from Standard = Standard_True )
745         is deferred;
746     ---Purpose: call_togl_polygon_indices
747
748     QuadrangleSet ( me          : mutable;
749                     ACGroup     : CGroup from Graphic3d;
750                     ListVertex  : Array1OfVertexNC from Graphic3d;
751                     ListEdge    : Array1OfEdge from Aspect;
752                     EvalMinMax  : Boolean from Standard = Standard_True )
753         is deferred;
754     ---Purpose: call_togl_polygon_indices
755
756     ----------------------------------------
757     -- Category: Methods to create Text
758     -- for Purpose : see Graphic3d_Group.cdl
759     ----------------------------------------
760
761     Text ( me   : mutable;
762            ACGroup  : CGroup from Graphic3d;
763            AText    : CString from Standard;
764            APoint   : Vertex from Graphic3d;
765            AHeight  : Real from Standard;
766            AAngle   : PlaneAngle from Quantity;
767            ATp  : TextPath from Graphic3d;
768            AHta : HorizontalTextAlignment from Graphic3d;
769            AVta : VerticalTextAlignment from Graphic3d;
770            EvalMinMax   : Boolean from Standard = Standard_True )
771         is deferred;
772     ---Purpose: call_togl_text
773
774     Text ( me   : mutable;
775            ACGroup  : CGroup from Graphic3d;
776            AText    : CString from Standard;
777            APoint   : Vertex from Graphic3d;
778            AHeight  : Real from Standard;
779            EvalMinMax   : Boolean from Standard = Standard_True )
780         is deferred;
781     ---Purpose: call_togl_text
782
783     Text ( me   : mutable;
784            ACGroup  : CGroup from Graphic3d;
785            AText    : ExtendedString from TCollection;
786            APoint   : Vertex from Graphic3d;
787            AHeight  : Real from Standard;
788            AAngle   : PlaneAngle from Quantity;
789            ATp  : TextPath from Graphic3d;
790            AHta : HorizontalTextAlignment from Graphic3d;
791            AVta : VerticalTextAlignment from Graphic3d;
792            EvalMinMax   : Boolean from Standard = Standard_True )
793         is deferred;
794     ---Purpose: call_togl_text
795
796     Text ( me   : mutable;
797            ACGroup  : CGroup from Graphic3d;
798            AText    : ExtendedString from TCollection;
799            APoint   : Vertex from Graphic3d;
800            AHeight  : Real from Standard;
801            EvalMinMax   : Boolean from Standard = Standard_True )
802         is deferred;
803     ---Purpose: call_togl_text
804
805     ----------------------------------------
806     ---Category: Methods to create Triangle
807     -- for Purpose : see Graphic3d_Group.cdl
808     ----------------------------------------
809
810     TriangleMesh ( me           : mutable;
811                    ACGroup      : CGroup from Graphic3d;
812                    ListVertex   : Array1OfVertex from Graphic3d;
813                    EvalMinMax   : Boolean from Standard = Standard_True )
814         is deferred;
815     ---Purpose: call_togl_triangle
816
817     TriangleMesh ( me           : mutable;
818                    ACGroup      : CGroup from Graphic3d;
819                    ListVertex   : Array1OfVertexN from Graphic3d;
820                    EvalMinMax   : Boolean from Standard = Standard_True )
821         is deferred;
822     ---Purpose: call_togl_triangle
823
824     TriangleMesh ( me           : mutable;
825                    ACGroup      : CGroup from Graphic3d;
826                    ListVertex   : Array1OfVertexNT from Graphic3d;
827                    EvalMinMax   : Boolean from Standard = Standard_True )
828         is deferred;
829     ---Purpose: call_togl_triangle
830
831     TriangleSet ( me            : mutable;
832                   ACGroup       : CGroup from Graphic3d;
833                   ListVertex    : Array1OfVertex from Graphic3d;
834                   ListEdge      : Array1OfEdge from Aspect;
835                   EvalMinMax    : Boolean from Standard = Standard_True )
836         is deferred;
837     ---Purpose: call_togl_polygon_indices
838
839     TriangleSet ( me            : mutable;
840                   ACGroup       : CGroup from Graphic3d;
841                   ListVertex    : Array1OfVertexN from Graphic3d;
842                   ListEdge      : Array1OfEdge from Aspect;
843                   EvalMinMax    : Boolean from Standard = Standard_True )
844         is deferred;
845     ---Purpose: call_togl_polygon_indices
846
847     TriangleSet ( me            : mutable;
848                   ACGroup       : CGroup from Graphic3d;
849                   ListVertex    : Array1OfVertexNT from Graphic3d;
850                   ListEdge      : Array1OfEdge from Aspect;
851                   EvalMinMax    : Boolean from Standard = Standard_True )
852         is deferred;
853     ---Purpose: call_togl_polygon_indices
854
855     TriangleSet ( me            : mutable;
856                   ACGroup       : CGroup from Graphic3d;
857                   ListVertex    : Array1OfVertexC from Graphic3d;
858                   ListEdge      : Array1OfEdge from Aspect;
859                   EvalMinMax    : Boolean from Standard = Standard_True )
860         is deferred;
861     ---Purpose: call_togl_polygon_indices
862
863     TriangleSet ( me            : mutable;
864                   ACGroup       : CGroup from Graphic3d;
865                   ListVertex    : Array1OfVertexNC from Graphic3d;
866                   ListEdge      : Array1OfEdge from Aspect;
867                   EvalMinMax    : Boolean from Standard = Standard_True )
868         is deferred;
869     ---Purpose: call_togl_polygon_indices
870
871     PrimitiveArray( me          : mutable;
872                     ACGroup     : CGroup from Graphic3d;
873                     parray      : PrimitiveArray from Graphic3d;
874                     EvalMinMax  : Boolean from Standard = Standard_True )
875         is deferred;
876         ---Purpose: call_togl_parray
877
878     UserDraw( me          : mutable;
879               ACGroup     : CGroup from Graphic3d;
880               AUserDraw   : CUserDraw from Graphic3d )
881         is deferred;
882         ---Purpose: call_togl_userdraw
883
884     EnableVBO( me       : mutable;
885                status   : Boolean from Standard )
886                is virtual;
887     ---Purpose: enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays
888
889     ----------------------------------------
890     ---Category: Methods to create Triedron
891     -- for Purpose : see Graphic3d_Group.cdl
892     ----------------------------------------
893
894     ZBufferTriedronSetup ( me          : mutable;
895                            XColor      : NameOfColor from Quantity = Quantity_NOC_RED;
896                            YColor      : NameOfColor from Quantity = Quantity_NOC_GREEN;
897                            ZColor      : NameOfColor from Quantity = Quantity_NOC_BLUE1;
898                            SizeRatio   : Real from Standard = 0.8;
899                            AxisDiametr : Real from Standard = 0.05;
900                            NbFacettes  : Integer from Standard = 12)
901          is deferred;
902         ---Purpose: call_togl_ztriedron_setup
903
904     TriedronDisplay ( me            : mutable;
905                       ACView        : CView from Graphic3d;
906                       APosition     : TypeOfTriedronPosition from Aspect  = Aspect_TOTP_CENTER;
907                       AColor        : NameOfColor from Quantity = Quantity_NOC_WHITE ;
908                       AScale        : Real from Standard  =  0.02;
909                       AsWireframe   : Boolean from Standard = Standard_True )
910         is deferred;
911     ---Purpose: call_togl_triedron_display
912
913
914     TriedronErase ( me      : mutable;
915                   ACView    : CView from Graphic3d)
916         is deferred;
917     ---Purpose: call_togl_triedron_erase
918
919
920     TriedronEcho ( me       : mutable;
921                    ACView   : CView from Graphic3d;
922                    AType    : TypeOfTriedronEcho from Aspect  = Aspect_TOTE_NONE )
923         is deferred;
924     ---Purpose: call_togl_triedron_echo
925
926     ---------------------------------
927     ---Category: Graduated  trihedron
928     ---------------------------------
929
930     GraduatedTrihedronDisplay(me : mutable;
931                               view : CView from Graphic3d;
932                               cubic : CGraduatedTrihedron from Graphic3d)
933     ---Purpose: call_togl_graduatedtrihedron_display
934     is deferred;
935
936     GraduatedTrihedronErase(me : mutable;
937                             view : CView from Graphic3d)
938     ---Purpose: call_togl_graduatedtrihedron_erase
939     is deferred;
940
941     GraduatedTrihedronMinMaxValues(me : mutable;
942                                    xmin : ShortReal from Standard;
943                                    ymin : ShortReal from Standard;
944                                    zmin : ShortReal from Standard;
945                                    xmax : ShortReal from Standard;
946                                    ymax : ShortReal from Standard;
947                                    zmax : ShortReal from Standard)
948     ---Purpose: call_togl_graduatedtrihedron_minmaxvalues
949     is deferred;
950
951     ----------------------------------------
952     -- Category: Internal methods
953     -- for Purpose : see Graphic3d_Group.cdl
954     ----------------------------------------
955
956     Bezier ( me         : mutable;
957              ACGroup    : CGroup from Graphic3d;
958              ListVertex : Array1OfVertex from Graphic3d;
959              EvalMinMax : Boolean from Standard = Standard_True )
960         is deferred;
961     ---Purpose: call_togl_bezier
962
963     Bezier ( me         : mutable;
964              ACGroup    : CGroup from Graphic3d;
965              ListVertex : Array1OfVertex from Graphic3d;
966              ListWeight : Array1OfReal from TColStd;
967              EvalMinMax : Boolean from Standard = Standard_True )
968         is deferred;
969     ---Purpose: call_togl_bezier_weight
970
971     ---------------------------
972     -- Category: Animation mode
973     ---------------------------
974
975     BeginAnimation ( me : mutable;
976              ACView : CView from Graphic3d)
977         is deferred;
978     ---Purpose: call_togl_begin_animation
979
980     EndAnimation ( me   : mutable;
981                ACView   : CView from Graphic3d)
982         is deferred;
983     ---Purpose: call_togl_end_animation
984
985     ----------------------------------
986     -- Category: Ajout mode methods
987     ----------------------------------
988
989     BeginAddMode ( me   : mutable;
990                 ACView      : CView from Graphic3d)
991         returns Boolean from Standard
992         is deferred;
993     ---Purpose: call_togl_begin_ajout_mode
994
995     EndAddMode ( me     : mutable)
996         is deferred;
997     ---Purpose: call_togl_end_ajout_mode
998
999     ----------------------------------
1000     -- Category: Immediat mode methods
1001     ----------------------------------
1002
1003     BeginImmediatMode ( me              : mutable;
1004                         ACView          : CView from Graphic3d;
1005                         ACUnderLayer    : CLayer2d from Aspect;
1006                         ACOverLayer     : CLayer2d from Aspect;
1007                         DoubleBuffer    : Boolean from Standard;
1008                         RetainMode      : Boolean from Standard)
1009         returns Boolean from Standard
1010         is deferred;
1011     ---Purpose: call_togl_begin_immediat_mode
1012
1013     BeginPolyline ( me  : mutable )
1014         is deferred;
1015     ---Purpose: call_togl_begin_polyline
1016
1017     ClearImmediatMode ( me  : mutable; ACView       : CView from Graphic3d;
1018                   aFlush        : Boolean from Standard = Standard_True)
1019         is deferred;
1020     ---Purpose: call_togl_clear_immediat_mode
1021
1022     Draw ( me   : mutable;
1023            X    : ShortReal from Standard;
1024            Y    : ShortReal from Standard;
1025            Z    : ShortReal from Standard )
1026         is deferred;
1027     ---Purpose: call_togl_draw
1028
1029     DrawStructure ( me          : mutable;
1030                     ACStructure : CStructure from Graphic3d )
1031         is deferred;
1032     ---Purpose: call_togl_draw_structure
1033
1034     EndImmediatMode ( me            : mutable;
1035                       Synchronize   : Integer from Standard )
1036         is deferred;
1037     ---Purpose: call_togl_end_immediat_mode
1038
1039     EndPolyline ( me    : mutable )
1040         is deferred;
1041     ---Purpose: call_togl_end_polyline
1042
1043     Move ( me   : mutable;
1044            X    : ShortReal from Standard;
1045            Y    : ShortReal from Standard;
1046            Z    : ShortReal from Standard )
1047         is deferred;
1048     ---Purpose: call_togl_move
1049
1050     SetLineColor ( me   : mutable;
1051                    R    : ShortReal from Standard;
1052                    G    : ShortReal from Standard;
1053                    B    : ShortReal from Standard )
1054         is deferred;
1055     ---Purpose: call_togl_set_linecolor
1056
1057     SetLineType ( me    : mutable;
1058                   Type  : Integer from Standard )
1059         is deferred;
1060     ---Purpose: call_togl_set_linetype
1061
1062     SetLineWidth ( me   : mutable;
1063                Width    : ShortReal from Standard )
1064         is deferred;
1065     ---Purpose: call_togl_set_linewidth
1066
1067     SetMinMax ( me  : mutable;
1068                 X1  : ShortReal from Standard;
1069                 Y1  : ShortReal from Standard;
1070                 Z1  : ShortReal from Standard;
1071                 X2  : ShortReal from Standard;
1072                 Y2  : ShortReal from Standard;
1073                 Z2  : ShortReal from Standard )
1074         is deferred;
1075     ---Purpose: call_togl_set_minmax
1076
1077     Transform ( me      : mutable;
1078                 AMatrix : Array2OfReal from TColStd;
1079                 AType   : TypeOfComposition from Graphic3d )
1080         is deferred;
1081     ---Purpose: call_togl_transform
1082
1083     -----------------------------
1084     -- Category: Textures methods
1085     -----------------------------
1086
1087         CreateTexture ( me;
1088                         Type            : TypeOfTexture from Graphic3d;
1089                         Image           : AlienImage from AlienImage;
1090                         FileName        : CString from Standard;
1091                         TexUpperBounds  : HArray1OfReal from TColStd )
1092         returns Integer from Standard
1093         is deferred;
1094     ---Purpose:
1095
1096     DestroyTexture ( me;
1097                      TexId  : Integer from Standard )
1098         is deferred;
1099     ---Purpose:
1100
1101     ModifyTexture ( me;
1102                     TexId   : Integer from Standard;
1103                     AValue  : CInitTexture from Graphic3d )
1104         is deferred;
1105     ---Purpose:
1106
1107     -------------------------------
1108     -- Category: Layer mode methods
1109     -------------------------------
1110
1111     Layer ( me      : mutable;
1112             ACLayer : in out CLayer2d from Aspect )
1113         is deferred;
1114     ---Purpose: call_togl_layer2d
1115
1116     RemoveLayer ( me        : mutable;
1117                   ACLayer   : CLayer2d from Aspect )
1118         is deferred;
1119     ---Purpose: call_togl_removelayer2d
1120
1121     BeginLayer ( me         : mutable;
1122                  ACLayer    : CLayer2d from Aspect )
1123         is deferred;
1124     ---Purpose: call_togl_begin_layer2d
1125
1126     BeginPolygon2d ( me : mutable )
1127         is deferred;
1128     ---Purpose: call_togl_begin_polygon2d
1129
1130     BeginPolyline2d ( me    : mutable )
1131         is deferred;
1132     ---Purpose: call_togl_begin_polyline2d
1133
1134     ClearLayer ( me         : mutable;
1135                  ACLayer    : CLayer2d from Aspect )
1136         is deferred;
1137     ---Purpose: call_togl_clear_layer2d
1138
1139     Draw ( me   : mutable;
1140            X    : ShortReal from Standard;
1141            Y    : ShortReal from Standard )
1142         is deferred;
1143     ---Purpose: call_togl_draw2d
1144
1145     Edge ( me   : mutable;
1146            X    : ShortReal from Standard;
1147            Y    : ShortReal from Standard )
1148         is deferred;
1149     ---Purpose: call_togl_edge2d
1150
1151     EndLayer ( me       : mutable )
1152         is deferred;
1153     ---Purpose: call_togl_end_layer2d
1154
1155     EndPolygon2d ( me   : mutable )
1156         is deferred;
1157     ---Purpose: call_togl_end_polygon2d
1158
1159     EndPolyline2d ( me  : mutable )
1160         is deferred;
1161     ---Purpose: call_togl_end_polyline2d
1162
1163     Move ( me   : mutable;
1164            X    : ShortReal from Standard;
1165            Y    : ShortReal from Standard )
1166         is deferred;
1167     ---Purpose: call_togl_move2d
1168
1169     Rectangle ( me              : mutable;
1170                 X, Y            : ShortReal from Standard;
1171                 Width, Height   : ShortReal from Standard )
1172         is deferred;
1173     ---Purpose: call_togl_rectangle2d
1174
1175     SetColor ( me   : mutable;
1176                R    : ShortReal from Standard;
1177                G    : ShortReal from Standard;
1178                B    : ShortReal from Standard )
1179         is deferred;
1180     ---Purpose: call_togl_set_color
1181
1182     SetTransparency ( me    : mutable;
1183            ATransparency    : ShortReal from Standard )
1184         is deferred;
1185     ---Purpose: call_togl_set_transparency
1186
1187     UnsetTransparency ( me  : mutable )
1188         is deferred;
1189     ---Purpose: call_togl_unset_transparency
1190
1191     SetLineAttributes ( me      : mutable;
1192                         Type    : Integer from Standard;
1193                         Width   : ShortReal from Standard )
1194         is deferred;
1195     ---Purpose: call_togl_set_line_attributes
1196
1197
1198     SetTextAttributes ( me      : mutable;
1199                         Font    : CString from Standard;
1200                         Type    : Integer from Standard;
1201                         R       : ShortReal from Standard;
1202                         G       : ShortReal from Standard;
1203                         B       : ShortReal from Standard )
1204         is virtual;
1205     ---Purpose: call_togl_set_text_attributes
1206
1207     Text ( me       : mutable;
1208            AText    : CString from Standard;
1209            X, Y     : ShortReal from Standard;
1210            AHeight  : ShortReal from Standard )
1211         is deferred;
1212     ---Purpose: call_togl_text2d
1213     -- If AHeight < 0 default text height is used by driver (DefaultTextHeight method)
1214
1215     DefaultTextHeight( me )
1216         returns ShortReal from Standard
1217         is deferred;
1218
1219
1220     TextSize( me;
1221               AText    : CString from Standard;
1222               AHeight  : ShortReal from Standard;
1223               AWidth   : in out ShortReal from Standard;
1224               AnAscent : in out ShortReal from Standard;
1225               ADescent : in out ShortReal from Standard )
1226             is deferred;
1227     ---Purpose: call_togl_textsize2d
1228
1229         SetBackFacingModel ( me    : mutable;
1230                              aView : CView from Graphic3d )
1231             is deferred;
1232         ---Purpose: call_togl_backfacing
1233
1234         SetDepthTestEnabled( me; view : CView from Graphic3d;
1235                                  isEnabled : Boolean from Standard )
1236     is deferred;
1237     ---Purpose: call_togl_depthtest
1238
1239         IsDepthTestEnabled( me; view : CView from Graphic3d )
1240     returns Boolean from Standard is deferred;
1241     ---Purpose: call_togl_isdepthtest
1242
1243         ReadDepths( me;
1244                     view          : CView from Graphic3d;
1245                     x, y          : Integer;
1246                     width, height : Integer;
1247                     buffer        : Address )
1248     is deferred;
1249     ---Purpose: Reads depths of shown pixels of the given
1250     --          rectangle (glReadPixels with GL_DEPTH_COMPONENT)
1251
1252         FBOCreate( me            : mutable;
1253                    view          : CView from Graphic3d;
1254                    width, height : Integer from Standard )
1255                   returns PtrFrameBuffer from Graphic3d
1256     is deferred;
1257     ---Purpose: Generate offscreen FBO in the graphic library.
1258     --          If not supported on hardware returns NULL.
1259
1260         FBORelease( me            : mutable;
1261                     view          : CView from Graphic3d;
1262                     fboPtr        : in out PtrFrameBuffer from Graphic3d )
1263     is deferred;
1264     ---Purpose: Remove offscreen FBO from the graphic library
1265
1266         FBOGetDimensions( me                  : mutable;
1267                           view                : CView from Graphic3d;
1268                           fboPtr              : PtrFrameBuffer from Graphic3d;
1269                           width, height       : out Integer from Standard;
1270                           widthMax, heightMax : out Integer from Standard )
1271     is deferred;
1272     ---Purpose: Read offscreen FBO configuration.
1273
1274         FBOChangeViewport( me                  : mutable;
1275                            view                : CView from Graphic3d;
1276                            fboPtr              : in out PtrFrameBuffer from Graphic3d;
1277                            width, height       : Integer from Standard )
1278     is deferred;
1279     ---Purpose: Change offscreen FBO viewport.
1280
1281         BufferDump( me            : mutable;
1282                     view          : CView from Graphic3d;
1283                     buffer        : in out CRawBufferData from Image )
1284                    returns Boolean from Standard
1285     is deferred;
1286     ---Purpose: Dump active rendering buffer into specified memory buffer.
1287
1288         SetGLLightEnabled( me; view : CView from Graphic3d;
1289                                isEnabled : Boolean from Standard )
1290     is deferred;
1291     ---Purpose: call_togl_gllight
1292
1293         IsGLLightEnabled( me; view : CView from Graphic3d )
1294     returns Boolean from Standard is deferred;
1295     ---Purpose: call_togl_isgllight
1296
1297     Print (me;
1298            ACView          : CView from Graphic3d;
1299            ACUnderLayer    : CLayer2d from Aspect;
1300            ACOverLayer     : CLayer2d from Aspect;
1301            hPrnDC          : Handle from Aspect;
1302            showBackground  : Boolean;
1303            filename        : CString)
1304         is deferred;
1305       ---Level: Internal
1306       ---Purpose: print the contents of all layers of the view to the printer.
1307     -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1308     -- <showBackground> : When set to FALSE then print the view without background color
1309     -- (background is white)
1310       -- else set to TRUE for printing with current background color.
1311     -- <filename>: If != NULL, then the view will be printed to a file.
1312     ---Warning: Works only under Windows.
1313
1314
1315         Export( me: mutable;
1316                 FileName         : CString from Standard;
1317                 Format           : ExportFormat from Graphic3d;
1318                 SortType         : SortType from Graphic3d;
1319                 W, H             : Integer from Standard;
1320                 View             : CView from Graphic3d;
1321                 Under, Over      : CLayer2d from Aspect;
1322                 Precision        : Real from Standard = 0.005;
1323                 ProgressBarFunc  : Address from Standard = NULL;
1324                 ProgressObject   : Address from Standard = NULL ) is deferred;
1325
1326     --------------------------
1327     -- Category: Class methods
1328     --------------------------
1329
1330     Light ( myclass;
1331         ACLight : CLight from Graphic3d;
1332         Update  : Boolean from Standard )
1333         returns Integer from Standard;
1334     ---Purpose: call_togl_light
1335
1336     Plane ( myclass;
1337         ACPlane : CPlane from Graphic3d;
1338         Update  : Boolean from Standard )
1339         returns Integer from Standard;
1340     ---Purpose: call_togl_plane
1341
1342     -----------------------------
1343     -- Category: Internal methods
1344     -----------------------------
1345
1346     PrintBoolean ( me;
1347                    AComment : CString from Standard;
1348                    AValue   : Boolean from Standard );
1349
1350     PrintCGroup ( me;
1351                   ACGroup   : CGroup from Graphic3d;
1352                   AField    : Integer from Standard );
1353
1354     PrintCLight ( me;
1355                   ACLight   : CLight from Graphic3d;
1356                   AField    : Integer from Standard );
1357
1358     PrintCPick ( me;
1359                  ACPick    : CPick from Graphic3d;
1360                  AField    : Integer from Standard );
1361
1362     PrintCPlane ( me;
1363                   ACPlane   : CPlane from Graphic3d;
1364                   AField    : Integer from Standard );
1365
1366     PrintCStructure ( me;
1367                       ACStructure   : CStructure from Graphic3d;
1368                       AField    : Integer from Standard );
1369
1370     PrintCView ( me;
1371                  ACView : CView from Graphic3d;
1372                  AField : Integer from Standard );
1373
1374     PrintFunction ( me;
1375                     AFunc   : CString from Standard );
1376
1377     PrintInteger ( me;
1378                    AComment  : CString from Standard;
1379                    AValue    : Integer from Standard );
1380
1381     PrintIResult ( me;
1382                    AFunc    : CString from Standard;
1383                    AResult  : Integer from Standard );
1384
1385     PrintShortReal ( me;
1386                      AComment   : CString from Standard;
1387                      AValue     : ShortReal from Standard );
1388
1389     PrintMatrix ( me;
1390                   AComment  : CString from Standard;
1391                   AMatrix   : Array2OfReal from TColStd )
1392         raises TransformError from Graphic3d;
1393
1394     PrintString ( me;
1395                   AComment  : CString from Standard;
1396                   AString   : CString from Standard );
1397
1398     SetTrace ( me       : mutable;
1399                ALevel   : Integer from Standard )
1400         is static;
1401
1402     Trace ( me )
1403         returns Integer from Standard
1404         is static;
1405
1406     --ListOfAvalableFontNames( me;
1407     --           lst: out NListOfHAsciiString from Graphic3d )
1408     --           returns Boolean from Standard
1409     --           is deferred;
1410     --  Purpose:  Initialize list of names of avalable system fonts
1411     --            returns Standard_False if fails
1412     --  ABD Integration support of system fonts (using FTGL and FreeType)
1413
1414 fields
1415
1416     MyTraceLevel    : Integer from Standard is protected;
1417     MySharedLibrary : SharedLibrary from OSD is protected;
1418
1419 end GraphicDriver from Graphic3d;