1 -- Created on: 1997-01-28
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 deferred class GraphicDriver from Graphic3d inherits TShared
21 ---Purpose: This class allows the definition of a graphic driver
22 -- (currently only OpenGl driver is used).
31 SharedLibrary from OSD,
33 Array1OfInteger from TColStd,
34 Array1OfReal from TColStd,
35 Array2OfReal from TColStd,
37 AsciiString from TCollection,
38 ExtendedString from TCollection,
40 NameOfColor from Quantity,
43 PlaneAngle from Quantity,
47 Array1OfEdge from Aspect,
49 TypeOfTriedronEcho from Aspect,
50 TypeOfTriedronPosition from Aspect,
53 PrintAlgo from Aspect,
54 DisplayConnection_Handle from Aspect,
56 AspectLine3d from Graphic3d,
57 AspectMarker3d from Graphic3d,
58 AspectText3d from Graphic3d,
59 AspectFillArea3d from Graphic3d,
60 HorizontalTextAlignment from Graphic3d,
61 CBitFields20 from Graphic3d,
62 CGroup from Graphic3d,
63 CLight from Graphic3d,
65 CPlane from Graphic3d,
66 CStructure from Graphic3d,
67 CStructure_Handle from Graphic3d,
69 BufferType from Graphic3d,
70 Structure from Graphic3d,
71 StructureManager from Graphic3d,
72 TextPath from Graphic3d,
73 TypeOfComposition from Graphic3d,
74 TypeOfPrimitive from Graphic3d,
75 Vector from Graphic3d,
76 Array1OfVertex from Graphic3d,
77 Array2OfVertex from Graphic3d,
78 Vertex from Graphic3d,
79 VerticalTextAlignment from Graphic3d,
80 PrimitiveArray from Graphic3d,
81 PtrFrameBuffer from Graphic3d,
82 HArray1OfByte from TColStd,
83 FillMethod from Aspect,
84 GradientFillMethod from Aspect,
85 ExportFormat from Graphic3d,
86 SortType from Graphic3d,
87 HArray1OfReal from TColStd,
88 CUserDraw from Graphic3d,
89 NListOfHAsciiString from Graphic3d,
91 CGraduatedTrihedron from Graphic3d,
92 ClipPlane from Graphic3d,
97 TransformError from Graphic3d
100 Initialize ( AShrName : CString from Standard )
101 returns mutable GraphicDriver from Graphic3d;
103 ---Purpose: Initialises the Driver
105 -------------------------
106 -- Category: Init methods
107 -------------------------
110 theDisplayConnection: DisplayConnection_Handle from Aspect)
111 returns Boolean from Standard
113 ---Purpose: Starts graphic driver with given connection
117 ---Purpose: call_togl_end
119 ----------------------------
120 -- Category: Inquire methods
121 ----------------------------
123 InquireLightLimit ( me : mutable )
124 returns Integer from Standard
126 ---Purpose: call_togl_inquirelight
128 InquirePlaneLimit ( me : mutable )
129 returns Integer from Standard
131 ---Purpose: call_togl_inquireplane
133 InquireViewLimit ( me : mutable )
134 returns Integer from Standard
136 ---Purpose: call_togl_inquireview
138 -------------------------------------
139 -- Category: Group management methods
140 -------------------------------------
142 ClearGroup ( me : mutable;
143 ACGroup : CGroup from Graphic3d )
145 ---Purpose: call_togl_cleargroup
147 FaceContextGroup ( me : mutable;
148 ACGroup : CGroup from Graphic3d;
149 NoInsert : Integer from Standard )
151 ---Purpose: call_togl_facecontextgroup
153 Group ( me : mutable;
154 ACGroup : in out CGroup from Graphic3d )
156 ---Purpose: call_togl_group
158 LineContextGroup ( me : mutable;
159 ACGroup : CGroup from Graphic3d;
160 NoInsert : Integer from Standard )
162 ---Purpose: call_togl_linecontextgroup
164 MarkerContextGroup ( me : mutable;
165 ACGroup : CGroup from Graphic3d;
166 NoInsert : Integer from Standard )
168 ---Purpose: call_togl_markercontextgroup
170 RemoveGroup ( me : mutable;
171 ACGroup : CGroup from Graphic3d )
173 ---Purpose: call_togl_removegroup
175 TextContextGroup ( me : mutable;
176 ACGroup : CGroup from Graphic3d;
177 NoInsert : Integer from Standard )
179 ---Purpose: call_togl_textcontextgroup
181 -----------------------------------------
182 -- Category: Structure management methods
183 -----------------------------------------
185 DisplayStructure ( me : mutable;
186 theCView : CView from Graphic3d;
187 theCStructure : in out CStructure from Graphic3d;
188 thePriority : Integer from Standard )
190 ---Purpose: call_togl_displaystructure
192 EraseStructure ( me : mutable;
193 theCView : CView from Graphic3d;
194 theCStructure : in out CStructure from Graphic3d )
196 ---Purpose: call_togl_erasestructure
198 RemoveStructure ( me : mutable;
199 theCStructure : in out CStructure_Handle from Graphic3d )
201 ---Purpose: call_togl_removestructure
203 Structure (me : mutable;
204 theManager : StructureManager from Graphic3d)
205 returns CStructure_Handle from Graphic3d
207 ---Purpose: Creates new empty graphic structure
209 ------------------------------------
210 -- Category: Structured mode methods
211 ------------------------------------
213 ActivateView ( me : mutable;
214 ACView : CView from Graphic3d )
216 ---Purpose: call_togl_activateview
218 AntiAliasing ( me : mutable;
219 ACView : CView from Graphic3d;
220 AFlag : Boolean from Standard )
222 ---Purpose: call_togl_antialiasing
224 Background ( me : mutable;
225 ACView : CView from Graphic3d )
227 ---Purpose: call_togl_background
229 GradientBackground ( me : mutable;
230 ACView : CView from Graphic3d;
231 AColor1: Color from Quantity;
232 AColor2: Color from Quantity;
233 FillStyle : GradientFillMethod from Aspect
236 ---Purpose: call_togl_gradient_background
239 BackgroundImage( me : mutable;
240 FileName : CString from Standard;
241 ACView : CView from Graphic3d;
242 FillStyle : FillMethod from Aspect )
245 SetBgImageStyle( me : mutable;
246 ACView : CView from Graphic3d;
247 FillStyle : FillMethod from Aspect )
250 SetBgGradientStyle( me : mutable;
251 ACView : CView from Graphic3d;
252 FillStyle : GradientFillMethod from Aspect )
255 ClipLimit ( me : mutable;
256 ACView : CView from Graphic3d;
257 AWait : Boolean from Standard )
259 ---Purpose: call_togl_cliplimit
261 DeactivateView ( me : mutable;
262 ACView : CView from Graphic3d )
264 ---Purpose: call_togl_deactivateview
266 DepthCueing ( me : mutable;
267 ACView : CView from Graphic3d;
268 AFlag : Boolean from Standard )
270 ---Purpose: call_togl_cliplimit
272 RatioWindow ( me : mutable;
273 ACView : CView from Graphic3d )
275 ---Purpose: call_togl_ratio_window
277 Redraw ( me : mutable;
278 theCView : CView from Graphic3d;
279 theCUnderLayer : CLayer2d from Aspect;
280 theCOverLayer : CLayer2d from Aspect;
283 theWidth : Integer = 0;
284 theHeight : Integer = 0 )
286 ---Purpose: Redraw content of the view
288 RedrawImmediate ( me : mutable;
289 theCView : CView from Graphic3d;
290 theCUnderLayer : CLayer2d from Aspect;
291 theCOverLayer : CLayer2d from Aspect )
293 ---Purpose: Redraw layer of immediate presentations
295 Invalidate ( me : mutable;
296 theCView : CView from Graphic3d )
298 ---Purpose: Invalidates content of the view but does not redraw it
300 RemoveView ( me : mutable;
301 ACView : CView from Graphic3d )
303 ---Purpose: call_togl_removeview
305 SetLight ( me : mutable;
306 ACView : CView from Graphic3d )
308 ---Purpose: call_togl_setlight
310 SetClipPlanes (me : mutable; theCView : CView from Graphic3d) is deferred;
311 ---Purpose: Pass clip planes to the associated graphic driver view.
313 SetCamera (me : mutable; theCView : CView from Graphic3d)
315 ---Purpose: Inform graphic driver if camera assigned to view changes.
317 SetVisualisation ( me : mutable;
318 ACView : CView from Graphic3d )
320 ---Purpose: call_togl_setvisualisation
322 Transparency ( me : mutable;
323 ACView : CView from Graphic3d;
324 AFlag : Boolean from Standard )
326 ---Purpose: call_togl_transparency
329 ACView : in out CView from Graphic3d )
330 returns Boolean from Standard
332 ---Purpose: call_togl_view
334 Environment ( me : mutable;
335 ACView : CView from Graphic3d )
339 SetStencilTestOptions ( me : mutable;
340 theCGroup : CGroup from Graphic3d;
341 theIsEnabled: Boolean from Standard)
343 ---Purpose: sets the stencil test to theIsEnabled state;
345 SetFlippingOptions (me : mutable;
346 theCGroup : CGroup from Graphic3d;
347 theIsEnabled: Boolean from Standard;
348 theRefPlane : Ax2 from gp)
350 ---Purpose: sets the flipping to theIsEnabled state for the given graphic group.
352 ----------------------------------------
353 -- Category: Methods to create Text
354 -- for Purpose : see Graphic3d_Group.cdl
355 ----------------------------------------
358 ACGroup : CGroup from Graphic3d;
359 AText : CString from Standard;
360 APoint : Vertex from Graphic3d;
361 AHeight : Real from Standard;
362 AAngle : PlaneAngle from Quantity;
363 ATp : TextPath from Graphic3d;
364 AHta : HorizontalTextAlignment from Graphic3d;
365 AVta : VerticalTextAlignment from Graphic3d;
366 EvalMinMax : Boolean from Standard = Standard_True )
368 ---Purpose: call_togl_text
371 ACGroup : CGroup from Graphic3d;
372 AText : CString from Standard;
373 APoint : Vertex from Graphic3d;
374 AHeight : Real from Standard;
375 EvalMinMax : Boolean from Standard = Standard_True )
377 ---Purpose: call_togl_text
380 ACGroup : CGroup from Graphic3d;
381 AText : ExtendedString from TCollection;
382 APoint : Vertex from Graphic3d;
383 AHeight : Real from Standard;
384 AAngle : PlaneAngle from Quantity;
385 ATp : TextPath from Graphic3d;
386 AHta : HorizontalTextAlignment from Graphic3d;
387 AVta : VerticalTextAlignment from Graphic3d;
388 EvalMinMax : Boolean from Standard = Standard_True )
390 ---Purpose: call_togl_text
393 ACGroup : CGroup from Graphic3d;
394 AText : ExtendedString from TCollection;
395 APoint : Vertex from Graphic3d;
396 AHeight : Real from Standard;
397 EvalMinMax : Boolean from Standard = Standard_True )
399 ---Purpose: call_togl_text
401 ----------------------------------------
402 ---Category: Methods to create Triangle
403 -- for Purpose : see Graphic3d_Group.cdl
404 ----------------------------------------
406 PrimitiveArray( me : mutable;
407 ACGroup : CGroup from Graphic3d;
408 parray : PrimitiveArray from Graphic3d;
409 EvalMinMax : Boolean from Standard = Standard_True )
411 ---Purpose: call_togl_parray
413 UserDraw( me : mutable;
414 ACGroup : CGroup from Graphic3d;
415 AUserDraw : CUserDraw from Graphic3d )
417 ---Purpose: call_togl_userdraw
419 EnableVBO( me : mutable;
420 status : Boolean from Standard )
422 ---Purpose: enables/disables usage of OpenGL vertex buffer arrays while drawing primitiev arrays
425 theFreeBytes : out Size from Standard;
426 theInfo : out AsciiString from TCollection) returns Boolean from Standard is deferred;
427 ---Purpose: Returns information about GPU memory usage.
429 ----------------------------------------
430 ---Category: Methods to create Triedron
431 -- for Purpose : see Graphic3d_Group.cdl
432 ----------------------------------------
434 ZBufferTriedronSetup ( me : mutable;
435 XColor : NameOfColor from Quantity = Quantity_NOC_RED;
436 YColor : NameOfColor from Quantity = Quantity_NOC_GREEN;
437 ZColor : NameOfColor from Quantity = Quantity_NOC_BLUE1;
438 SizeRatio : Real from Standard = 0.8;
439 AxisDiametr : Real from Standard = 0.05;
440 NbFacettes : Integer from Standard = 12)
442 ---Purpose: call_togl_ztriedron_setup
444 TriedronDisplay ( me : mutable;
445 ACView : CView from Graphic3d;
446 APosition : TypeOfTriedronPosition from Aspect = Aspect_TOTP_CENTER;
447 AColor : NameOfColor from Quantity = Quantity_NOC_WHITE ;
448 AScale : Real from Standard = 0.02;
449 AsWireframe : Boolean from Standard = Standard_True )
451 ---Purpose: call_togl_triedron_display
454 TriedronErase ( me : mutable;
455 ACView : CView from Graphic3d)
457 ---Purpose: call_togl_triedron_erase
460 TriedronEcho ( me : mutable;
461 ACView : CView from Graphic3d;
462 AType : TypeOfTriedronEcho from Aspect = Aspect_TOTE_NONE )
464 ---Purpose: call_togl_triedron_echo
466 ---------------------------------
467 ---Category: Graduated trihedron
468 ---------------------------------
470 GraduatedTrihedronDisplay(me : mutable;
471 view : CView from Graphic3d;
472 cubic : CGraduatedTrihedron from Graphic3d)
473 ---Purpose: call_togl_graduatedtrihedron_display
476 GraduatedTrihedronErase(me : mutable;
477 view : CView from Graphic3d)
478 ---Purpose: call_togl_graduatedtrihedron_erase
481 GraduatedTrihedronMinMaxValues(me : mutable;
482 xmin : ShortReal from Standard;
483 ymin : ShortReal from Standard;
484 zmin : ShortReal from Standard;
485 xmax : ShortReal from Standard;
486 ymax : ShortReal from Standard;
487 zmax : ShortReal from Standard)
488 ---Purpose: call_togl_graduatedtrihedron_minmaxvalues
491 ----------------------------------
492 -- Category: Immediate mode methods
493 ----------------------------------
495 SetImmediateModeDrawToFront (me : mutable;
496 theCView : CView from Graphic3d;
497 theDrawToFrontBuffer : Boolean from Standard)
498 returns Boolean from Standard
500 ---Purpose: @param theDrawToFrontBuffer Advanced option to modify rendering mode:
501 -- 1. TRUE. Drawing immediate mode structures directly to the front buffer over the scene image.
502 -- Fast, so preferred for interactive work (used by default).
503 -- However these extra drawings will be missed in image dump since it is performed from back buffer.
504 -- Notice that since no pre-buffering used the V-Sync will be ignored and rendering could be seen
505 -- in run-time (in case of slow hardware) and/or tearing may appear.
506 -- So this is strongly recommended to draw only simple (fast) structures.
507 -- 2. FALSE. Drawing immediate mode structures to the back buffer.
508 -- The complete scene is redrawn first, so this mode is slower if scene contains complex data and/or V-Sync is turned on.
509 -- But it works in any case and is especially useful for view dump because the dump image is read from the back buffer.
510 -- @return previous mode.
512 DisplayImmediateStructure ( me : mutable;
513 theCView : CView from Graphic3d;
514 theCStructure : CStructure from Graphic3d )
516 ---Purpose: Display structure in immediate mode on top of general presentation
518 EraseImmediateStructure ( me : mutable;
519 theCView : CView from Graphic3d;
520 theCStructure : CStructure from Graphic3d )
522 ---Purpose: Erases immediate structure
524 -------------------------------
525 -- Category: Layer mode methods
526 -------------------------------
528 Layer ( me : mutable;
529 ACLayer : in out CLayer2d from Aspect )
531 ---Purpose: call_togl_layer2d
533 RemoveLayer ( me : mutable;
534 ACLayer : CLayer2d from Aspect )
536 ---Purpose: call_togl_removelayer2d
538 BeginLayer ( me : mutable;
539 ACLayer : CLayer2d from Aspect )
541 ---Purpose: call_togl_begin_layer2d
543 BeginPolygon2d ( me : mutable )
545 ---Purpose: call_togl_begin_polygon2d
547 BeginPolyline2d ( me : mutable )
549 ---Purpose: call_togl_begin_polyline2d
551 ClearLayer ( me : mutable;
552 ACLayer : CLayer2d from Aspect )
554 ---Purpose: call_togl_clear_layer2d
557 X : ShortReal from Standard;
558 Y : ShortReal from Standard )
560 ---Purpose: call_togl_draw2d
563 X : ShortReal from Standard;
564 Y : ShortReal from Standard )
566 ---Purpose: call_togl_edge2d
568 EndLayer ( me : mutable )
570 ---Purpose: call_togl_end_layer2d
572 EndPolygon2d ( me : mutable )
574 ---Purpose: call_togl_end_polygon2d
576 EndPolyline2d ( me : mutable )
578 ---Purpose: call_togl_end_polyline2d
581 X : ShortReal from Standard;
582 Y : ShortReal from Standard )
584 ---Purpose: call_togl_move2d
586 Rectangle ( me : mutable;
587 X, Y : ShortReal from Standard;
588 Width, Height : ShortReal from Standard )
590 ---Purpose: call_togl_rectangle2d
592 SetColor ( me : mutable;
593 R : ShortReal from Standard;
594 G : ShortReal from Standard;
595 B : ShortReal from Standard )
597 ---Purpose: call_togl_set_color
599 SetTransparency ( me : mutable;
600 ATransparency : ShortReal from Standard )
602 ---Purpose: call_togl_set_transparency
604 UnsetTransparency ( me : mutable )
606 ---Purpose: call_togl_unset_transparency
608 SetLineAttributes ( me : mutable;
609 Type : Integer from Standard;
610 Width : ShortReal from Standard )
612 ---Purpose: call_togl_set_line_attributes
615 SetTextAttributes ( me : mutable;
616 Font : CString from Standard;
617 Type : Integer from Standard;
618 R : ShortReal from Standard;
619 G : ShortReal from Standard;
620 B : ShortReal from Standard )
622 ---Purpose: Set text attributes for under-/overlayer.
623 -- <Font> argument defines the name of the font to be used,
624 -- <Type> argument defines the display type of the text,
625 -- <R> <G> <B> values define the color of decal or subtitle background.
626 -- To set the color of the text you can use the SetColor method.
629 AText : CString from Standard;
630 X, Y : ShortReal from Standard;
631 AHeight : ShortReal from Standard )
633 ---Purpose: call_togl_text2d
634 -- If AHeight < 0 default text height is used by driver (DefaultTextHeight method)
636 DefaultTextHeight( me )
637 returns ShortReal from Standard
642 AText : CString from Standard;
643 AHeight : ShortReal from Standard;
644 AWidth : in out ShortReal from Standard;
645 AnAscent : in out ShortReal from Standard;
646 ADescent : in out ShortReal from Standard )
648 ---Purpose: call_togl_textsize2d
650 SetBackFacingModel ( me : mutable;
651 aView : CView from Graphic3d )
653 ---Purpose: call_togl_backfacing
655 SetDepthTestEnabled( me; view : CView from Graphic3d;
656 isEnabled : Boolean from Standard )
658 ---Purpose: call_togl_depthtest
660 IsDepthTestEnabled( me; view : CView from Graphic3d )
661 returns Boolean from Standard is deferred;
662 ---Purpose: call_togl_isdepthtest
665 view : CView from Graphic3d;
667 width, height : Integer;
670 ---Purpose: Reads depths of shown pixels of the given
671 -- rectangle (glReadPixels with GL_DEPTH_COMPONENT)
673 FBOCreate( me : mutable;
674 view : CView from Graphic3d;
675 width, height : Integer from Standard )
676 returns PtrFrameBuffer from Graphic3d
678 ---Purpose: Generate offscreen FBO in the graphic library.
679 -- If not supported on hardware returns NULL.
681 FBORelease( me : mutable;
682 view : CView from Graphic3d;
683 fboPtr : in out PtrFrameBuffer from Graphic3d )
685 ---Purpose: Remove offscreen FBO from the graphic library
687 FBOGetDimensions( me : mutable;
688 view : CView from Graphic3d;
689 fboPtr : PtrFrameBuffer from Graphic3d;
690 width, height : out Integer from Standard;
691 widthMax, heightMax : out Integer from Standard )
693 ---Purpose: Read offscreen FBO configuration.
695 FBOChangeViewport( me : mutable;
696 view : CView from Graphic3d;
697 fboPtr : in out PtrFrameBuffer from Graphic3d;
698 width, height : Integer from Standard )
700 ---Purpose: Change offscreen FBO viewport.
702 BufferDump( me : mutable;
703 theCView : CView from Graphic3d;
704 theImage : in out PixMap from Image;
705 theBufferType : BufferType from Graphic3d )
706 returns Boolean from Standard
708 ---Purpose: Dump active rendering buffer into specified memory buffer.
710 SetGLLightEnabled( me; view : CView from Graphic3d;
711 isEnabled : Boolean from Standard )
713 ---Purpose: call_togl_gllight
715 IsGLLightEnabled( me; view : CView from Graphic3d )
716 returns Boolean from Standard is deferred;
717 ---Purpose: call_togl_isgllight
720 ACView : CView from Graphic3d;
721 ACUnderLayer : CLayer2d from Aspect;
722 ACOverLayer : CLayer2d from Aspect;
723 hPrnDC : Handle from Aspect;
724 showBackground : Boolean;
726 printAlgorithm : PrintAlgo from Aspect = Aspect_PA_STRETCH;
727 theScaleFactor : Real from Standard = 1.0 )
728 returns Boolean from Standard is deferred;
730 ---Purpose: print the contents of all layers of the view to the printer.
731 -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
732 -- <showBackground> : When set to FALSE then print the view without background color
733 -- (background is white)
734 -- else set to TRUE for printing with current background color.
735 -- <filename>: If != NULL, then the view will be printed to a file.
736 -- <printAlgorithm>: Select print algorithm: stretch, tile.
737 -- <theScaleFactor>: Scaling coefficient, used internally to scale the
738 -- printings accordingly to the scale factor selected in the printer
739 -- properties dialog.
740 -- Returns Standard_True if the data is passed to the printer, otherwise
741 -- Standard_False if the print operation failed due to the printer errors,
742 -- or insufficient system memory available.
743 ---Warning: Works only under Windows.
746 theFileName : CString from Standard;
747 theFormat : ExportFormat from Graphic3d;
748 theSortType : SortType from Graphic3d;
749 theWidth, theHeight : Integer from Standard;
750 theView : CView from Graphic3d;
751 theLayerUnder : CLayer2d from Aspect;
752 theLayerOver : CLayer2d from Aspect;
753 thePrecision : Real from Standard = 0.005;
754 theProgressBarFunc : Address from Standard = NULL;
755 theProgressObject : Address from Standard = NULL )
756 returns Boolean from Standard
759 -- Export scene into the one of the Vector graphics formats (SVG, PS, PDF...).
760 -- In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer).
761 -- Notice however that results may differ a lot and do not contain some elements.
763 AddZLayer( me : mutable;
764 theCView : CView from Graphic3d;
765 theLayerId : Integer from Standard )
767 ---Purpose: Add a new top-level z layer with ID <theLayerId> for
768 -- the view. Z layers allow drawing structures in higher layers
769 -- in foreground of structures in lower layers. To add a structure
770 -- to desired layer on display it is necessary to set the layer
771 -- ID for the structure.
773 RemoveZLayer( me : mutable;
774 theCView : CView from Graphic3d;
775 theLayerId : Integer from Standard )
777 ---Purpose: Remove Z layer from the specified view. All structures
778 -- displayed at the moment in layer will be displayed in default layer
779 -- ( the bottom-level z layer ). To unset layer ID from associated
780 -- structures use method UnsetZLayer (...).
782 UnsetZLayer( me : mutable;
783 theLayerId : Integer from Standard )
785 ---Purpose: Unset Z layer ID for all structures. The structure
786 -- indexes will be set to default layer ( the bottom-level z layer
789 ChangeZLayer( me : mutable;
790 theCStructure : CStructure from Graphic3d;
791 theLayerId : Integer from Standard )
793 ---Purpose: Change Z layer of a structure. The new z layer ID will
794 -- be used to define the associated layer for structure on display.
796 ChangeZLayer( me : mutable;
797 theCStructure : CStructure from Graphic3d;
798 theCView : CView from Graphic3d;
799 theNewLayerId : Integer from Standard )
801 ---Purpose: Change Z layer of a structure already presented in view.
804 theCStructure : CStructure from Graphic3d )
805 returns Integer from Standard is deferred;
806 ---Purpose: Get Z layer ID of structure. If the structure doesn't
807 -- exists in graphic driver, the method returns -1.
809 -----------------------------
810 -- Category: Internal methods
811 -----------------------------
814 AComment : CString from Standard;
815 AValue : Boolean from Standard );
818 ACGroup : CGroup from Graphic3d;
819 AField : Integer from Standard );
822 ACLight : CLight from Graphic3d;
823 AField : Integer from Standard );
826 ACPick : CPick from Graphic3d;
827 AField : Integer from Standard );
829 PrintCStructure ( me;
830 ACStructure : CStructure from Graphic3d;
831 AField : Integer from Standard );
834 ACView : CView from Graphic3d;
835 AField : Integer from Standard );
838 AFunc : CString from Standard );
841 AComment : CString from Standard;
842 AValue : Integer from Standard );
845 AFunc : CString from Standard;
846 AResult : Integer from Standard );
849 AComment : CString from Standard;
850 AValue : ShortReal from Standard );
853 AComment : CString from Standard;
854 AMatrix : Array2OfReal from TColStd )
855 raises TransformError from Graphic3d;
858 AComment : CString from Standard;
859 AString : CString from Standard );
861 SetTrace ( me : mutable;
862 ALevel : Integer from Standard )
866 returns Integer from Standard
869 --ListOfAvalableFontNames( me;
870 -- lst: out NListOfHAsciiString from Graphic3d )
871 -- returns Boolean from Standard
873 -- Purpose: Initialize list of names of avalable system fonts
874 -- returns Standard_False if fails
875 -- ABD Integration support of system fonts (using FTGL and FreeType)
877 GetDisplayConnection (me)
878 returns DisplayConnection_Handle from Aspect;
879 ---C++: return const &
881 ---Purpose: returns Handle to display connection
884 returns Boolean from Standard;
885 -- Purpose: @return Standard_True in cases when the last view has been removed but some objects still present.
887 ResetDeviceLostFlag (me: mutable);
888 -- Purpose: Resets DeviceLostFlag to default (Standard_False) state.
892 MyTraceLevel : Integer from Standard is protected;
893 MySharedLibrary : SharedLibrary from OSD is protected;
894 myDisplayConnection: DisplayConnection_Handle from Aspect is protected;
895 myDeviceLostFlag : Boolean from Standard is protected;
897 end GraphicDriver from Graphic3d;