659a49135cac04d7e6e2523bde2ffde5b6c1e052
[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         AddZLayer ( me         : mutable;
891                     theLayerId : Integer from Standard )
892           is static private;
893         ---Purpose: Add a new top-level Z layer to the view with ID
894         -- <theLayerId>. The z layer mechanism allows to display
895         -- structures in higher layers in overlay of structures in lower layers.
896         -- The layers in a particular view should be managed centrally
897         -- by its view manager so to avoid IDs mismatching and provide correct
898         -- display of graphics in all views.
899
900         RemoveZLayer ( me         : mutable;
901                        theLayerId : Integer from Standard )
902           is static private;
903         ---Purpose: Remove z layer from the view by its ID.
904
905         ChangeZLayer ( me           : mutable;
906                        theStructure : Structure from Graphic3d;
907                        theLayerId   : Integer from Standard )
908            is static private;
909         ---Purpose: Change Z layer of already displayed structure in the view.
910
911         Clear ( me              : mutable;
912                 AStructure      : Structure from Graphic3d;
913                 WithDestruction : Boolean from Standard )
914                 is static private;
915         ---Level: Internal
916         ---Purpose: Clears the structure <AStructure> to the view <me>.
917         ---Category: Private methods
918
919         Connect ( me            : mutable;
920                   AMother       : Structure from Graphic3d;
921                   ADaughter     : Structure from Graphic3d )
922                 is static private;
923         ---Level: Internal
924         ---Purpose: Connects the structures <AMother> and <ADaughter>.
925         ---Category: Private methods
926
927         Disconnect ( me         : mutable;
928                      AMother    : Structure from Graphic3d;
929                      ADaughter  : Structure from Graphic3d )
930                 is static private;
931         ---Level: Internal
932         ---Purpose: Disconnects the structures <AMother> and <ADaughter>.
933         ---Category: Private methods
934
935         Display ( me            : mutable;
936                   AStructure    : Structure from Graphic3d )
937                 is static private;
938         ---Level: Internal
939         ---Purpose: Display the structure <AStructure> to the view <me>.
940         ---Category: Private methods
941
942         Display ( me            : mutable;
943                   AStructure    : Structure from Graphic3d;
944                   AnUpdateMode  : TypeOfUpdate from Aspect )
945                 is static private;
946         ---Level: Internal
947         ---Purpose: Display the structure <AStructure> to the view <me>.
948         ---Category: Private methods
949
950         Erase ( me              : mutable;
951                 AStructure      : Structure from Graphic3d )
952                 is static private;
953         ---Level: Internal
954         ---Purpose: Erases the structure <AStructure> from the view <me>.
955         ---Category: Private methods
956
957         Erase ( me              : mutable;
958                 AStructure      : Structure from Graphic3d;
959                 AnUpdateMode    : TypeOfUpdate from Aspect )
960                 is static private;
961         ---Level: Internal
962         ---Purpose: Erases the structure <AStructure> from the view <me>.
963         ---Category: Private methods
964
965         Exploration ( me )
966                 is static;
967         ---Level: Internal
968         ---Purpose: Prints informations about the view <me>.
969         ---Category: Private methods
970
971         Highlight ( me                  : mutable;
972                     AStructure          : Structure from Graphic3d;
973                     AMethod             : TypeOfHighlightMethod from Aspect )
974                 is static private;
975         ---Level: Internal
976         ---Purpose: Highlights the structure <AStructure> in the view <me>.
977         ---Category: Private methods
978
979         SetTransform ( me               : mutable;
980                        AStructure       : Structure from Graphic3d;
981                        ATrsf            : Array2OfReal from TColStd )
982                 is static private;
983         ---Level: Internal
984         ---Purpose: Transforms the structure <AStructure> in the view <me>.
985         ---Category: Private methods
986
987         UnHighlight ( me                : mutable;
988                       AStructure        : Structure from Graphic3d )
989                 is static private;
990         ---Level: Internal
991         ---Purpose: Suppress the highlighting on the structure <AStructure>
992         --          in the view <me>.
993         ---Category: Private methods
994
995         IsComputed ( me;
996                      AStructure : Structure from Graphic3d )
997                 returns Integer from Standard
998                 is static private;
999         ---Level: Internal
1000         ---Purpose: Returns an index != 0 if the structure <AStructure>
1001         --          have another structure computed for the view <me>.
1002         ---Category: Private methods
1003
1004         Identification ( me )
1005                 returns Integer from Standard
1006                 is static;
1007         ---Level: Internal
1008         ---Purpose: Returns the identification number of the view <me>.
1009         ---Category: Private methods
1010
1011         IsDisplayed ( me;
1012                       AStructure        : Structure from Graphic3d )
1013                 returns Boolean from Standard
1014                 is static private;
1015         ---Level: Internal
1016         ---Purpose: Returns true if the structure <AStructure> is
1017         --          displayed in the view <me>.
1018         ---Category: Private methods
1019
1020         MatrixOfMapping ( me    : mutable )
1021                 returns Array2OfReal from TColStd
1022                 is static; -- private;
1023         ---C++: return const &
1024         ---Level: Internal
1025         ---Purpose: Returns the current matrix of mapping of the view <me>.
1026         --  Warning: Stores the current matrix of mapping.
1027
1028         MatrixOfOrientation ( me        : mutable )
1029                 returns Array2OfReal from TColStd
1030                 is static; -- private;
1031         ---C++: return const &
1032         ---Level: Internal
1033         ---Purpose: Returns the current matrix of orientation of the view <me>.
1034         --  Warning: Stores the current matrix of orientation.
1035
1036         SetRatio ( me   : mutable )
1037                 is static private;
1038         ---Level: Internal
1039         ---Purpose: Modifies the aspect ratio of the view <me> when the
1040         --          associated window is defined or resized.
1041         ---Category: Private methods
1042
1043         UpdateLights ( me       : mutable )
1044                 is static private;
1045         ---Level: Internal
1046         ---Purpose: Updates the lights when the associated window is defined
1047         --          and when the view is activated.
1048         ---Category: Private methods
1049
1050         UpdatePlanes ( me       : mutable )
1051                 is static private;
1052         ---Level: Internal
1053         ---Purpose: Updates the planes when the associated window is defined
1054         --          and when the view is activated.
1055         ---Category: Private methods
1056
1057         UpdateView ( me : mutable )
1058                 is static private;
1059         ---Level: Internal
1060         ---Purpose: Updates the associated c structure before a call to the
1061         --          graphic library.
1062         ---Category: Private methods
1063
1064         -----------------------------
1065         -- Category: Internal methods
1066         -----------------------------
1067
1068         CView ( me )
1069                 returns Address from Standard
1070                 is static;
1071         ---Level: Internal
1072         ---Purpose: Returns the c structure associated to <me>.
1073         ---Category: Private methods
1074
1075         GraphicDriver ( me )
1076                 returns GraphicDriver from Aspect
1077                 is static;
1078         ---Level: Internal
1079         ---Purpose: Returns the associated GraphicDriver.
1080         ---Category: Internal methods
1081
1082         HaveTheSameOwner ( me;
1083                            AStructure   : Structure from Graphic3d )
1084                 returns Integer from Standard
1085                 is static private;
1086         ---Level: Internal
1087         ---Purpose: Returns an index != 0 if the structure <AStructure>
1088         --          have the same owner than another structure in the
1089         --          sequence of the computed structures.
1090         ---Category: Private methods
1091
1092         Plot ( me;
1093                APlotter : Plotter from Graphic3d )
1094                 is static;
1095         ---Level: Internal
1096         ---Purpose: Calls the method Plot for each Structure
1097         --          displayed in <me>.
1098         ---Category: Private methods
1099
1100           Print (me; AnUnderLayer : Layer from Visual3d;
1101                  AnOverLayer      : Layer from Visual3d;
1102                  hPrnDC           : Handle from Aspect;
1103                  showBackground   : Boolean;
1104                  filename         : CString;
1105                  printAlgorithm   : PrintAlgo from Aspect = Aspect_PA_STRETCH;
1106                  theScaleFactor   : Real from Standard = 1.0)
1107           returns Boolean from Standard is static;
1108
1109         ---Level: Internal
1110         ---Purpose: print the contents of all layers of the view to the printer.
1111         -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1112         -- <showBackground> : When set to FALSE then print the view without background color
1113         -- (background is white)
1114         -- else set to TRUE for printing with current background color.
1115         -- <filename>: If != NULL, then the view will be printed to a file.
1116         -- <printAlgo>: Select print algorithm: stretch, tile.
1117         -- <theScaleFactor>: Scaling coefficient, used internally to scale the
1118         -- printings accordingly to the scale factor selected in the printer 
1119         -- properties dialog.
1120         -- Returns Standard_True if the data is passed to the printer, otherwise
1121         -- Standard_False if the print operation failed due to printer error
1122         -- or insufficient memory.
1123         --  Warning: Works only under Windows.
1124
1125           Print (me; hPrnDC     : Handle from Aspect;
1126                  showBackground : Boolean;
1127                  filename       : CString;
1128                  printAlgorithm : PrintAlgo from Aspect = Aspect_PA_STRETCH;
1129                  theScaleFactor : Real from Standard = 1.0 )
1130           returns Boolean from Standard is static;
1131
1132         ---Level: Internal
1133         ---Purpose: print the contents of the view to printer.
1134         -- <hPrnDC> : Pass the PrinterDeviceContext (HDC),
1135         -- <showBackground> : When set to FALSE then print the view without background color
1136         -- (background is white)
1137         -- else set to TRUE for printing with current background color.
1138         -- <filename>: If != NULL, then the view will be printed to a file.
1139         -- <printAlgo>: Select print algorithm: stretch, tile.
1140         -- <theScaleFactor>: Scaling coefficient, used internally to scale the
1141         -- printings accordingly to the scale factor selected in the printer 
1142         -- properties dialog.
1143         -- Returns Standard_True if the data is passed to the printer, otherwise
1144         -- Standard_False if the print operation failed due to printer error
1145         -- or insufficient memory.
1146         --  Warning: Works only under Windows.
1147
1148         SetTransparency ( me : mutable;
1149                 AFlag : Boolean from Standard )
1150                 is static;
1151         ---Level: Advanced
1152         ---Purpose: if <AFlag> is Standard_True then the transparency
1153         --          is managed in the view <me>.
1154         --          Default Standard_False
1155         ---Category: Internal methods
1156
1157         ZBufferIsActivated ( me )
1158                 returns Boolean from Standard
1159                 is static;
1160         ---Level: Advanced
1161         ---Purpose: Returns Standard_True if the ZBuffer is activated
1162         --          in the view <me> and Standard_False if not.
1163         ---Category: Internal methods
1164
1165         SetZBufferActivity ( me : mutable; AnActivity : Integer from Standard )
1166                 is static;
1167         ---Level: Advanced
1168         ---Purpose: Activates the ZBuffer if the integer <AnActivity>
1169         --          is equal to 1.
1170         --          Deactivates the ZBuffer if the integer <AnActivity>
1171         --          is equal to 0.
1172         --          If the integer <AnActivity> is equal to -1 then
1173         --          - the ZBuffer is activated if
1174         --              me->Context ().Visualization () == Visual3d_TOV_SHADING
1175         --          - the ZBuffer is deactivated if
1176         --              me->Context ().Visualization () == Visual3d_TOV_WIREFRAME
1177         ---Category: Internal methods
1178
1179         UnderLayer ( me )
1180                 returns Layer from Visual3d;
1181         ---Level: Internal
1182         ---Purpose: Returns the underlay of the view <me>.
1183         ---Category: Private methods
1184         ---C++: return const &
1185
1186         OverLayer ( me )
1187                 returns Layer from Visual3d;
1188         ---Level: Internal
1189         ---Purpose: Returns the underlay of the view <me>.
1190         ---Category: Private methods
1191         ---C++: return const &
1192
1193         EnableDepthTest( me; enable : Boolean from Standard )
1194         is static;
1195         ---Level: Public
1196         ---Purpose: turns on/off opengl depth
1197
1198         IsDepthTestEnabled( me ) returns Boolean from Standard
1199         is static;
1200         ---Level: Public
1201         ---Purpose: returns current state of the opengl depth testing
1202
1203         ReadDepths( me; x,y,width,height: Integer from Standard;
1204                         buffer : Address )
1205         is static;
1206         ---Purpose: Reads depths of shown pixels of the given rectangle
1207
1208         FBOCreate( me : mutable; width,height: Integer from Standard )
1209                   returns PtrFrameBuffer from Graphic3d
1210         is static;
1211         ---Level: Public
1212         ---Purpose: Generate offscreen FBO in the graphic library
1213
1214         FBORelease( me     : mutable;
1215                     fboPtr : in out PtrFrameBuffer from Graphic3d )
1216         is static;
1217         ---Level: Public
1218         ---Purpose: Remove offscreen FBO from the graphic library
1219
1220         FBOGetDimensions( me                  : mutable;
1221                           fboPtr              : PtrFrameBuffer from Graphic3d;
1222                           width, height       : out Integer from Standard;
1223                           widthMax, heightMax : out Integer from Standard )
1224         is static;
1225         ---Level: Public
1226         ---Purpose: Read offscreen FBO configuration.
1227
1228         FBOChangeViewport( me                  : mutable;
1229                            fboPtr              : in out PtrFrameBuffer from Graphic3d;
1230                            width, height       : Integer from Standard )
1231         is static;
1232         ---Level: Public
1233         ---Purpose: Change offscreen FBO viewport.
1234
1235         BufferDump( me            : mutable;
1236                     buffer        : in out CRawBufferData from Image )
1237                    returns Boolean from Standard
1238         is static;
1239         ---Level: Public
1240         ---Purpose: Dump active rendering buffer into specified memory buffer.
1241
1242         EnableGLLight( me; enable : Boolean from Standard )
1243         is static;
1244         ---Level: Public
1245         ---Purpose: turns on/off opengl lighting, currently used in triedron displaying
1246
1247         IsGLLightEnabled( me ) returns Boolean from Standard
1248         is static;
1249         ---Level: Public
1250         ---Purpose: returns the current state of the gl lighting
1251         --          currently used in triedron displaying
1252
1253         Export( me;
1254                 theFileName        : CString from Standard;
1255                 theFormat          : ExportFormat from Graphic3d;
1256                 theSortType        : SortType from Graphic3d = Graphic3d_ST_BSP_Tree;
1257                 thePrecision       : Real from Standard = 0.005;
1258                 theProgressBarFunc : Address from Standard = NULL;
1259                 theProgressObject  : Address from Standard = NULL )
1260         returns Boolean from Standard;
1261     ---Purpose:
1262     -- Export scene into the one of the Vector graphics formats (SVG, PS, PDF...).
1263     -- In contrast to Bitmaps, Vector graphics is scalable (so you may got quality benefits on printing to laser printer).
1264     -- Notice however that results may differ a lot and do not contain some elements.
1265
1266 fields
1267
1268 --
1269 -- Classe       :       Visual3d_View
1270 --
1271 -- Purpose      :       Declaration of the variables specific to views.
1272 --
1273 -- Reminder     :       A view is defined by:
1274 --                      - a ViewManager
1275 --                      - a ContextView
1276 --                      - a ViewMapping
1277 --                      - a ViewOrientation
1278 --
1279
1280         -- the associated C structure
1281         MyCView                 :       CView from Graphic3d;
1282
1283         -- the context of the view : Aliasing, Depth-Cueing, Lights ...
1284         MyContext               :       ContextView from Visual3d;
1285
1286         -- the current mapping of the view
1287         MyViewMapping           :       ViewMapping from Visual3d;
1288
1289         -- the reset mapping of the view
1290         MyViewMappingReset      :       ViewMapping from Visual3d;
1291
1292         -- the current orientation of the view
1293         MyViewOrientation       :       ViewOrientation from Visual3d;
1294
1295         -- the reset orientation of the view
1296         MyViewOrientationReset  :       ViewOrientation from Visual3d;
1297
1298         -- the associated window
1299         MyWindow                :       Window from Aspect;
1300
1301         -- the transformation
1302         MyTransformation        :       Array2OfReal from TColStd;
1303
1304         -- the matrix management
1305         MyMatrixOfMapping       :       Array2OfReal from TColStd;
1306         MyMatrixOfOrientation   :       Array2OfReal from TColStd;
1307
1308         -- association Structure_COMPUTE and Structure_Computed
1309         MyTOCOMPUTESequence     :       SequenceOfStructure from Graphic3d;
1310         MyCOMPUTEDSequence      :       SequenceOfStructure from Graphic3d;
1311
1312         -- the graphic driver used
1313         MyGraphicDriver         :       GraphicDriver from Graphic3d;
1314
1315         -- the background of the associated window
1316         MyBackground            :       Background from Aspect;
1317
1318         -- the gradient background of the associated window
1319         MyGradientBackground    :       GradientBackground from Aspect;
1320
1321         -- the displayed structures in the view
1322         MyDisplayedStructure    :       MapOfStructure from Graphic3d;
1323
1324         -- the ViewManager associated with the view
1325 --      MyPtrViewManager        :       Address from Standard;
1326         MyPtrViewManager        :       ViewManagerPtr from Visual3d;
1327
1328         -- Booleans
1329         MyCBitFields            :       CBitFields8 from Graphic3d;
1330
1331         MyGTrihedron        :   CGraduatedTrihedron from Graphic3d;
1332
1333 friends
1334
1335         class ViewManager from Visual3d
1336
1337 end View;