0022337: V3d_View::Print crashes in OCCT 6.5.0
[occt.git] / src / Visual3d / Visual3d_View.cdl
1 --
2 -- File:        Visual3d_View.cdl
3 -- Created:     Mardi 17 Septembre 1991
4 -- Author:      NW,JPB,CAL
5 --              05-97: CAL; Ajout du Clear sur les TOS_COMPUTED.
6 --              10-97: CAL; Retrait des DataStructure.
7 --              11-97: CAL; Retrait de la dependance avec math.Calcul developpe.
8 --              11-97: CAL; Ajout de NumberOfDisplayedStructures
9 --              05-98: CAL; Perfs. Connection entre structures COMPUTED.
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 Visual3d)
13 --              02-12-98: S4062. Ajout des layers.
14 --              13-09-99: GG; GER61454 Adds LightLimit() and PlaneLimit() methods
15 --              10-11-99: GG; Add PRO19603 Redraw( area ) method
16 --              14-01-00: GG; Add IMP140100 ViewManager() method
17 --              25-01-00: EUG: G003
18 --                        -> Add backfacing management methods
19 --                             SetBackfacingModel() & BackfacingModel().
20 --                        -> Change SetAnimationModeIsOn() adding degenerate flag
21 --                        -> SetDegenerateModeOn() and Off() become private.
22 --                             Use instead SetComputedMode() for managing
23 --                              HLR in the view.
24 --              THA  - 17/08/00 Thomas HARTL <t-hartl@muenchen.matra-dtv.fr>
25 --                              -> Add Print methods (works only under Windows).-
26 --              GG - RIC120302 Add NEW SetWindow method.
27 --
28 --              30-04-02: JMB; MyDisplayedStructure is now a Map instead
29 --                             of a Set. Improves performance of Selection
30 --                             mechanisms
31 --
32
33 --              SAV  - 22/10/01 -> Add EnableDepthTest() & IsDepthTestEnabled() methods.
34 --              SAV  - 25/10/01 -> Add EnableGLLight() & IsGLLightEnabled() methods.
35 --              VSV - 28/05/02: ZBUFFER mode of Trihedron
36 --              SAV  - 23/12/02 Added methods too set background image
37 --
38 ---Copyright:   MatraDatavision 1991,1992,1993,1994,2001
39 --
40
41 class View from Visual3d inherits DataStructureManager from Graphic3d
42
43         ---Version:
44
45         ---Purpose: Creation and edition of a view in a 3D visualiser.
46         --          A 3D view is composed of an "orientation" part defined
47         --          by the position of the observer, the direction of view,
48         --          and a "mapping" part defined by the type of projection
49         --          (parallel or perspective) and by the window-viewport
50         --          couple which allows passage from the projected coordinate
51         --          space into the screen space.
52         -- Summary of 3D Viewing
53         -- To define a view, you must define:
54         -- -   The view orientation transformation
55         -- -   The view mapping transformation
56         -- -   The view representation.
57         --  To activate a view, you must define:
58         -- -   The associated window.
59
60
61 uses
62
63     Array2OfReal            from TColStd,
64
65     Background              from Aspect,
66     GradientBackground      from Aspect,
67     GraphicDriver           from Aspect,
68     Window                  from Aspect,
69     TypeOfUpdate            from Aspect,
70     TypeOfHighlightMethod   from Aspect,
71     TypeOfTriedronEcho      from Aspect,
72     TypeOfTriedronPosition  from Aspect,
73     Handle                  from Aspect,
74     RenderingContext        from Aspect,
75     GraphicCallbackProc     from Aspect,
76     ColorScale              from Aspect,
77     PrintAlgo               from Aspect,
78
79     CRawBufferData          from Image,
80
81     CBitFields8             from Graphic3d,
82     CView                   from Graphic3d,
83     GraphicDriver           from Graphic3d,
84     PtrFrameBuffer          from Graphic3d,
85     Plotter                 from Graphic3d,
86     Structure               from Graphic3d,
87     SequenceOfStructure     from Graphic3d,
88     MapOfStructure          from Graphic3d,
89
90     ContextView             from Visual3d,
91     ClipPlane               from Visual3d,
92     Layer                   from Visual3d,
93     Light                   from Visual3d,
94     SetOfClipPlane          from Visual3d,
95     SetOfLight              from Visual3d,
96     TypeOfAnswer            from Visual3d,
97     ViewMapping             from Visual3d,
98     ViewOrientation         from Visual3d,
99     ViewManager             from Visual3d,
100     ViewManagerPtr          from Visual3d,
101
102     TypeOfBackfacingModel   from Visual3d,
103
104     NameOfColor             from Quantity,
105     FillMethod              from Aspect,
106     GradientFillMethod      from Aspect,
107     ExportFormat            from Graphic3d,
108     SortType                from Graphic3d,
109     Color                   from Quantity,
110     FontAspect              from OSD,
111     AsciiString             from TCollection,
112     ExtendedString          from TCollection,
113     CGraduatedTrihedron     from Graphic3d
114
115 raises
116     TransformError          from Visual3d,
117     ViewDefinitionError     from Visual3d
118
119 is
120
121         ----------------------------------------------
122         -- Summary of 3D Viewing                    --
123         --                                          --
124         -- To define a view, you must define        --
125         --                                          --
126         --      The view orientation transformation --
127         --      The view mapping transformation     --
128         --      The view representation.            --
129         --                                          --
130         -- To activate a view, you must define      --
131         --                                          --
132         --      The associated window.              --
133         ----------------------------------------------
134
135         Create ( AManager       : mutable ViewManager from Visual3d )
136                 returns mutable View from Visual3d;
137         ---Level: Public
138         ---Purpose: Creates a view in the viewer <AManager> with a default
139         --          orientation and a default mapping.
140
141         Create ( AManager       : mutable ViewManager from Visual3d;
142                  VO             : ViewOrientation from Visual3d;
143                  VM             : ViewMapping from Visual3d;
144                  CTX            : ContextView from Visual3d )
145                 returns mutable View from Visual3d;
146         ---Level: Public
147         ---Purpose: Creates a view in the viewer <AManager> with the orientation
148         --          <VO>, the mapping <VM>, and the context<CTX>.
149
150         ---------------------------------------------------
151         -- Category: Methods to modify the class definition
152         ---------------------------------------------------
153
154         Activate ( me   : mutable )
155         ---Level: Public
156         ---Purpose: Activates the view <me>.
157         --          Map the associated window on the screen and
158         --          post the view in this window.
159         --  Category: Methods to modify the class definition
160         --  Warning: Raises ViewDefinitionError if the associated
161         --          window isn't defined.
162         raises ViewDefinitionError from Visual3d is static;
163
164         Deactivate ( me : mutable )
165         ---Level: Public
166         ---Purpose: Deactivates the view <me>.
167         --          Unmap the associated window on the screen and
168         --          unpost the view in this window.
169         --  Category: Methods to modify the class definition
170         --  Warning: Raises ViewDefinitionError if the associated
171         --          window isn't defined.
172         raises ViewDefinitionError from Visual3d is static;
173
174         Destroy ( me    : mutable )
175                 is redefined;
176         ---Level: Public
177         ---Purpose: Deletes and erases the view <me>.
178         ---Category: Methods to modify the class definition
179         ---C++: alias ~
180
181         Redraw ( me     : mutable )
182                 is static;
183         ---Level: Public
184         ---Purpose: Updates screen in all cases.
185         ---Category: Methods to modify the class definition
186
187         Redraw ( me     : mutable; x,y,width,height: Integer from Standard )
188                 is static;
189         ---Level: Public
190         ---Purpose: Updates screen area in all cases.
191         -- area is given by his xy min corner and size in pixel coordinates
192         ---Category: Methods to modify the class definition
193
194         Redraw ( me     : mutable;
195                  AnUnderLayer   : Layer from Visual3d;
196                  AnOverLayer    : Layer from Visual3d )
197                 is static;
198         ---Level: Internal
199         ---Purpose: Updates screen in all cases.
200         ---Category: Methods to modify the class definition
201
202         Redraw ( me     : mutable;
203                  AnUnderLayer   : Layer from Visual3d;
204                  AnOverLayer    : Layer from Visual3d;
205                  x,y,width,height: Integer from Standard )
206                 is static;
207         ---Level: Internal
208         ---Purpose: Updates screen area in all cases.
209         -- area is given by his xy min corner and size in pixel coordinates
210         ---Category: Methods to modify the class definition
211
212         Remove ( me     : mutable )
213                 is static;
214         ---Level: Public
215         ---Purpose: Deletes and erases the view <me>.
216         --  Warning: No more graphic operations in <me> after this call.
217         ---Category: Methods to modify the class definition
218
219         Resized ( me    : mutable )
220         ---Level: Public
221         ---Purpose: Updates the view <me> after the modification
222         --          of the associated window.
223         --  Category: Methods to modify the class definition
224         --  Warning: Raises ViewDefinitionError if the associated
225         --          window isn't defined.
226         raises ViewDefinitionError from Visual3d is static;
227
228         SetBackground ( me      : mutable;
229                         ABack   : Background from Aspect )
230         ---Level: Internal
231         ---Purpose: Modifies the default window background.
232         --  Category: Methods to modify the class definition
233         --  Warning: Raises ViewDefinitionError if the associated
234         --          window isn't defined.
235         raises ViewDefinitionError from Visual3d is static;
236
237         SetBackgroundImage( me : mutable; FileName : CString from Standard;
238                                           FillStyle : FillMethod from Aspect;
239                                           update    : Boolean from Standard )
240         ---Level: Internal
241         ---Purpose:
242         --  Category: Methods to modify the class definition
243         --  Warning: Raises ViewDefinitionError if the associated
244         --          window isn't defined.
245         raises ViewDefinitionError from Visual3d is static;
246
247         SetBgImageStyle( me : mutable; FillStyle : FillMethod from Aspect;
248                                        update    : Boolean from Standard )
249         ---Level: Internal
250         ---Purpose:
251         --  Category: Methods to modify the class definition
252         --  Warning: Raises ViewDefinitionError if the associated
253         --          window isn't defined.
254         raises ViewDefinitionError from Visual3d is static;
255
256         SetGradientBackground ( me      : mutable;
257                                 ABack   : GradientBackground from Aspect;
258                                 update  : Boolean from Standard )
259         ---Level: Internal
260         ---Purpose: Modifies the gradient window background.
261         --  Category: Methods to modify the class definition
262         --  Warning: Raises ViewDefinitionError if the associated
263         --          window isn't defined.
264         raises ViewDefinitionError from Visual3d is static;
265
266         SetBgGradientStyle( me : mutable;
267                             FillStyle : GradientFillMethod from Aspect;
268                             update    : Boolean from Standard )
269         ---Level: Internal
270         ---Purpose:
271         --  Category: Methods to modify the class definition
272         --  Warning: Raises ViewDefinitionError if the associated
273         --          window isn't defined.
274         raises ViewDefinitionError from Visual3d is static;
275
276         SetBackFacingModel ( me     : mutable;
277                         aModel : TypeOfBackfacingModel from Visual3d
278         ) is static;
279         ---Level   : Public
280         ---Purpose : Manages display of the back faces
281
282         BackFacingModel ( me )
283         returns TypeOfBackfacingModel from Visual3d is static;
284         ---Level   : Public
285         ---Purpose : Returns current state of the back faces display
286
287         SetContext ( me         : mutable;
288                      CTX        : ContextView from Visual3d )
289                 is static;
290         ---Level: Public
291         ---Purpose: Sets the context <CTX> in the view <me>.
292         ---Category: Methods to modify the class definition
293
294         SetTransform ( me       : mutable;
295                        AMatrix  : Array2OfReal from TColStd )
296         ---Level: Internal
297         ---Purpose: Sets the transformation matrix that is applied
298         --          to <MyViewOrientation> field of the view <me>.
299         --
300         --          <AMatrix> is defined as a 4*4 real matrix.
301         --
302         --              -------------------
303         --              | a11 a12 a13  t1 |
304         --              | a21 a22 a23  t2 |
305         --              | a31 a32 a33  t3 |
306         --              |  0   0   0   1  |
307         --              -------------------
308         --
309         --  Category: Methods to modify the class definition
310         --  Warning: Raises TransformError if the matrix isn't a 4x4 matrix.
311         raises TransformError from Visual3d is static;
312
313         SetViewMapping ( me     : mutable;
314                          VM     : ViewMapping from Visual3d )
315                 is static;
316         ---Level: Public
317         ---Purpose: Modifies the mapping of the view <me>.
318         ---Category: Methods to modify the class definition
319
320         SetViewMappingDefault ( me      : mutable )
321                 is static;
322         ---Level: Public
323         ---Purpose: Saves the current mapping which will be the
324         --          reference value for the reset of the mapping
325         --          done by the ViewmappingReset method.
326         ---Category: Methods to modify the class definition
327
328         SetViewOrientation ( me : mutable;
329                              VO : ViewOrientation from Visual3d )
330                 is static;
331         ---Level: Public
332         ---Purpose: Modifies the orientation of <me>.
333         ---Category: Methods to modify the class definition
334
335         SetViewOrientationDefault ( me  : mutable )
336                 is static;
337         ---Level: Public
338         ---Purpose: Saves the current orientation which will be the
339         --          reference value for the reset of the orientation
340         --          done by the ViewOrientationReset method.
341         ---Category: Methods to modify the class definition
342
343         SetWindow ( me          : mutable;
344                     AWindow     : Window from Aspect )
345         ---Level: Public
346         ---Purpose: Associates the window <AWindow> to the view <me>.
347         --          No new association if the window is already defined.
348         --  Category: Methods to modify the class definition
349         --  Warning: Raises ViewDefinitionError if it is impossible
350         --          to associate a view and a window.
351         --          (association already done or another problem)
352         --          Modifies the viewmapping of the associated view
353         --          when it calls the SetRatio method.
354         raises ViewDefinitionError from Visual3d is static;
355         ---Purpose:
356         --          After this call, each view is mapped in an unique window.
357         --
358         -- Programming example :
359         --
360         -- An example when we have 1 view and 1 window
361         -- -------------------------------------------
362         --
363         -- // Define a graphic device
364         -- Handle(Graphic3d_GraphicDevice) GD =
365         --                      new Graphic3d_GraphicDevice ("dummy:0.0");
366         --
367         -- // Define a view manager
368         -- Handle(Visual3d_ViewManager) VM = new Visual3d_ViewManager (GD);
369         --
370         -- // Define a view
371         -- Handle(Visual3d_View) V = new Visual3d_View (VM);
372         --
373         -- // Define a window
374         -- Handle(Xw_Window) W = new Xw_Window
375         --      (GD, "Graphic View 1", 0.695, 0.695, 0.600, 0.600,
376         --              Xw_WQ_3DQUALITY, Quantity_NOC_MATRAGRAY);
377         --
378         -- // Associate the view and the window
379         -- V->SetWindow (W);
380         --
381         -- // Map the window
382         -- W->Map ();
383         --
384         -- // Activate the view
385         -- V->Activate ();
386         --
387
388         SetWindow ( me          : mutable;
389                     AWindow     : Window from Aspect;
390                     AContext: RenderingContext from Aspect;
391                     ADisplayCB: GraphicCallbackProc from Aspect;
392                     AClientData: Address from Standard
393                   )
394         ---Level: Public
395         ---Purpose: Associates the window <AWindow> and context <AContext>
396         --          to the view <me>.
397         --          If <AContext> is not NULL the graphic context is used
398         --          directly to draw something in this view.
399         --          Otherwise an internal context is created.
400         --          If <ADisplayCB> is not NULL then a user display CB is
401         --          call at the end of the OCC graphic traversal and just
402         --          before the swap of buffers. The <aClientData> is pass
403         --          to this call back.
404         --          No new association if the window is already defined.
405         --  Category: Methods to modify the class definition
406         --  Warning: Raises ViewDefinitionError if it is impossible
407         --          to associate a view and a window.
408         --          (association already done or another problem)
409         --          Modifies the viewmapping of the associated view
410         --          when it calls the SetRatio method.
411         raises ViewDefinitionError from Visual3d is static;
412         ---Purpose:
413         --          After this call, each view is mapped in an unique window.
414         --
415         -- Programming example :
416         --
417         -- An example when we have 1 view and 1 widget
418         -- -------------------------------------------
419         --
420         -- // Define a graphic device
421         -- Handle(Graphic3d_GraphicDevice) GD =
422         --                      new Graphic3d_GraphicDevice ("dummy:0.0");
423         --
424         -- // Define a view manager
425         -- Handle(Visual3d_ViewManager) VM = new Visual3d_ViewManager (GD);
426         --
427         -- // Define a view
428         -- Handle(Visual3d_View) V = new Visual3d_View (VM);
429         --
430         -- // Define a widget
431         -- Widget DA = GLwCreateMDrawingArea (Widget parent, char *name,
432         --                             ArgList arglist, Cardinal argcount);
433         -- Handle(Xw_Window) W = new Xw_Window(DA);
434         --
435         -- // Define the graphic context
436         -- GLXContext CTX = glXCreateContext(...)
437         -- // Define the graphic call back and client data
438         -- Handle(Object_View) myObject = new Object_View(...);
439         -- static void DisplayCallback( Window w, XtPointer client_data,
440         --                      XtPointer call_data)
441         -- { .... }
442         -- // Associate the view and the widget
443         -- V->SetWindow (W, CTX, DisplayCallback, myObject);
444         --
445         -- // Activate the view
446         -- V->Activate ();
447         --
448
449         Update ( me     : mutable )
450                 is static;
451         ---Level: Public
452         ---Purpose: Updates screen in function of modifications of
453         --          the structures.
454         ---Category: Methods to modify the class definition
455
456         Update ( me             : mutable;
457                  AnUnderLayer   : Layer from Visual3d;
458                  AnOverLayer    : Layer from Visual3d )
459                 is static;
460         ---Level: Internal
461         ---Purpose: Updates screen in function of modifications of
462         --          the structures.
463         ---Category: Methods to modify the class definition
464
465         ViewMappingReset ( me   : mutable )
466                 is static;
467         ---Level: Public
468         ---Purpose: Sets the value of the mapping to be the same as
469         --          the mapping saved by the SetViewMappingDefaut method.
470         ---Category: Methods to modify the class definition
471
472         ViewOrientationReset ( me       : mutable )
473                 is static;
474         ---Level: Public
475         ---Purpose: Sets the value of the orientation to be the same as the
476         --          orientation saved by the SetViewOrientationDefaut method.
477         ---Category: Methods to modify the class definition
478
479         ---------------------------------------------------
480         -- Category: Methods to modify the class definition
481         --           Animation Mode
482         ---------------------------------------------------
483
484         SetAnimationModeOn ( me : mutable;
485                 degenerate : Boolean from Standard = Standard_False )
486                 is static;
487         ---Level: Advanced
488         ---Purpose: Activates animation mode with an optional degeneration
489         --      according to the TypeOfDegenerateModel of each graphic structure
490         --      When the animation mode is activated in the view,
491         --      all Graphic3d_Structure are stored in a graphic object.
492         --  Warning: only ONE view may have animation mode turned on
493         --      at same time.
494         ---Category: Methods to modify the class definition
495
496         SetAnimationModeOff ( me        : mutable )
497                 is static;
498         ---Level: Advanced
499         ---Purpose: Deactivates the animation mode.
500         ---Category: Methods to modify the class definition
501
502         AnimationModeIsOn ( me )
503                 returns Boolean from Standard
504                 is static;
505         ---Level: Advanced
506         ---Purpose: Returns the activity of the animation mode.
507         ---Category: Inquire methods
508
509         ---------------------------------------------------
510         -- Category: Methods to modify the class definition
511         --           Degenerate Mode
512         ---------------------------------------------------
513
514         SetDegenerateModeOn ( me        : mutable )
515                 is static private;
516         ---Level: Advanced
517         ---Purpose: Activates degenerate mode.
518         --      When the degenerate mode is activated in the view,
519         --      all Graphic3d_Structure with the type TOS_COMPUTED
520         --      displayed in this view are not computed.
521         ---Category: Methods to modify the class definition
522
523         SetDegenerateModeOff ( me       : mutable )
524                 is static private;
525         ---Level: Advanced
526         ---Purpose: Deactivates the degenerate mode.
527         ---Category: Methods to modify the class definition
528
529         DegenerateModeIsOn ( me )
530                 returns Boolean from Standard
531                 is static;
532         ---Level: Advanced
533         ---Purpose: Returns the activity of the degenerate mode.
534         ---Category: Inquire methods
535
536         SetComputedMode ( me : mutable; aMode : Boolean from Standard ) is static;
537         ---Level: Advanced
538         ---Purpose: Switches computed HLR mode in the view
539         ---Category: Methods to modify the class definition
540
541         ComputedMode ( me ) returns Boolean from Standard is static;
542         ---Level: Advanced
543         ---Purpose: Returns the computed HLR mode state
544         ---Category: Inquire methods
545
546         ---------------------------------------------------
547         -- Category: Methods to modify the class definition
548         --           Triedron methods
549         ---------------------------------------------------
550
551         ZBufferTriedronSetup ( me  : mutable;
552                                XColor  : NameOfColor from Quantity = Quantity_NOC_RED;
553                                YColor  : NameOfColor from Quantity = Quantity_NOC_GREEN;
554                                ZColor  : NameOfColor from Quantity = Quantity_NOC_BLUE1;
555                                SizeRatio : Real from Standard = 0.8;
556                                AxisDiametr : Real from Standard = 0.05;
557                                NbFacettes  : Integer from Standard = 12)
558                  is static;
559         ---Level: Advanced
560         ---Purpose: Customization of the ZBUFFER Triedron.
561         ---         Initializes Colors of X Y and axis
562         ---         Scale ratio defines decreasing of trihedron size when
563         ---         its position is out of a View
564
565         TriedronDisplay ( me            : mutable;
566                           APosition     : TypeOfTriedronPosition from Aspect  = Aspect_TOTP_CENTER;
567                           AColor        : NameOfColor from Quantity = Quantity_NOC_WHITE ;
568                           AScale        : Real from Standard  =  0.02;
569                           AsWireframe   : Boolean from Standard = Standard_True )
570                 is static;
571         ---Level: Public
572         ---Purpose: Display of the Triedron.
573         ---         Initialize position, color and length of Triedron axes.
574         ---         The scale is a percent of the window width.
575         ---         If AsWireframe is FALSE triedron is shown in shaded mode
576         ---         AColor is not considered for ZBUFFER mode
577         ---Category:
578
579         TriedronErase ( me              : mutable )
580                 is static;
581         ---Level: Public
582         ---Purpose: Erases the Triedron.
583         ---Category:
584
585         TriedronEcho ( me       : mutable;
586                        AType    : TypeOfTriedronEcho from Aspect  = Aspect_TOTE_NONE )
587                 is static;
588         ---Level: Public
589         ---Purpose: Highlights the echo zone of the Triedron.
590         ---Category:
591
592     ------------------------------------------
593     ---Category: Graduated trihedron
594     ------------------------------------------
595
596     GetGraduatedTrihedron(me;
597                           -- Names of axes --
598                           xname, yname, zname : out ExtendedString from TCollection;
599                           -- Draw names --
600                           xdrawname, ydrawname, zdrawname : out Boolean from Standard;
601                           -- Draw values --
602                           xdrawvalues, ydrawvalues, zdrawvalues : out Boolean from Standard;
603                           -- Draw grid --
604                           drawgrid : out Boolean from Standard;
605                           -- Draw axes --
606                           drawaxes : out Boolean from Standard;
607                           -- Number of splits along axes --
608                           nbx, nby, nbz : out Integer from Standard;
609                           -- Offset for drawing values --
610                           xoffset, yoffset, zoffset : out Integer from Standard;
611                           -- Offset for drawing names of axes --
612                           xaxisoffset, yaxisoffset, zaxisoffset : out Integer from Standard;
613                           -- Draw tickmarks --
614                           xdrawtickmarks, ydrawtickmarks, zdrawtickmarks : out Boolean from Standard;
615                           -- Length of tickmarks --
616                           xtickmarklength, ytickmarklength, ztickmarklength : out Integer from Standard;
617                           -- Grid color --
618                           gridcolor : out Color from Quantity;
619                           -- Colors of axis names --
620                           xnamecolor, ynamecolor, znamecolor : out Color from Quantity;
621                           -- Colors of axis and values --
622                           xcolor, ycolor, zcolor : out Color from Quantity;
623                           -- Name of font for names of axes --
624                           fontOfNames : out AsciiString from TCollection;
625                           -- Style of names of axes --
626                           styleOfNames : out FontAspect from OSD;
627                           -- Size of names of axes --
628                           sizeOfNames : out Integer from Standard;
629                           -- Name of font for values --
630                           fontOfValues : out AsciiString from TCollection;
631                           -- Style of values --
632                           styleOfValues : out FontAspect from OSD;
633                           -- Size of values --
634                           sizeOfValues : out Integer from Standard)
635     returns Boolean from Standard
636     is static;
637     ---Purpose: Returns data of a graduated trihedron if displayed (return value is True)
638
639     GraduatedTrihedronDisplay(me : mutable;
640                               -- Names of axes --
641                               xname, yname, zname : ExtendedString from TCollection;
642                               -- Draw names --
643                               xdrawname, ydrawname, zdrawname : Boolean from Standard;
644                               -- Draw values --
645                               xdrawvalues, ydrawvalues, zdrawvalues : Boolean from Standard;
646                               -- Draw grid --
647                               drawgrid : Boolean from Standard;
648                               -- Draw axes --
649                               drawaxes : Boolean from Standard;
650                               -- Number of splits along axes --
651                               nbx, nby, nbz : Integer from Standard;
652                               -- Offset for drawing values --
653                               xoffset, yoffset, zoffset : Integer from Standard;
654                               -- Offset for drawing names of axes --
655                               xaxisoffset, yaxisoffset, zaxisoffset : Integer from Standard;
656                               -- Draw tickmarks --
657                               xdrawtickmarks, ydrawtickmarks, zdrawtickmarks : Boolean from Standard;
658                               -- Length of tickmarks --
659                               xtickmarklength, ytickmarklength, ztickmarklength : Integer from Standard;
660                               -- Grid color --
661                               gridcolor : Color from Quantity;
662                               -- Colors of axis names --
663                               xnamecolor, ynamecolor, znamecolor : Color from Quantity;
664                               -- Colors of axis and values --
665                               xcolor, ycolor, zcolor : Color from Quantity;
666                               -- Name of font for names of axes --
667                               fontOfNames : AsciiString from TCollection;
668                               -- Style of names of axes --
669                               styleOfNames : FontAspect from OSD;
670                               -- Size of names of axes --
671                               sizeOfNames : Integer from Standard;
672                               -- Name of font for values --
673                               fontOfValues : AsciiString from TCollection;
674                               -- Style of values --
675                               styleOfValues : FontAspect from OSD;
676                               -- Size of values --
677                               sizeOfValues : Integer from Standard)
678     ---Purpose: Displays a graduated trihedron.
679     is static;
680
681     GraduatedTrihedronErase(me : mutable)
682     ---Purpose: Erases a graduated trihedron from the view.
683     is static;
684
685         ----------------------------
686         ---Category: Inquire methods
687         ----------------------------
688
689         Background ( me )
690                 returns Background from Aspect
691                 is static;
692         ---Level: Internal
693         ---Purpose: Returns the value of the default window background.
694
695         GradientBackground ( me )
696                 returns GradientBackground from Aspect
697                 is static;
698         ---Level: Internal
699         ---Purpose: Returns the value of the window background.
700
701         ContainsFacet ( me )
702                 returns Boolean from Standard
703                 is static;
704         ---Level: Public
705         ---Purpose: Returns Standard_True if one of the structures
706         --          displayed in the view <me> contains Polygons,
707         --          Triangles or Quadrangles.
708
709         ContainsFacet ( me;
710                         ASet    : MapOfStructure from Graphic3d )
711                 returns Boolean from Standard
712                 is static;
713         ---Level: Public
714         ---Purpose: Returns Standard_True if one of the structures
715         --          in the set <ASet> contains Polygons, Triangles
716         --          or Quadrangles.
717
718         Context ( me )
719                 returns ContextView from Visual3d
720                 is static;
721         ---Level: Public
722         ---Purpose: Returns the current context of the view <me>.
723         ---C++: return const &
724
725         DisplayedStructures ( me; SG: in out MapOfStructure from Graphic3d )
726                 is static;
727         ---Level: Internal
728         ---Purpose: Returns the set of structures displayed in
729         --          the view <me>.
730
731         IsActive ( me )
732                 returns Boolean from Standard
733                 is static;
734         ---Level: Public
735         ---Purpose: Returns the activity flag of the view <me>.
736
737         IsDefined ( me )
738                 returns Boolean from Standard
739                 is static;
740         ---Level: Public
741         ---Purpose: Returns True if the window associated to the view
742         --          <me> is defined.
743
744         IsDeleted ( me )
745                 returns Boolean from Standard
746                 is static;
747         ---Level: Public
748         ---Purpose: Returns Standard_True is the view <me> is deleted.
749         --          <me> is deleted after the call Remove (me).
750         ---Category: Inquire methods
751
752         MinMaxValues ( me;
753                        XMin, YMin, ZMin : out Real from Standard;
754                        XMax, YMax, ZMax : out Real from Standard )
755                 is static;
756         ---Level: Public
757         ---Purpose: Returns the coordinates of the boundary box of all
758         --          structures displayed in the view <me>.
759
760         MinMaxValues ( me;
761                        ASet             : MapOfStructure from Graphic3d;
762                        XMin, YMin, ZMin : out Real from Standard;
763                        XMax, YMax, ZMax : out Real from Standard )
764                 is static;
765         ---Level: Public
766         ---Purpose: Returns the coordinates of the boundary box of all
767         --          structures in the set <ASet>.
768
769         MinMaxValues ( me : mutable;
770                        XMin, YMin       : out Real from Standard;
771                        XMax, YMax       : out Real from Standard )
772                 is static;
773         ---Level: Public
774         ---Purpose: Returns the coordinates of the projection of the
775         --          boundary box of all structures displayed in the view <me>.
776
777         MinMaxValues ( me : mutable;
778                        ASet             : MapOfStructure from Graphic3d;
779                        XMin, YMin       : out Real from Standard;
780                        XMax, YMax       : out Real from Standard )
781                 is static;
782         ---Level: Public
783         ---Purpose: Returns the coordinates of the projection of the
784         --          boundary box of all structures in the set <ASet>.
785
786         NumberOfDisplayedStructures ( me )
787                 returns Integer from Standard
788                 is static;
789         ---Level: Internal
790         ---Purpose: Returns number of displayed structures in
791         --          the view <me>.
792
793         Projects ( me : mutable;
794                    AX, AY, AZ           : Real from Standard;
795                    APX, APY, APZ        : out Real from Standard )
796                 is static;
797         ---Level: Public
798         ---Purpose: Returns the coordinates of the projection of the
799         --          3d coordinates <AX>, <AY>, <AZ>.
800
801         Transform ( me )
802                 returns Array2OfReal from TColStd
803                 is static;
804         ---Level: Public
805         ---Purpose: Returns the transformation associated to the view <me>
806         ---C++: return const &
807
808         ViewMapping ( me )
809                 returns ViewMapping from Visual3d
810                 is static;
811         ---Level: Public
812         ---Purpose: Returns the current mapping of the view <me>.
813
814         ViewMappingDefault ( me )
815                 returns ViewMapping from Visual3d
816                 is static;
817         ---Level: Public
818         ---Purpose: Returns the current reset mapping of the view <me>.
819
820         ViewOrientation ( me )
821                 returns ViewOrientation from Visual3d
822                 is static;
823         ---Level: Public
824         ---Purpose: Returns the current orientation of the view <me>.
825
826         ViewOrientationDefault ( me )
827                 returns ViewOrientation from Visual3d
828                 is static;
829         ---Level: Public
830         ---Purpose: Returns the current reset orientation of the view <me>.
831
832         Window ( me )
833                 returns Window from Aspect
834         ---Level: Public
835         ---Purpose: Returns the window associated to the view <me>.
836         --  Warning: Raises ViewDefinitionError if the associated
837         --          window isn't defined.
838         raises ViewDefinitionError from Visual3d is static;
839
840         LightLimit ( me ) returns Integer is static;
841         ---Level: Public
842         ---Purpose: Returns the MAX number of light associated to the view <me>.
843
844         PlaneLimit ( me ) returns Integer is static;
845         ---Level: Public
846         ---Purpose: Returns the MAX number of clipping planes
847         -- associated to the view <me>.
848
849         ViewManager ( me ) returns ViewManager from Visual3d is static;
850         ---Level: Advanced
851         ---Purpose: Returns the view manager handle which manage this view
852
853         ----------------------------
854         -- Category: Private methods
855         ----------------------------
856
857         AcceptDisplay ( me;
858                         AStructure      : Structure from Graphic3d )
859                 returns TypeOfAnswer from Visual3d
860                 is static private;
861         ---Level: Internal
862         ---Purpose: Is it possible to display the structure
863         --          <AStructure> in the view <me> ?
864         ---Category: Private methods
865
866         ReCompute ( me  : mutable;
867                     AStructure  : Structure from Graphic3d );
868         ---Level: Advanced
869         ---Purpose: Computes the new presentation of the
870         --          structure <AStructure> displayed in <me>
871         --          with the type Graphic3d_TOS_COMPUTED.
872         ---Category: Private methods
873
874         Compute ( me    : mutable ) is static private;
875         ---Level: Internal
876         ---Purpose: Computes the new presentation of the
877         --          Structures displayed in <me> with the type
878         --          Graphic3d_TOS_COMPUTED.
879         ---Category: Private methods
880
881         ChangeDisplayPriority ( me              : mutable;
882                                 AStructure      : Structure from Graphic3d;
883                                 OldPriority     : Integer from Standard;
884                                 NewPriority     : Integer from Standard )
885                 is static private;
886         ---Level: Internal
887         ---Purpose: Changes the display priority of the structure <AStructure>.
888         ---Category: Private methods
889
890         Clear ( me              : mutable;
891                 AStructure      : Structure from Graphic3d;
892                 WithDestruction : Boolean from Standard )
893                 is static private;
894         ---Level: Internal
895         ---Purpose: Clears the structure <AStructure> to the view <me>.
896         ---Category: Private methods
897
898         Connect ( me            : mutable;
899                   AMother       : Structure from Graphic3d;
900                   ADaughter     : Structure from Graphic3d )
901                 is static private;
902         ---Level: Internal
903         ---Purpose: Connects the structures <AMother> and <ADaughter>.
904         ---Category: Private methods
905
906         Disconnect ( me         : mutable;
907                      AMother    : Structure from Graphic3d;
908                      ADaughter  : Structure from Graphic3d )
909                 is static private;
910         ---Level: Internal
911         ---Purpose: Disconnects the structures <AMother> and <ADaughter>.
912         ---Category: Private methods
913
914         Display ( me            : mutable;
915                   AStructure    : Structure from Graphic3d )
916                 is static private;
917         ---Level: Internal
918         ---Purpose: Display the structure <AStructure> to the view <me>.
919         ---Category: Private methods
920
921         Display ( me            : mutable;
922                   AStructure    : Structure from Graphic3d;
923                   AnUpdateMode  : TypeOfUpdate from Aspect )
924                 is static private;
925         ---Level: Internal
926         ---Purpose: Display the structure <AStructure> to the view <me>.
927         ---Category: Private methods
928
929         Erase ( me              : mutable;
930                 AStructure      : Structure from Graphic3d )
931                 is static private;
932         ---Level: Internal
933         ---Purpose: Erases the structure <AStructure> from the view <me>.
934         ---Category: Private methods
935
936         Erase ( me              : mutable;
937                 AStructure      : Structure from Graphic3d;
938                 AnUpdateMode    : TypeOfUpdate from Aspect )
939                 is static private;
940         ---Level: Internal
941         ---Purpose: Erases the structure <AStructure> from the view <me>.
942         ---Category: Private methods
943
944         Exploration ( me )
945                 is static;
946         ---Level: Internal
947         ---Purpose: Prints informations about the view <me>.
948         ---Category: Private methods
949
950         Highlight ( me                  : mutable;
951                     AStructure          : Structure from Graphic3d;
952                     AMethod             : TypeOfHighlightMethod from Aspect )
953                 is static private;
954         ---Level: Internal
955         ---Purpose: Highlights the structure <AStructure> in the view <me>.
956         ---Category: Private methods
957
958         SetTransform ( me               : mutable;
959                        AStructure       : Structure from Graphic3d;
960                        ATrsf            : Array2OfReal from TColStd )
961                 is static private;
962         ---Level: Internal
963         ---Purpose: Transforms the structure <AStructure> in the view <me>.
964         ---Category: Private methods
965
966         UnHighlight ( me                : mutable;
967                       AStructure        : Structure from Graphic3d )
968                 is static private;
969         ---Level: Internal
970         ---Purpose: Suppress the highlighting on the structure <AStructure>
971         --          in the view <me>.
972         ---Category: Private methods
973
974         IsComputed ( me;
975                      AStructure : Structure from Graphic3d )
976                 returns Integer from Standard
977                 is static private;
978         ---Level: Internal
979         ---Purpose: Returns an index != 0 if the structure <AStructure>
980         --          have another structure computed for the view <me>.
981         ---Category: Private methods
982
983         Identification ( me )
984                 returns Integer from Standard
985                 is static;
986         ---Level: Internal
987         ---Purpose: Returns the identification number of the view <me>.
988         ---Category: Private methods
989
990         IsDisplayed ( me;
991                       AStructure        : Structure from Graphic3d )
992                 returns Boolean from Standard
993                 is static private;
994         ---Level: Internal
995         ---Purpose: Returns true if the structure <AStructure> is
996         --          displayed in the view <me>.
997         ---Category: Private methods
998
999         MatrixOfMapping ( me    : mutable )
1000                 returns Array2OfReal from TColStd
1001                 is static; -- private;
1002         ---C++: return const &
1003         ---Level: Internal
1004         ---Purpose: Returns the current matrix of mapping of the view <me>.
1005         --  Warning: Stores the current matrix of mapping.
1006
1007         MatrixOfOrientation ( me        : mutable )
1008                 returns Array2OfReal from TColStd
1009                 is static; -- private;
1010         ---C++: return const &
1011         ---Level: Internal
1012         ---Purpose: Returns the current matrix of orientation of the view <me>.
1013         --  Warning: Stores the current matrix of orientation.
1014
1015         SetRatio ( me   : mutable )
1016                 is static private;
1017         ---Level: Internal
1018         ---Purpose: Modifies the aspect ratio of the view <me> when the
1019         --          associated window is defined or resized.
1020         ---Category: Private methods
1021
1022         UpdateLights ( me       : mutable )
1023                 is static private;
1024         ---Level: Internal
1025         ---Purpose: Updates the lights when the associated window is defined
1026         --          and when the view is activated.
1027         ---Category: Private methods
1028
1029         UpdatePlanes ( me       : mutable )
1030                 is static private;
1031         ---Level: Internal
1032         ---Purpose: Updates the planes when the associated window is defined
1033         --          and when the view is activated.
1034         ---Category: Private methods
1035
1036         UpdateView ( me : mutable )
1037                 is static private;
1038         ---Level: Internal
1039         ---Purpose: Updates the associated c structure before a call to the
1040         --          graphic library.
1041         ---Category: Private methods
1042
1043         -----------------------------
1044         -- Category: Internal methods
1045         -----------------------------
1046
1047         CView ( me )
1048                 returns Address from Standard
1049                 is static;
1050         ---Level: Internal
1051         ---Purpose: Returns the c structure associated to <me>.
1052         ---Category: Private methods
1053
1054         GraphicDriver ( me )
1055                 returns GraphicDriver from Aspect
1056                 is static;
1057         ---Level: Internal
1058         ---Purpose: Returns the associated GraphicDriver.
1059         ---Category: Internal methods
1060
1061         HaveTheSameOwner ( me;
1062                            AStructure   : Structure from Graphic3d )
1063                 returns Integer from Standard
1064                 is static private;
1065         ---Level: Internal
1066         ---Purpose: Returns an index != 0 if the structure <AStructure>
1067         --          have the same owner than another structure in the
1068         --          sequence of the computed structures.
1069         ---Category: Private methods
1070
1071         Plot ( me;
1072                APlotter : Plotter from Graphic3d )
1073                 is static;
1074         ---Level: Internal
1075         ---Purpose: Calls the method Plot for each Structure
1076         --          displayed in <me>.
1077         ---Category: Private methods
1078
1079           Print (me; AnUnderLayer : Layer from Visual3d;
1080                  AnOverLayer      : Layer from Visual3d;
1081                  hPrnDC           : Handle from Aspect;
1082                  showBackground   : Boolean;
1083                  filename         : CString;
1084                  printAlgorithm   : PrintAlgo from Aspect = Aspect_PA_STRETCH;
1085                  theScaleFactor   : Real from Standard = 1.0)
1086           returns Boolean from Standard is static;
1087
1088         ---Level: Internal
1089         ---Purpose: print the contents of all layers of the view to the printer.
1090         -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1091         -- <showBackground> : When set to FALSE then print the view without background color
1092         -- (background is white)
1093         -- else set to TRUE for printing with current background color.
1094         -- <filename>: If != NULL, then the view will be printed to a file.
1095         -- <printAlgo>: Select print algorithm: stretch, tile.
1096         -- <theScaleFactor>: Scaling coefficient, used internally to scale the
1097         -- printings accordingly to the scale factor selected in the printer 
1098         -- properties dialog.
1099         -- Returns Standard_True if the data is passed to the printer, otherwise
1100         -- Standard_False if the print operation failed due to printer error
1101         -- or insufficient memory.
1102         --  Warning: Works only under Windows.
1103
1104           Print (me; hPrnDC     : Handle from Aspect;
1105                  showBackground : Boolean;
1106                  filename       : CString;
1107                  printAlgorithm : PrintAlgo from Aspect = Aspect_PA_STRETCH;
1108                  theScaleFactor : Real from Standard = 1.0 )
1109           returns Boolean from Standard is static;
1110
1111         ---Level: Internal
1112         ---Purpose: print the contents of the view to printer.
1113         -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1114         -- <showBackground> : When set to FALSE then print the view without background color
1115         -- (background is white)
1116         -- else set to TRUE for printing with current background color.
1117         -- <filename>: If != NULL, then the view will be printed to a file.
1118         -- <printAlgo>: Select print algorithm: stretch, tile.
1119         -- <theScaleFactor>: Scaling coefficient, used internally to scale the
1120         -- printings accordingly to the scale factor selected in the printer 
1121         -- properties dialog.
1122         -- Returns Standard_True if the data is passed to the printer, otherwise
1123         -- Standard_False if the print operation failed due to printer error
1124         -- or insufficient memory.
1125         --  Warning: Works only under Windows.
1126
1127         SetTransparency ( me : mutable;
1128                 AFlag : Boolean from Standard )
1129                 is static;
1130         ---Level: Advanced
1131         ---Purpose: if <AFlag> is Standard_True then the transparency
1132         --          is managed in the view <me>.
1133         --          Default Standard_False
1134         ---Category: Internal methods
1135
1136         ZBufferIsActivated ( me )
1137                 returns Boolean from Standard
1138                 is static;
1139         ---Level: Advanced
1140         ---Purpose: Returns Standard_True if the ZBuffer is activated
1141         --          in the view <me> and Standard_False if not.
1142         ---Category: Internal methods
1143
1144         SetZBufferActivity ( me : mutable; AnActivity : Integer from Standard )
1145                 is static;
1146         ---Level: Advanced
1147         ---Purpose: Activates the ZBuffer if the integer <AnActivity>
1148         --          is equal to 1.
1149         --          Deactivates the ZBuffer if the integer <AnActivity>
1150         --          is equal to 0.
1151         --          If the integer <AnActivity> is equal to -1 then
1152         --          - the ZBuffer is activated if
1153         --              me->Context ().Visualization () == Visual3d_TOV_SHADING
1154         --          - the ZBuffer is deactivated if
1155         --              me->Context ().Visualization () == Visual3d_TOV_WIREFRAME
1156         ---Category: Internal methods
1157
1158         UnderLayer ( me )
1159                 returns Layer from Visual3d;
1160         ---Level: Internal
1161         ---Purpose: Returns the underlay of the view <me>.
1162         ---Category: Private methods
1163         ---C++: return const &
1164
1165         OverLayer ( me )
1166                 returns Layer from Visual3d;
1167         ---Level: Internal
1168         ---Purpose: Returns the underlay of the view <me>.
1169         ---Category: Private methods
1170         ---C++: return const &
1171
1172         EnableDepthTest( me; enable : Boolean from Standard )
1173         is static;
1174         ---Level: Public
1175         ---Purpose: turns on/off opengl depth
1176
1177         IsDepthTestEnabled( me ) returns Boolean from Standard
1178         is static;
1179         ---Level: Public
1180         ---Purpose: returns current state of the opengl depth testing
1181
1182         ReadDepths( me; x,y,width,height: Integer from Standard;
1183                         buffer : Address )
1184         is static;
1185         ---Purpose: Reads depths of shown pixels of the given rectangle
1186
1187         FBOCreate( me : mutable; width,height: Integer from Standard )
1188                   returns PtrFrameBuffer from Graphic3d
1189         is static;
1190         ---Level: Public
1191         ---Purpose: Generate offscreen FBO in the graphic library
1192
1193         FBORelease( me     : mutable;
1194                     fboPtr : in out PtrFrameBuffer from Graphic3d )
1195         is static;
1196         ---Level: Public
1197         ---Purpose: Remove offscreen FBO from the graphic library
1198
1199         FBOGetDimensions( me                  : mutable;
1200                           fboPtr              : PtrFrameBuffer from Graphic3d;
1201                           width, height       : out Integer from Standard;
1202                           widthMax, heightMax : out Integer from Standard )
1203         is static;
1204         ---Level: Public
1205         ---Purpose: Read offscreen FBO configuration.
1206
1207         FBOChangeViewport( me                  : mutable;
1208                            fboPtr              : in out PtrFrameBuffer from Graphic3d;
1209                            width, height       : Integer from Standard )
1210         is static;
1211         ---Level: Public
1212         ---Purpose: Change offscreen FBO viewport.
1213
1214         BufferDump( me            : mutable;
1215                     buffer        : in out CRawBufferData from Image )
1216                    returns Boolean from Standard
1217         is static;
1218         ---Level: Public
1219         ---Purpose: Dump active rendering buffer into specified memory buffer.
1220
1221         EnableGLLight( me; enable : Boolean from Standard )
1222         is static;
1223         ---Level: Public
1224         ---Purpose: turns on/off opengl lighting, currently used in triedron displaying
1225
1226         IsGLLightEnabled( me ) returns Boolean from Standard
1227         is static;
1228         ---Level: Public
1229         ---Purpose: returns the current state of the gl lighting
1230         --          currently used in triedron displaying
1231
1232         Export( me;
1233                 FileName         : CString from Standard;
1234                 Format           : ExportFormat from Graphic3d;
1235                 SortType         : SortType from Graphic3d = Graphic3d_ST_BSP_Tree;
1236                 Precision        : Real from Standard = 0.005;
1237                 ProgressBarFunc  : Address from Standard = NULL;
1238                 ProgressObject   : Address from Standard = NULL );
1239
1240 fields
1241
1242 --
1243 -- Classe       :       Visual3d_View
1244 --
1245 -- Purpose      :       Declaration of the variables specific to views.
1246 --
1247 -- Reminder     :       A view is defined by:
1248 --                      - a ViewManager
1249 --                      - a ContextView
1250 --                      - a ViewMapping
1251 --                      - a ViewOrientation
1252 --
1253
1254         -- the associated C structure
1255         MyCView                 :       CView from Graphic3d;
1256
1257         -- the context of the view : Aliasing, Depth-Cueing, Lights ...
1258         MyContext               :       ContextView from Visual3d;
1259
1260         -- the current mapping of the view
1261         MyViewMapping           :       ViewMapping from Visual3d;
1262
1263         -- the reset mapping of the view
1264         MyViewMappingReset      :       ViewMapping from Visual3d;
1265
1266         -- the current orientation of the view
1267         MyViewOrientation       :       ViewOrientation from Visual3d;
1268
1269         -- the reset orientation of the view
1270         MyViewOrientationReset  :       ViewOrientation from Visual3d;
1271
1272         -- the associated window
1273         MyWindow                :       Window from Aspect;
1274
1275         -- the transformation
1276         MyTransformation        :       Array2OfReal from TColStd;
1277
1278         -- the matrix management
1279         MyMatrixOfMapping       :       Array2OfReal from TColStd;
1280         MyMatrixOfOrientation   :       Array2OfReal from TColStd;
1281
1282         -- association Structure_COMPUTE and Structure_Computed
1283         MyTOCOMPUTESequence     :       SequenceOfStructure from Graphic3d;
1284         MyCOMPUTEDSequence      :       SequenceOfStructure from Graphic3d;
1285
1286         -- the graphic driver used
1287         MyGraphicDriver         :       GraphicDriver from Graphic3d;
1288
1289         -- the background of the associated window
1290         MyBackground            :       Background from Aspect;
1291
1292         -- the gradient background of the associated window
1293         MyGradientBackground    :       GradientBackground from Aspect;
1294
1295         -- the displayed structures in the view
1296         MyDisplayedStructure    :       MapOfStructure from Graphic3d;
1297
1298         -- the ViewManager associated with the view
1299 --      MyPtrViewManager        :       Address from Standard;
1300         MyPtrViewManager        :       ViewManagerPtr from Visual3d;
1301
1302         -- Booleans
1303         MyCBitFields            :       CBitFields8 from Graphic3d;
1304
1305         MyGTrihedron        :   CGraduatedTrihedron from Graphic3d;
1306
1307 friends
1308
1309         class ViewManager from Visual3d
1310
1311 end View;