0023383: Bugs in CDL documentation of visualization classes
[occt.git] / src / V3d / V3d_View.cdl
1 -- Created on: 1992-01-15
2 -- Created by: GG
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21 -- Modified:    FMN - 24/12/97 -> Suppression GEOMLITE
22 --              CQO - 24/12/97 -> BUC50037
23 --              stt:25-02-98; S3558: ajout IfManageStandardEvent
24 --              stt:08-04-98; suppr IfManageStandardEvent
25 --              CAL - 18/08/98 -> S3892. Ajout grilles 3d.
26 --              BGN - 16-09-98; Points d'entree du Triedre (S3819, Phase 1)
27 --              22-09-98 ; BGN : S3989 (anciennement S3819)
28 --                               TypeOfTriedron* from Aspect(et pas V3d)
29 --              CAL - 21/10/98 -> Speciale. Ajout methode Tumble.
30 --              29-OCT-98 : DCB : Adding ScreenCopy () method.
31 --      GG - 10/11/99 : PRO19603 Adding Redraw( area ) method
32 --      GG - 15/12/99 : GER61351 Adding SetBackgroundColor()
33 --                   and    BackgroundColor() methods
34 --      GG - 24/01/00 : -> Remove internal PixToRef() method, use Convert()
35 --                method instead.
36 --              -> Rename internal RefToPix() to Convert() method.
37 --              -> Add ConvertToGrid() methods,
38 --                 the Compute() internal method become private.
39 --              -> Add SetProjModel() method.
40 --      EUG - 25/01/00 : G003
41 --              -> Add methods SetAnimationMode() and
42 --                  AnimationMode()
43 --              -> Add methods SetComputedMode() and
44 --                  ComputedMode()
45 --                 Warning : SetDegenerateModeOn() and Off()
46 --                 become obsolete.
47 --              -> Add methods SetBackFacingModel() and
48 --                  BackFacingModel()
49 --      VKH - 15/11/99 : G004
50 --              -> Add method Dump()
51 --      GG  - IMP210200
52 --              -> Add Transparency() method
53 --      THA  - 17/08/00 Thomas HARTL <t-hartl@muenchen.matra-dtv.fr>
54 --              -> Add Print method (works only under Windows).
55 --      GG  - IMP231100
56 --              -> Add IsActiveLight() & IsActivePlane() methods
57 --      SZV - IMP100701
58 --              -> Add ToPixMap() method
59 --              GG - RIC120302 Add NEW SetWindow method.
60 --              SAV - 22/10/01
61 --                              -> Add EnableDepthTest() & IsDepthTestEnabled().
62 --              VSV - 28/05/02: ZBUFFER mode of Trihedron
63 --              SAV - 23/12/02  -> Added methods to set background image
64 --              NKV - 23/07/07  -> Define custom projection and model view matrixes
65 --              NKV - 08/02/07  -> Add ConvertWithProj() method
66
67 deferred class View from V3d
68
69         ---Purpose: Defines the application object VIEW for the
70         --          VIEWER application.
71         --          The methods of this class allow the editing
72         --          and inquiring the parameters linked to the view.
73         --          (Projection,Mapping,Zclipping,DepthCueing,AntiAliasing
74         --           et Conversions) .
75         --  Warning: The default parameters are defined by the class
76         --          Viewer (Example : SetDefaultViewSize()).
77         --          Certain methods are mouse oriented, and it is
78         --          necessary to know the difference between the start and
79         --          the continuation of this gesture in putting the method
80         --          into operation.
81         --          Example : Shifting the eye-view along the screen axes.
82         --
83         --              View->Move(10.,20.,0.,True)     (Starting motion)
84         --              View->Move(15.,-5.,0.,False)    (Next motion)
85
86
87 inherits
88
89         View from Viewer
90
91 uses
92
93         -- S3892
94         Ax3                     from gp,
95         LayerMgr                from V3d,
96         ColorScale              from V3d,
97         ColorScale              from Aspect,
98         Array2OfReal            from TColStd,
99         Grid                    from Aspect,
100         Handle                  from Aspect,
101         Structure               from Graphic3d,
102         Group                   from Graphic3d,
103
104         ListOfTransient                   from V3d,
105         ListIteratorOfListOfTransient     from TColStd,
106         TypeOfView                        from V3d,
107         TypeOfAxe                         from V3d,
108         TypeOfOrientation                 from V3d,
109         TypeOfShadingModel                from V3d,
110         TypeOfSurfaceDetail               from V3d,
111         TextureEnv                        from Graphic3d,
112         TypeOfVisualization               from V3d,
113         TypeOfZclipping                   from V3d,
114         TypeOfProjectionModel             from V3d,
115         TypeOfBackfacingModel             from V3d,
116         Viewer                            from V3d,
117         Light                             from V3d,
118         Plane                             from V3d,
119         View                              from Visual3d,
120         ViewMapping                       from Visual3d,
121         ViewOrientation                   from Visual3d,
122         ContextView                       from Visual3d,
123         Vector                            from Graphic3d,
124         Vertex                            from Graphic3d,
125         Plotter                           from Graphic3d,
126         Window                            from Aspect,
127         PixMap                            from Image,
128         BufferType                        from Graphic3d,
129         Background                        from Aspect,
130         GradientBackground                from Aspect,
131         PlotterDriver                     from PlotMgt,
132         TypeOfColor                       from Quantity,
133         NameOfColor                       from Quantity,
134         Color                             from Quantity,
135         Length                            from Quantity,
136         PlaneAngle                        from Quantity,
137         Parameter                         from Quantity,
138         Factor                            from Quantity,
139         Ratio                             from Quantity,
140         Coefficient                       from Quantity,
141         Coordinate                        from V3d,
142         Array2OfReal                      from TColStd,
143         ViewerPointer                     from V3d,
144         TransientManager                  from Visual3d,
145         TypeOfTriedronEcho                from Aspect,
146         TypeOfTriedronPosition            from Aspect,
147         FormatOfSheetPaper                from Aspect,
148         RenderingContext                  from Aspect,
149         GraphicCallbackProc               from Aspect,
150         FillMethod                        from Aspect,
151         GradientFillMethod                from Aspect,
152         FontAspect                        from Font,
153         AsciiString                       from TCollection,
154         ExtendedString                    from TCollection,
155         PrintAlgo                         from Aspect
156
157 raises
158
159         BadValue from Viewer, TypeMismatch from Standard,
160         MultiplyDefined from Standard,UnMapped from V3d
161
162 is
163
164         Initialize ( VM : mutable Viewer; Type : TypeOfView from V3d = V3d_ORTHOGRAPHIC );
165         ---Purpose: Initialises the view.
166
167         Initialize ( VM : mutable Viewer ; V : View from V3d; Type : TypeOfView from V3d = V3d_ORTHOGRAPHIC );
168         ---Purpose: Initialises the view by copying.
169
170         --------------------------------------------------------
171         ---Category: Methods to modify the Status of the view
172         --------------------------------------------------------
173
174         SetWindow ( me : mutable ; IdWin : Window )
175         ---Purpose: Activates the view in the window specified and Map the
176         --          Window to the screen.
177         raises MultiplyDefined from Standard;
178         ---Level: Public
179         ---Purpose:  Warning! raises MultiplyDefined from Standard
180         --      if the view is already activated in a window.
181         --  Warning: The view is centered and resized to preserve
182         --          the height/width ratio of the window.
183
184         SetWindow ( me            : mutable ;
185                     aWindow       : Window from Aspect;
186                     aContext      : RenderingContext from Aspect;
187                     aDisplayCB    : GraphicCallbackProc from Aspect;
188                     aClientData   : Address from Standard
189           )
190         ---Purpose: Activates the view in the specified Window
191         --      If <aContext> is not NULL the graphic context is used
192         --          to draw something in this view.
193         --      Otherwise an internal graphic context is created.
194         --      If <aDisplayCB> is not NULL then a user display CB is
195         --      call at the end of the OCC graphic traversal and just
196         --      before the swap of buffers. The <aClientData> is pass
197         --      to this call back.
198         raises MultiplyDefined from Standard;
199         ---Level: Public
200         ---Purpose:  Warning! raises MultiplyDefined from Standard
201         --      if the view is already activated in a window.
202         --  Warning: The view is centered and resized to preserve
203         --          the height/width ratio of the window.
204
205         SetMagnify (me: mutable; IdWin            : Window;
206                                  aPreviousView    : View from V3d;
207                                  x1 , y1 , x2 , y2: Integer from Standard)
208         is static;
209
210         Remove ( me );
211         ---Level: Public
212         ---Purpose: Destroys the view.
213
214         Update ( me ) is redefined static;
215         ---Level: Public
216         ---Purpose: Deprecated, Redraw() should be used instead.
217
218         Redraw ( me );
219         ---Level: Public
220         ---Purpose: Redisplays the view even if there has not
221         --          been any modification.
222         --          Must be called if the view is shown.
223         --          (Ex: DeIconification ) .
224
225         Redraw ( me ;x,y,width,height: Integer from Standard);
226         ---Level: Public
227         ---Purpose: Redisplays the view area after esxposure.
228     -- [x,y] define the min xy area position
229     -- [width,height] the size of the area in pixel unit.
230
231         MustBeResized ( me : mutable )
232         ---Level: Public
233         ---Purpose: Must be called when the window supporting the
234         --          view changes size.
235         raises UnMapped from V3d;
236         ---Purpose:      if the view is not mapped on a window.
237         --  Warning: The view is centered and resized to preserve
238         --          the height/width ratio of the window.
239
240         DoMapping ( me : mutable );
241         ---Level: Advanced
242         ---Purpose: Must be called when the window supporting the
243         --          view is mapped or unmapped.
244
245         IsEmpty ( me ) returns Boolean;
246         ---Level: Public
247         ---Purpose: Returns the status of the view regarding
248         --          the displayed structures inside
249         --          Returns True is The View is empty
250
251         UpdateLights (me);
252         ---Level: Public
253         ---Purpose: Updates the lights of the view. The view is redrawn.
254
255         --------------------------------------------------------
256         ---Category: Methods to modify the Attributes of the view
257         --------------------------------------------------------
258
259         SetBackgroundColor ( me : mutable ;
260                         Type : TypeOfColor; V1, V2, V3 : Parameter );
261         ---Level: Public
262         ---Purpose: Defines the background colour of the view
263         --          by supplying :
264         --          the colour definition type,
265         --          and the three corresponding values.
266
267         SetBackgroundColor ( me : mutable ; Color : Color from Quantity );
268         ---Level: Public
269         ---Purpose: Defines the background colour of the view
270         --          by supplying :
271         --          the colour object.
272
273         SetBackgroundColor ( me : mutable ; Name : NameOfColor );
274         ---Level: Public
275         ---Purpose: Defines the background colour of the view
276         --          by supplying :
277         --          the colour name in the form Quantity_NOC_xxxx .
278
279         SetBgGradientColors ( me : mutable ;
280                               Color1 : Color from Quantity;
281                               Color2 : Color from Quantity;
282                               FillStyle : GradientFillMethod from Aspect = Aspect_GFM_HOR;
283                               update    : Boolean from Standard = Standard_False );
284         ---Level: Public
285         ---Purpose: Defines the gradient background colours of the view
286         --          by supplying :
287         --          two colour objects,
288         --          and fill method (horizontal by default)
289
290         SetBgGradientColors ( me : mutable ;
291                               Color1 : NameOfColor;
292                               Color2 : NameOfColor;
293                               FillStyle : GradientFillMethod from Aspect = Aspect_GFM_HOR;
294                               update    : Boolean from Standard = Standard_False );
295         ---Level: Public
296         ---Purpose: Defines the gradient background colours of the view
297         --          by supplying :
298         --          two colour names in the form Quantity_NOC_xxxx,
299         --          and fill method (horizontal by default)
300
301         SetBgGradientStyle( me : mutable ;
302                             AMethod : GradientFillMethod from Aspect = Aspect_GFM_HOR;
303                             update  : Boolean from Standard = Standard_False);
304         ---Level: Public
305         ---Purpose: Defines the gradient background fill method of the view
306
307         SetBackgroundImage( me : mutable; FileName  : CString from Standard;
308               FillStyle : FillMethod from Aspect = Aspect_FM_CENTERED;
309                   update    : Boolean from Standard = Standard_False );
310         ---Level: Public
311         ---Purpose: Defines the background texture of the view
312         ---         by supplying :
313         ---         texture image file name,
314         ---         and fill method (centered by default)
315
316         SetBgImageStyle( me : mutable; FillStyle : FillMethod from Aspect;
317                                    update    : Boolean from Standard = Standard_False );
318         ---Level: Public
319         ---Purpose: Defines the textured background fill method of the view
320
321         SetAxis ( me : mutable; X,Y,Z : Coordinate ;
322                                 Vx,Vy,Vz : Parameter )
323         ---Level: Public
324         ---Purpose: Definition of an axis from its origin and
325         --          its orientation .
326         --          This will be the current axis for rotations and movements.
327         raises BadValue from Viewer;
328         ---Purpose:  Warning! raises BadValue from Viewer if the vector normal is NULL. .
329
330         SetShadingModel ( me : mutable; Model : TypeOfShadingModel );
331         ---Level: Public
332         ---Purpose: Defines the shading model for the
333         --          visualisation ZBUFFER mode.
334         --          Various models are available.
335
336         SetSurfaceDetail(me  : mutable; SurfaceDetail : TypeOfSurfaceDetail);
337         ---Level: Public
338         ---Purpose: select the kind of rendering for texture mapping
339         --          no texture mapping by default
340
341         SetTextureEnv(me  : mutable; ATexture  :  TextureEnv  from  Graphic3d);
342         ---Level: Public
343         ---Purpose: set the environment texture to use
344         --          no environment texture by default
345
346         SetVisualization ( me : mutable;
347                                 Mode : TypeOfVisualization from V3d );
348         ---Level: Public
349         ---Purpose: Defines the visualisation mode in the view.
350
351         SetAntialiasingOn ( me : mutable );
352         ---Level: Public
353         ---Purpose: Activates antialiasing in the view.
354
355         SetAntialiasingOff ( me : mutable );
356         ---Level: Public
357         ---Purpose: Desactivates antialiasing in the view.
358
359         SetZClippingDepth ( me : mutable; Depth : Length );
360         ---Level: Public
361         ---Purpose: Defines the depth of the medium clipping plane.
362
363         SetZClippingWidth ( me : mutable; Width : Length )
364         ---Level: Public
365         ---Purpose: Defines the thicknes around the medium clippling plane.   .
366                 raises BadValue from Viewer;
367         --      If the thickness is <= 0
368
369         SetZClippingType ( me : mutable; Type : TypeOfZclipping );
370         ---Level: Public
371         ---Purpose: Defines the type of ZClipping.
372
373         SetZCueingDepth ( me : mutable; Depth : Length );
374         ---Level: Public
375         ---Purpose: Defines the depth of the medium plane.
376
377         SetZCueingWidth ( me : mutable; Width : Length )
378         ---Level: Public
379         ---Purpose: Defines the thickness around the medium plane.
380                 raises BadValue from Viewer;
381         --      If thickness is <= 0
382
383         SetZCueingOn ( me : mutable );
384         ---Level: Public
385         ---Purpose: Activates ZCueing in the view.
386
387         SetZCueingOff ( me : mutable );
388         ---Level: Public
389         ---Purpose: Desactivates ZCueing in the view.
390
391         SetLightOn( me : mutable ; MyLight : Light from V3d )
392         ---Level: Public
393         ---Purpose: Activates MyLight in the view.
394                 raises BadValue from Viewer;
395         --      If No More Light can be activated in MyView .
396
397         SetLightOn( me : mutable )
398         ---Level: Public
399         ---Purpose: Activates all the lights defined in this view.
400                 raises BadValue from Viewer;
401         --      If No More Light can be activated in MyView .
402
403         SetLightOff( me : mutable ; MyLight : Light  from V3d );
404         ---Level: Public
405         ---Purpose: Desactivate MyLight in this view.
406
407         SetLightOff( me : mutable );
408         ---Level: Public
409         ---Purpose: Deactivate all the Lights defined in this view.
410
411     IsActiveLight( me ; aLight: Light  from V3d )
412         returns Boolean from Standard;
413         ---Level: Public
414         ---Purpose: Returns TRUE when the light is active in this view.
415
416         SetTransparency( me : mutable ; AnActivity : Boolean = Standard_False);
417         ---Level: Public
418         ---Purpose: Activate/Deactivate the transparency in this view.
419
420         SetPlaneOn( me : mutable ; MyPlane : Plane from V3d )
421         ---Level: Public
422         ---Purpose: Activates the clipping plane in this view.
423                 raises BadValue from Viewer ;
424         ---Purpose:      If No More Plane can be activated in MyView .
425
426         SetPlaneOn( me : mutable )
427         ---Level: Public
428         ---Purpose: Activate all the clipping planes defined in
429         --          this view.
430                 raises BadValue from Viewer;
431         ---Purpose:      If No More Plane can be activated in MyView .
432
433         SetPlaneOff( me : mutable ; MyPlane : Plane  from V3d );
434         ---Level: Public
435         ---Purpose: Desactivates the clipping plane defined
436         --          in this view.
437
438         SetPlaneOff( me : mutable );
439         ---Level: Public
440         ---Purpose: Deactivate all clipping planes defined
441         --          in this view.
442
443     IsActivePlane( me ; aPlane: Plane  from V3d )
444         returns Boolean from Standard;
445         ---Level: Public
446         ---Purpose: Returns TRUE when the plane is active in this view.
447
448         ---------------------------------------------------
449         --           Triedron methods
450         ---------------------------------------------------
451
452     ZBufferTriedronSetup ( me      : mutable;
453                            XColor  : NameOfColor from Quantity = Quantity_NOC_RED;
454                            YColor  : NameOfColor from Quantity = Quantity_NOC_GREEN;
455                            ZColor  : NameOfColor from Quantity = Quantity_NOC_BLUE1;
456                    SizeRatio : Real from Standard = 0.8;
457                    AxisDiametr : Real from Standard = 0.05;
458                    NbFacettes  : Integer from Standard = 12)
459          is static;
460         ---Level: Advanced
461         ---Purpose: Customization of the ZBUFFER Triedron.
462         ---         XColor,YColor,ZColor - colors of axis
463         ---         SizeRatio - ratio of decreasing of the trihedron size when its phisical
464         ---                     position comes out of the view
465         ---         AxisDiametr - diameter relatively to axis length
466         ---         NbFacettes - number of facettes of cylinders and cones
467
468         TriedronDisplay ( me            : mutable;
469                           APosition     : TypeOfTriedronPosition from Aspect  = Aspect_TOTP_CENTER;
470                           AColor        : NameOfColor from Quantity = Quantity_NOC_WHITE ;
471                           AScale        : Real from Standard  =  0.02;
472                           AMode         : TypeOfVisualization from V3d = V3d_WIREFRAME )
473                 is static;
474         ---Level: Advanced
475         ---Purpose: Display of the Triedron.
476         ---         Initialize position, color and length of Triedron axes.
477         ---         The scale is a percent of the window width.
478         ---Category:
479
480         TriedronErase ( me : mutable )
481                 is static;
482         ---Level: Advanced
483         ---Purpose: Erases the Triedron.
484         ---Category:
485
486         TriedronEcho ( me       : mutable;
487                        AType    : TypeOfTriedronEcho from Aspect  = Aspect_TOTE_NONE )
488                 is static;
489         ---Level: Advanced
490         ---Purpose: Highlights the echo zone of the Triedron.
491         ---Category:
492
493         ---------------------------------
494         ---Category: Graduated trihedron
495         ---------------------------------
496
497         GetGraduatedTrihedron(me;
498                               -- Names of axes --
499                               xname, yname, zname : out ExtendedString from TCollection;
500                               -- Draw names --
501                               xdrawname, ydrawname, zdrawname : out Boolean from Standard;
502                               -- Draw values --
503                               xdrawvalues, ydrawvalues, zdrawvalues : out Boolean from Standard;
504                               -- Draw grid --
505                               drawgrid : out Boolean from Standard;
506                               -- Draw axes --
507                               drawaxes : out Boolean from Standard;
508                               -- Number of splits along axes --
509                               nbx, nby, nbz : out Integer from Standard;
510                               -- Offset for drawing values --
511                               xoffset, yoffset, zoffset : out Integer from Standard;
512                               -- Offset for drawing names of axes --
513                               xaxisoffset, yaxisoffset, zaxisoffset : out Integer from Standard;
514                               -- Draw tickmarks --
515                               xdrawtickmarks, ydrawtickmarks, zdrawtickmarks : out Boolean from Standard;
516                               -- Length of tickmarks --
517                               xtickmarklength, ytickmarklength, ztickmarklength : out Integer from Standard;
518                               -- Grid color --
519                               gridcolor : out Color from Quantity;
520                               -- Colors of axis names --
521                               xnamecolor, ynamecolor, znamecolor : out Color from Quantity;
522                               -- Colors of axis and values --
523                               xcolor, ycolor, zcolor : out Color from Quantity;
524                               -- Name of font for names of axes --
525                               fontOfNames : out AsciiString from TCollection;
526                               -- Style of names of axes --
527                               styleOfNames : out FontAspect from Font;
528                               -- Size of names of axes --
529                               sizeOfNames : out Integer from Standard;
530                               -- Name of font for values --
531                               fontOfValues : out AsciiString from TCollection;
532                               -- Style of values --
533                               styleOfValues : out FontAspect from Font;
534                               -- Size of values --
535                               sizeOfValues : out Integer from Standard)
536         ---Purpose: Returns data of a graduated trihedron.
537         is static;
538
539         GraduatedTrihedronDisplay(me : mutable;
540                                   -- Names of axes --
541                                   xname : ExtendedString from TCollection = "X";
542                                   yname : ExtendedString from TCollection = "Y";
543                                   zname : ExtendedString from TCollection = "Z";
544                                   -- Draw names --
545                                   xdrawname : Boolean from Standard = Standard_True;
546                                   ydrawname : Boolean from Standard = Standard_True;
547                                   zdrawname : Boolean from Standard = Standard_True;
548                                   -- Draw values --
549                                   xdrawvalues : Boolean from Standard = Standard_True;
550                                   ydrawvalues : Boolean from Standard = Standard_True;
551                                   zdrawvalues : Boolean from Standard = Standard_True;
552                                   -- Draw grid --
553                                   drawgrid : Boolean from Standard = Standard_True;
554                                   -- Draw axes --
555                                   drawaxes : Boolean from Standard = Standard_True;
556                                   -- Number of splits along axes --
557                                   nbx : Integer from Standard = 3;
558                                   nby : Integer from Standard = 3;
559                                   nbz : Integer from Standard = 3;
560                                   -- Offset for drawing values --
561                                   xoffset : Integer from Standard = 10;
562                                   yoffset : Integer from Standard = 10;
563                                   zoffset : Integer from Standard = 10;
564                                   -- Offset for drawing names of axes --
565                                   xaxisoffset : Integer from Standard = 30;
566                                   yaxisoffset : Integer from Standard = 30;
567                                   zaxisoffset : Integer from Standard = 30;
568                                   -- Draw tickmarks --
569                                   xdrawtickmarks : Boolean from Standard = Standard_True;
570                                   ydrawtickmarks : Boolean from Standard = Standard_True;
571                                   zdrawtickmarks : Boolean from Standard = Standard_True;
572                                   -- Length of tickmarks --
573                                   xtickmarklength : Integer from Standard = 10;
574                                   ytickmarklength : Integer from Standard = 10;
575                                   ztickmarklength : Integer from Standard = 10;
576                                   -- Grid color --
577                                   gridcolor : Color from Quantity = Quantity_NOC_WHITE;
578                                   -- X name color --
579                                   xnamecolor : Color from Quantity = Quantity_NOC_RED;
580                                   -- Y name color --
581                                   ynamecolor : Color from Quantity = Quantity_NOC_GREEN;
582                                   -- Z name color --
583                                   znamecolor : Color from Quantity = Quantity_NOC_BLUE1;
584                                   -- X color of axis and values --
585                                   xcolor : Color from Quantity = Quantity_NOC_RED;
586                                   -- Y color of axis and values --
587                                   ycolor : Color from Quantity = Quantity_NOC_GREEN;
588                                   -- Z color of axis and values --
589                                   zcolor : Color from Quantity = Quantity_NOC_BLUE1;
590                                   -- Name of font for names of axes --
591                                   fontOfNames : AsciiString from TCollection = "Arial";
592                                   -- Style of names of axes --
593                                   styleOfNames : FontAspect from Font = Font_FA_Bold;
594                                   -- Size of names of axes --
595                                   sizeOfNames : Integer from Standard = 12;
596                                   -- Name of font for values --
597                                   fontOfValues : AsciiString from TCollection = "Arial";
598                                   -- Style of values --
599                                   styleOfValues : FontAspect from Font = Font_FA_Regular;
600                                   -- Size of values --
601                                   sizeOfValues : Integer from Standard = 12)
602         ---Purpose: Displays a graduated trihedron.
603         is static;
604
605         GraduatedTrihedronErase(me : mutable)
606         ---Purpose: Erases a graduated trihedron from the view.
607         is static;
608
609         ---------------------------------------------------
610         --           Color Scale methods
611         ---------------------------------------------------
612
613         SetLayerMgr(me : mutable; aMgr : LayerMgr from V3d);
614
615         ColorScaleDisplay(me : mutable);
616
617         ColorScaleErase(me : mutable);
618
619         ColorScaleIsDisplayed(me)
620         returns Boolean from Standard;
621
622         ColorScale(me)
623         returns ColorScale from Aspect;
624
625         --------------------------------------------------------
626         ---Category: Methods to modify the Projection of the view
627         --------------------------------------------------------
628
629         SetFront(me: mutable);
630         ---Level: Public
631         ---Purpose: modify the Projection of the view perpendicularly to
632         --          the privileged plane of the viewer.
633
634         Rotate ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
635                                 Start    : Boolean = Standard_True )
636         ---Level: Public
637         ---Purpose: Rotates the eye about the coordinate system of
638         --          reference of the screen
639         --          for which the origin is the view point of the projection,
640         --          with a relative angular value in RADIANS with respect to
641         --          the initial position expressed by Start = Standard_True
642         raises BadValue from Viewer;
643         ---Purpose:  Warning! raises BadValue from Viewer
644         --      If the eye, the view point, or the high point are
645         --          aligned or confused.
646
647         Rotate ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
648                                 X,Y,Z    : Coordinate ;
649                                 Start    : Boolean = Standard_True )
650         ---Level: Public
651         ---Purpose: Rotates the eye about the coordinate system of
652         --          reference of the screen
653         --          for which the origin is Gravity point {X,Y,Z},
654         --          with a relative angular value in RADIANS with respect to
655         --          the initial position expressed by Start = Standard_True
656                 raises BadValue from Viewer;
657         ---Purpose:      If the eye, the view point, or the high point are
658         --          aligned or confused.
659
660         Rotate ( me : mutable ; Axe      : TypeOfAxe ; Angle : PlaneAngle ;
661                                 X,Y,Z    : Coordinate ;
662                                 Start    : Boolean = Standard_True );
663         ---Level: Public
664         ---Purpose: Rotates the eye about one of the coordinate axes of
665         --          of the view for which the origin is the Gravity point{X,Y,Z}
666         --          with an relative angular value in RADIANS with
667         --          respect to the initial position expressed by
668         --          Start = Standard_True
669
670         Rotate ( me : mutable ; Axe    : TypeOfAxe ; Angle : PlaneAngle ;
671                                 Start : Boolean = Standard_True ) ;
672         ---Level: Public
673         ---Purpose: Rotates the eye about one of the coordinate axes of
674         --          of the view for which the origin is the view point of the
675         --          projection with an relative angular value in RADIANS with
676         --          respect to the initial position expressed by
677         --          Start = Standard_True
678
679         Rotate ( me : mutable ; Angle : PlaneAngle ;
680                                 Start : Boolean = Standard_True );
681         ---Level: Public
682         ---Purpose: Rotates the eye around the current axis a relative
683         --          angular value in RADIANS with respect to the initial
684         --          position expressed by Start = Standard_True
685
686         Move ( me : mutable ; Dx,Dy,Dz : Length ;
687                               Start    : Boolean = Standard_True )
688         ---Level: Public
689         ---Purpose: Movement of the eye parallel to the coordinate system
690         --          of reference of the screen a distance relative to the
691         --          initial position expressed by Start = Standard_True.
692                 raises BadValue from Viewer;
693         --      If the eye, the view point, or the high point are
694         --      aligned or confused.
695
696         Move ( me : mutable ; Axe   : TypeOfAxe ; Length : Length ;
697                               Start : Boolean = Standard_True )
698         ---Level: Public
699         ---Purpose: Movement of the eye parallel to one of the axes of the
700         --          coordinate system of reference of the view a distance
701         --          relative to the initial position expressed by
702         --          Start = Standard_True.
703                 raises BadValue from Viewer;
704         --      If the eye, view point, or high point are aligned or confused.
705
706         Move ( me : mutable ; Length : Length ;
707                               Start  : Boolean = Standard_True )
708         ---Level: Public
709         ---Purpose: Movement of the eye parllel to the current axis
710         --          a distance relative to the initial position
711         --          expressed by Start = Standard_True
712                 raises BadValue from Viewer;
713         --      If the eye, view point, or high point are aligned or confused.
714
715         Translate ( me : mutable ; Dx,Dy,Dz : Length ;
716                                    Start    : Boolean = Standard_True )
717         ---Level: Public
718         ---Purpose: Movement of the ye and the view point parallel to the
719         --          frame of reference of the screen a distance relative
720         --          to the initial position expressed by
721         --          Start = Standard_True
722                 raises BadValue from Viewer;
723         --      If the eye, view point, or high point are aligned or confused.
724
725         Translate ( me : mutable ; Axe   : TypeOfAxe ; Length : Length ;
726                                    Start : Boolean = Standard_True );
727         ---Level: Public
728         ---Purpose: Movement of the eye and the view point parallel to one
729         --          of the axes of the fame of reference of the view a
730         --          distance relative to the initial position
731         --          expressed by Start = Standard_True
732
733         Translate ( me : mutable ; Length : Length ;
734                                    Start  : Boolean = Standard_True );
735         ---Level: Public
736         ---Purpose: Movement of the eye and view point parallel to
737         --          the current axis a distance relative to the initial
738         --          position expressed by Start = Standard_True
739
740          Place (me: mutable; x,y: Integer from Standard;
741                       aZoomFactor: Factor from Quantity = 1)
742         ---Level: Public
743          ---Purpose: places the point of the view corresponding
744          --          at the pixel position x,y at the center of the window
745          --          and updates the view.
746          is redefined static;
747
748         Turn ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
749                               Start    : Boolean = Standard_True )
750         ---Level: Public
751         ---Purpose: Rotation of the view point around the frame of reference
752         --          of the screen for which the origin is the eye of the
753         --          projection with a relative angular value in RADIANS
754         --          with respect to the initial position expressed by
755         --          Start = Standard_True
756                 raises BadValue from Viewer;
757         --      If the eye, view point, or high point are aligned or confused.
758
759         Turn ( me : mutable ; Axe : TypeOfAxe ; Angle : PlaneAngle ;
760                               Start : Boolean = Standard_True )
761        ;
762         ---Level: Public
763         ---Purpose: Rotation of the view point around one of the axes of the
764         --          frame of reference of the view for which the origin is
765         --          the eye of the projection with an angular value in
766         --          RADIANS relative to the initial position expressed by
767         --          Start = Standard_True
768
769         Turn ( me : mutable ; Angle : PlaneAngle ;
770                               Start : Boolean = Standard_True );
771         ---Level: Public
772         ---Purpose: Rotation of the view point around the current axis an
773         --          angular value in RADIANS relative to the initial
774         --          position expressed by Start = Standard_True
775
776         SetTwist ( me : mutable ; Angle : PlaneAngle )
777         ---Level: Public
778         ---Purpose: Defines the angular position of the high point of
779         --          the reference frame of the view with respect to the
780         --          Y screen axis with an absolute angular value in
781         --          RADIANS.
782                 raises BadValue from Viewer;
783         --      If the eye, view point, or high point are aligned or confused.
784
785         SetEye( me : mutable ; X,Y,Z : Coordinate )
786         ---Level: Public
787         ---Purpose: Defines the position of the eye..
788                 raises BadValue from Viewer ;
789         --      If the eye, view point, or high point are aligned or confused.
790
791         SetDepth( me : mutable ; Depth : Length )
792         ---Level: Public
793         ---Purpose: Defines the Depth of the eye from the view point
794         --          without update the projection .
795                 raises BadValue from Viewer ;
796         --      If the Depth is <= 0.
797
798         SetProj( me : mutable ; Vx,Vy,Vz : Parameter )
799         ---Level: Public
800         ---Purpose: Defines the orientation of the projection.
801                 raises BadValue from Viewer ;
802         --      If the eye, view point, or high point are aligned or confused.
803
804         SetProj( me : mutable ; Orientation : TypeOfOrientation )
805         ---Level: Public
806         ---Purpose: Defines the orientation of the projection .
807                 raises BadValue from Viewer ;
808         --      If the eye, view point, or high point are aligned or confused.
809         --          Updates the view
810
811         SetAt( me : mutable ; X,Y,Z : Coordinate )
812         ---Level: Public
813         ---Purpose: Defines the position of the view point.
814                 raises BadValue from Viewer ;
815         --      If the eye, view point, or high point are aligned or confused.
816
817         SetUp( me : mutable ; Vx,Vy,Vz : Parameter )
818         ---Level: Public
819         ---Purpose: Defines the orientation of the high point.
820                 raises BadValue from Viewer ;
821         --      If the eye, view point, or high point are aligned or confused.
822
823         SetUp( me : mutable ; Orientation : TypeOfOrientation )
824         ---Level: Public
825         ---Purpose: Defines the orientation(SO) of the high point.
826                 raises BadValue from Viewer ;
827         --      If the eye, view point, or high point are aligned or confused.
828
829     SetViewOrientation ( me : mutable; VO   : ViewOrientation from Visual3d );
830     ---Level: Public
831     ---Purpose: Modifies the orientation of the view.
832
833         SetViewOrientationDefault( me : mutable );
834         ---Level: Public
835         ---Purpose: Saves the current state of the orientation of the view
836         --          which will be the return state at ResetViewOrientation.
837
838         ResetViewOrientation ( me : mutable );
839         ---Level: Public
840         ---Purpose: Resets the orientation of the view.
841         --          Updates the view
842
843         --------------------------------------------------------
844         ---Category: Methods to modify the Mapping of the view
845         --------------------------------------------------------
846
847         Panning ( me : mutable ; Dx , Dy      : Length ;
848                                  aZoomFactor  : Factor from Quantity = 1;
849                                  Start        : Boolean = Standard_True )
850         ---Level: Public
851         ---Purpose:       translates the center of the view and zooms the view.
852         --       Updates the view.
853         raises BadValue from Viewer ;
854
855         SetCenter ( me : mutable ; Xc , Yc : Coordinate )
856         ---Level: Public
857         ---Purpose: Defines the centre of the view.
858         --          Updates the view.
859                 raises BadValue from Viewer ;
860         --      If one of the dimensions of the projection is NULL.
861
862         SetCenter ( me : mutable ; X,Y: Integer from Standard)
863         ---Level: Public
864         ---Purpose: Defines the centre of the view from a pixel position.
865         --          Updates the view.
866                 raises BadValue from Viewer ;
867         --      If one of the dimensions of the projection is NULL.
868
869         SetSize ( me : mutable ; Size : Length )
870         ---Level: Public
871         ---Purpose: Defines the size of the view while preserving the
872         --          center and height/width ratio of the window supporting
873         --          the view.
874         --          NOTE than the Depth of the View is NOT modified .
875                 raises BadValue from Viewer ;
876         --      If the size of the view is <= 0
877
878         SetZSize ( me : mutable ; Size : Length )
879         ---Level: Public
880         ---Purpose: Defines the Depth size of the view
881         --          Front Plane will be set to Size/2.
882         --          Back  Plane will be set to -Size/2.
883         --          Any Object located Above the Front Plane or
884         --                             behind the Back Plane will be Clipped .
885         --          NOTE than the XY Size of the View is NOT modified .
886                 raises BadValue from Viewer ;
887         --      If the size of the view is <= 0
888
889         SetZoom ( me : mutable ; Coef : Factor ; Start : Boolean = Standard_True )
890         ---Level: Public
891         ---Purpose: Zooms the view by a factor relative to the initial
892         --          value expressed by Start = Standard_True
893         --          Updates the view.
894                 raises BadValue from Viewer ;
895         --      If the zoom coefficient is <= 0
896
897         SetScale ( me : mutable ; Coef : Factor )
898         ---Level: Public
899         ---Purpose: Zooms the view by a factor relative to the value
900         --          initialised by SetViewMappingDefault().
901         --          Updates the view.
902                 raises BadValue from Viewer ;
903         --      If the zoom coefficient is <= 0
904
905     SetAxialScale ( me : mutable ; Sx, Sy, Sz : Real from Standard )
906         ---Level: Public
907         ---Purpose: Sets  anisotropic (axial)  scale  factors  <Sx>, <Sy>, <Sz>  for  view <me>.
908     -- Anisotropic  scaling  operation  is  performed  through  multiplying
909     -- the current view  orientation  matrix  by  a  scaling  matrix:
910     -- || Sx  0   0   0 ||
911     -- || 0   Sy  0   0 ||
912     -- || 0   0   Sz  0 ||
913     -- || 0   0   0   1 ||
914         -- Updates the view.
915                 raises BadValue from Viewer ;
916         --      If the one of factors <= 0
917
918         FitAll ( me : mutable ; Coef : Coefficient = 0.01;
919                       FitZ: Boolean from Standard = Standard_False; update : Boolean from Standard = Standard_True )
920         ---Level: Public
921         ---Purpose: Automatic zoom/panning. Objects in the view are visualised
922         --          so as to occupy the maximum space while respecting the
923         --          margin coefficient and the initial height /width ratio.
924         --          NOTE than the original Z size of the view is NOT modified .
925                 raises BadValue from Viewer ;
926         --      If the margin coefficient is <0 ou >= 1 or
927         --      Updates the view
928
929         ZFitAll ( me : mutable ;  Coef : Coefficient = 1.0 )
930         ---Level: Public
931         ---Purpose: Automatic Depth Panning. Objects visible in the view are
932         --          visualised so as to occupy the maximum Z amount of space
933         --          while respecting the margin coefficient .
934         --          NOTE than the original XY size of the view is NOT modified .
935                 raises BadValue from Viewer ;
936         --      If the margin coefficient is <0 ou or
937         --      If No Objects are displayed in the view
938
939         DepthFitAll( me : mutable ;   Aspect : Coefficient = 0.01;
940                                       Margin : Coefficient = 0.01 );
941         ---Level: Public
942         ---Purpose: Adjusts the viewing volume so as not to clip the displayed objects by front and back
943         --          and back clipping planes. Also sets depth value automatically depending on the
944         --          calculated Z size and Aspect parameter.
945         --          NOTE than the original XY size of the view is NOT modified .
946
947         FitAll ( me : mutable ; Umin, Vmin, Umax, Vmax : Coordinate )
948         ---Level: Public
949         ---Purpose: Centres the defined projection window so that it occupies
950         --          the maximum space while respecting the initial
951         --          height/width ratio.
952         --          NOTE than the original Z size of the view is NOT modified .
953                 raises BadValue from Viewer;
954         --              If the defined projection window has zero size.
955
956
957         WindowFit ( me : mutable ; Xmin, Ymin, Xmax, Ymax : Integer)
958         ---Level: Public
959         ---Purpose: Centres the defined PIXEL window so that it occupies
960         --          the maximum space while respecting the initial
961         --          height/width ratio.
962         --          NOTE than the original Z size of the view is NOT modified .
963                 raises BadValue from Viewer
964         --              If the defined projection window has zero size.
965         is redefined static;
966
967     SetViewingVolume ( me : mutable ; Left, Right, Bottom, Top, ZNear, ZFar : Real from Standard)
968         ---Level: Public
969         ---Purpose: Sets Z and XY size of the view according to given values
970         --          with respecting the initial view depth (eye position).
971         --          Width/heigth aspect ratio should be preserved by the caller
972         --          of this method similarly to SetSize() to avoid unexpected
973         --          visual results like non-uniform scaling of objects in the view. 
974                 raises BadValue from Viewer;
975         --              If the ZNear<0, ZFar<0 or ZNear>=Zfar.
976
977     SetViewMapping ( me : mutable; VM   : ViewMapping from Visual3d );
978     ---Level: Public
979     ---Purpose: Modifies the mapping of the view.
980
981         SetViewMappingDefault( me : mutable );
982         ---Level: Public
983         ---Purpose: Saves the current view mapping. This will be the
984         --          state returned from ResetViewmapping.
985
986         ResetViewMapping ( me : mutable );
987         ---Level: Public
988         ---Purpose: Resets the centring of the view.
989         --          Updates the view
990
991         Reset ( me : mutable; update : Boolean from Standard = Standard_True );
992         ---Level: Public
993         ---Purpose: Resets the centring and the orientation of the view
994         --          Updates the view
995         ---------------------------------------------------
996         ---Category: Inquire methods
997         ---------------------------------------------------
998
999         Convert( me ; Vp : Integer ) returns Length
1000         ---Level: Public
1001         ---Purpose : Converts the PIXEL value
1002         --           to a value in the projection plane.
1003         raises UnMapped from V3d;
1004         --      If the view is not mapped on the window.
1005
1006         Convert( me ; Xp,Yp : Integer ; Xv,Yv : out Coordinate )
1007         ---Level: Public
1008         ---Purpose : Converts the point PIXEL into a point projected
1009         --           in the reference frame of the projection plane.
1010         raises UnMapped from V3d;
1011         --      If the view is not mapped on the window.
1012
1013         Convert( me ; Vv : Length ) returns Integer
1014         ---Level: Public
1015         ---Purpose : Converts tha value of the projection plane into
1016         --           a PIXEL value.
1017         raises UnMapped from V3d;
1018         --      If the view is not mapped on the window.
1019
1020         Convert( me ; Xv,Yv : Coordinate ; Xp,Yp : out Integer )
1021         ---Level: Public
1022         ---Purpose : Converts the point defined in the reference frame
1023         --           of the projection plane into a point PIXEL.
1024         raises UnMapped from V3d;
1025         --      If the view is not mapped on the window.
1026
1027         Convert( me ; Xp,Yp : Integer ; X,Y,Z : out Coordinate)
1028         ---Level: Public
1029         ---Purpose : Converts the projected point into a point
1030         --           in the reference frame of the view corresponding
1031         --           to the intersection with the projection plane
1032         --           of the eye/view point vector.
1033         raises UnMapped from V3d;
1034         --      If the view is not mapped on the window.
1035
1036         ConvertWithProj( me ; Xp,Yp : Integer ; X,Y,Z : out Coordinate ; Vx,Vy,Vz : out Parameter)
1037         ---Level: Public
1038         ---Purpose : Converts the projected point into a point
1039         --           in the reference frame of the view corresponding
1040         --           to the intersection with the projection plane
1041         --           of the eye/view point vector and returns the
1042         --           projection ray for further computations.
1043         raises UnMapped from V3d;
1044         --      If the view is not mapped on the window.
1045
1046         ConvertToGrid( me ; Xp,Yp : Integer ; Xg,Yg,Zg : out Coordinate)
1047         ---Level: Public
1048         ---Purpose : Converts the projected point into the nearest grid point
1049         --           in the reference frame of the view corresponding
1050         --           to the intersection with the projection plane
1051         --           of the eye/view point vector and display the grid marker.
1052     --  Warning: When the grid is not active the result is identical
1053     --     to the above Convert() method.
1054     -- How to use :
1055     -- 1) Enable the grid echo display
1056     --    myViewer->SetGridEcho(Standard_True);
1057     -- 2) When application receive a move event :
1058     --   2.1) Check if any object is detected
1059     --     if( myInteractiveContext->MoveTo(x,y) == AIS_SOD_Nothing ) {
1060     --   2.2) Check if the grid is active
1061         --     if( myViewer->Grid()->IsActive() ) {
1062     --   2.3) Display the grid echo and gets the grid point
1063         --       myView->ConvertToGrid(x,y,X,Y,Z);
1064     --   2.4) Else this is the standard case
1065         --     } else myView->Convert(x,y,X,Y,Z);
1066         raises UnMapped from V3d;
1067         --      If the view is not mapped on the window.
1068
1069         ConvertToGrid( me ; X,Y,Z : Coordinate ; Xg,Yg,Zg : out Coordinate)
1070         ---Level: Public
1071         ---Purpose : Converts the point into the nearest grid point
1072         --           and display the grid marker.
1073     ---Warning: When the grid is not active the result is identical
1074     --     to the previous point.
1075         raises UnMapped from V3d;
1076         --      If the view is not mapped on the window.
1077
1078         Convert( me ; X,Y,Z : Coordinate; Xp,Yp : out Integer) ;
1079         ---Level: Public
1080         ---Purpose : Projects the point defined in the reference frame of
1081         --           the view into the projected point in the associated window.
1082
1083 --        RefToPix( me ; X,Y,Z : Coordinate; Xp,Yp : out Integer) ;
1084 --        ---Purpose : Projects the point defined in the reference frame of
1085 --        --           the view into the projected point in the associated window.
1086 --  Obsolete : Use Convert(X,Y,Z,Xp,Yp);
1087
1088 --        PixToRef( me ; Xp,Yp : Integer; X,Y,Z : out Coordinate) ;
1089 --        ---Purpose : Converts the projected point in the associated window of
1090 --        --           the view into the point defined in the reference frame.
1091 --  Obsolete : Use Convert(Xp,Yp,X,Y,Z);
1092
1093         Project( me ; X,Y,Z : Coordinate; Xp,Yp : out Coordinate) ;
1094         ---Level: Public
1095         ---Purpose : Converts the point defined in the user space of
1096         --           the view to the projected view plane point at z 0.
1097
1098         BackgroundColor( me; Type : TypeOfColor ; V1, V2, V3 : out Parameter) ;
1099         ---Level: Public
1100         ---Purpose: Returns the Background color values of the view
1101         --          depending of the color Type.
1102
1103         BackgroundColor( me ) returns Color from Quantity;
1104         ---Level: Public
1105         ---Purpose: Returns the Background color object of the view.
1106
1107         GradientBackgroundColors( me;
1108                                   Color1 : out Color from Quantity;
1109                                   Color2 : out Color from Quantity) ;
1110         ---Level: Public
1111         ---Purpose: Returns the gradient background colour objects of the view.
1112
1113         GradientBackground ( me ) returns GradientBackground from Aspect;
1114         ---Level: Public
1115         ---Purpose: Returns the gradient background of the view.
1116
1117         Scale ( me ) returns Factor ;
1118         ---Level: Public
1119         ---Purpose: Returns the current value of the zoom expressed with
1120         --          respect to SetViewMappingDefault().
1121
1122     AxialScale ( me ; Sx, Sy, Sz : out Real from Standard ) ;
1123         ---Level: Public
1124         ---Purpose: Returns the current values of the anisotropic (axial) scale factors.
1125
1126         Center ( me; Xc,Yc : out Coordinate );
1127         ---Level: Public
1128         ---Purpose: Returns the centre of the view.
1129
1130         Size ( me; Width, Height : out Length );
1131         ---Level: Public
1132         ---Purpose: Returns the height and width of the view.
1133
1134         ZSize ( me ) returns Real ;
1135         ---Level: Public
1136         ---Purpose: Returns the Depth of the view .
1137
1138         Eye( me ; X,Y,Z : out Coordinate );
1139         ---Level: Public
1140         ---Purpose: Returns the position of the eye.
1141
1142         FocalReferencePoint (me ; X,Y,Z : out Coordinate );
1143         ---Level: Public
1144         ---Purpose: Returns the position of point which emanating the
1145         --          projections.
1146
1147         ProjReferenceAxe( me ; Xpix,Ypix           : Integer ;
1148                                XP,YP,ZP,VX,VY,VZ   : out Coordinate );
1149         ---Level: Public
1150         ---Purpose: Returns the coordinate of the point (Xpix,Ypix)
1151         --          in the view (XP,YP,ZP), and the projection vector of the
1152         --          view passing by the point (for PerspectiveView).
1153
1154         Depth( me ) returns Length ;
1155         ---Level: Public
1156         ---Purpose: Returns the Distance between the Eye and View Point.
1157
1158         Proj( me ; Vx,Vy,Vz : out Parameter );
1159         ---Level: Public
1160         ---Purpose: Returns the projection vector.
1161
1162         At( me ; X,Y,Z : out Coordinate );
1163         ---Level: Public
1164         ---Purpose: Returns the position of the view point.
1165
1166         Up( me ; Vx,Vy,Vz : out Parameter );
1167         ---Level: Public
1168         ---Purpose: Returns the vector giving the position of the high point.
1169
1170         Twist( me ) returns PlaneAngle ;
1171         ---Level: Public
1172         ---Purpose: Returns in RADIANS the orientation of the view around
1173         --          the visual axis measured from the Y axis of the screen.
1174
1175         ShadingModel ( me ) returns TypeOfShadingModel ;
1176         ---Level: Public
1177         ---Purpose: Returns the current shading model.
1178
1179         SurfaceDetail(me) returns  TypeOfSurfaceDetail;
1180         ---Level: Public
1181         -- purpose: returns the current SurfaceDetail mode
1182
1183         TextureEnv(me)  returns  TextureEnv  from  Graphic3d;
1184         ---Level: Public
1185         -- purpose: return the current environment texture used
1186
1187         Transparency(me) returns Boolean from Standard;
1188         ---Level: Public
1189         ---Purpose: Returns the transparency activity.
1190
1191         Visualization ( me ) returns TypeOfVisualization from V3d;
1192         ---Level: Public
1193         ---Purpose: Returns the current visualisation mode.
1194
1195         Antialiasing ( me ) returns Boolean;
1196         ---Level: Public
1197         ---Purpose: Indicates if the antialiasing is active (True) or
1198         --          inactive (False).
1199
1200         ZCueing ( me; Depth, Width : out Length ) returns Boolean ;
1201         ---Level: Public
1202         ---Purpose: Returns activity and information on the Zcueing.
1203         --          <Depth> : Depth of plane.
1204         --          <Width> : Thickness around the plane.
1205
1206         ZClipping ( me; Depth, Width : out Length ) returns TypeOfZclipping;
1207         ---Level: Public
1208         ---Purpose: Returns current information on the ZClipping.
1209         --          <Depth> : Depth of plane.
1210         --          <Width> : Thickness around the plane.
1211         --          <TypeOfZclipping>  :        "BACK"
1212         --                                      "FRONT"
1213         --                                      "SLICE"
1214         --                                      "OFF"
1215
1216         IfMoreLights( me ) returns Boolean;
1217         ---Level: Advanced
1218         ---Purpose: Returns True if One light more can be
1219         --          activated in this View.
1220
1221         InitActiveLights(me: mutable);
1222         ---Level: Advanced
1223         ---Purpose: initializes an iteration on the active Lights.
1224
1225         MoreActiveLights (me) returns Boolean from Standard;
1226         ---Level: Advanced
1227         ---Purpose: returns true if there are more active Light(s) to return.
1228
1229         NextActiveLights (me: mutable);
1230         ---Level: Advanced
1231         ---Purpose : Go to the next active Light
1232         --           (if there is not, ActiveLight will raise an exception)
1233
1234         ActiveLight(me) returns mutable Light from V3d;
1235         ---Level: Advanced
1236
1237         IfMorePlanes( me ) returns Boolean;
1238         ---Level: Advanced
1239         ---Purpose: Returns True if One clipping plane more can be
1240         --          activated in this View.
1241
1242         InitActivePlanes(me: mutable);
1243         ---Level: Advanced
1244         ---Purpose: initializes an iteration on the active Planes.
1245
1246         MoreActivePlanes (me) returns Boolean from Standard;
1247         ---Level: Advanced
1248         ---Purpose: returns true if there are more active Plane(s) to return.
1249
1250         NextActivePlanes (me: mutable);
1251         ---Level: Advanced
1252         ---Purpose : Go to the next active Plane
1253         --           (if there is not, ActivePlane will raise an exception)
1254
1255         ActivePlane(me) returns mutable Plane from V3d;
1256         ---Level: Advanced
1257
1258         Viewer ( me ) returns mutable Viewer from V3d;
1259         ---Level: Advanced
1260         ---Purpose: Returns the viewer in which the view has been created.
1261
1262         IfWindow ( me ) returns Boolean;
1263         ---Level: Public
1264         ---Purpose: Returns True if MyView is associated with a window .
1265
1266         Window ( me ) returns mutable Window from Aspect
1267         ---Level: Public
1268         ---Purpose: Returns the Aspect Window associated with the view.
1269                 raises BadValue from Viewer;
1270         --      If MyView is not associated with a window
1271
1272         Type( me ) returns TypeOfView from V3d;
1273         ---Level: Public
1274         ---Purpose: Returns the Type of the View
1275
1276         Pan ( me : mutable; Dx, Dy: Integer from Standard;
1277                              aZoomFactor: Factor from Quantity = 1);
1278         ---Level: Public
1279         ---Purpose: translates the center of the view and zooms the view.
1280         --       and updates the view.
1281
1282         Zoom ( me : mutable; X1 , Y1 , X2 , Y2 : Integer from Standard)
1283         is static;
1284         ---Level: Public
1285         ---Purpose: Zoom the view according to a zoom factor computed
1286         -- from the distance between the 2 mouse position <X1,Y1>,<X2,Y2>
1287
1288         Zoom ( me: mutable; X,Y: Integer from Standard)
1289         is static;
1290         ---Level: Public
1291         ---Purpose: Zoom the view according to a zoom factor computed
1292         -- from the distance between the last and new mouse position <X,Y>
1293
1294         StartZoomAtPoint(me : mutable;
1295                          xpix, ypix : Integer from Standard);
1296         ---Level: Public
1297         ---Purpose: Defines the point (pixel) of zooming (for the method ZoomAtPoint()).
1298
1299         ZoomAtPoint(me : mutable;
1300                     mouseStartX, mouseStartY, mouseEndX, mouseEndY : Integer from Standard);
1301         ---Level: Public
1302         ---Purpose: Zooms the model at a pixel defined by the method StartZoomAtPoint().
1303
1304         AxialScale  ( me: mutable; Dx, Dy: Integer from Standard;  Axis:  TypeOfAxe  from  V3d );
1305         ---Level: Public
1306         ---Purpose: Performs  anisotropic scaling  of  <me>  view  along  the  given  <Axis>.
1307             -- The  scale  factor  is  calculated on a basis of
1308             -- the mouse pointer displacement <Dx,Dy>.
1309         -- The  calculated  scale  factor  is  then  passed  to  SetAxialScale(Sx,  Sy,  Sz)  method.
1310
1311         StartRotation(me : mutable ; X,Y :Integer from Standard;
1312                zRotationThreshold: Ratio from Quantity = 0.0);
1313         ---Level: Public
1314     ---Purpose: Begin the rotation of the view arround the screen axis
1315     -- according to the mouse position <X,Y>.
1316     --  Warning: Enable rotation around the Z screen axis when <zRotationThreshold>
1317     -- factor is > 0 soon the distance from the start point and the center
1318     -- of the view is > (medium viewSize * <zRotationThreshold> ).
1319     -- Generally a value of 0.4 is usable to rotate around XY screen axis
1320     -- inside the circular treshold area and to rotate around Z screen axis
1321     -- outside this area.
1322
1323         Rotation(me:mutable;  X,Y :Integer from Standard);
1324         ---Level: Public
1325     ---Purpose: Continues the rotation of the view
1326     -- with an angle computed from the last and new mouse position <X,Y>.
1327
1328         FitAll ( me : mutable ; aWindow: Window from Aspect;
1329                       Umin, Vmin, Umax, Vmax : Coordinate )
1330         is static private;
1331         ---Level: Public
1332     ---Purpose: Change the scale factor and position of the view
1333     -- such as the bounding box <Umin, Vmin, Umax, Vmax> is contains
1334     -- in the view.
1335
1336
1337         -----------------------------------------
1338         ---Category: Private or Protected methods
1339         -----------------------------------------
1340
1341         SetFocale( me : mutable ; Focale : Length )
1342         ---Purpose: Change View Plane Distance for Perspective Views
1343         raises TypeMismatch from Standard
1344         ---Purpose:  Warning! raises TypeMismatch from Standard if the view
1345         --          is not a perspective view.
1346         is static ;
1347
1348         Focale( me ) returns Length;
1349         ---Purpose: Returns the View Plane Distance for Perspective Views
1350
1351         View ( me) returns mutable View from Visual3d is static ;
1352         ---Level: Advanced
1353         ---Purpose: Returns the associated Visual3d view.
1354
1355         ViewMapping ( me ) returns ViewMapping from Visual3d is static;
1356     ---Level: Advanced
1357     ---Purpose: Returns the current mapping of the view.
1358
1359     ViewOrientation ( me ) returns ViewOrientation from Visual3d is static;
1360     ---Level: Advanced
1361     ---Purpose: Returns the current orientation of the view.
1362
1363         ScreenAxis( myclass ; Vpn,Vup        : Vector from Graphic3d ;
1364                               Xaxe,Yaxe,Zaxe : out Vector from Graphic3d )
1365                                         returns Boolean is private ;
1366         ---Purpose: Determines the screen axes in the reference
1367         --          framework of the view.
1368
1369         InitMatrix ( myclass ; Matrix : out Array2OfReal from TColStd ) is private ;
1370
1371         Multiply( myclass ;
1372                  Left, Right : Array2OfReal from TColStd ;
1373                  Matrix      : out Array2OfReal from TColStd )
1374                  returns Boolean from Standard is private ;
1375
1376         RotAxis( myclass ; Vrp      : Vertex from Graphic3d ;
1377                            Axe      : Vector from Graphic3d ; Angle : PlaneAngle ;
1378                            Matrix   : out Array2OfReal from TColStd ) is private ;
1379         ---Purpose: Determines the rotation matrice around an axis
1380         --          for a given angle.
1381
1382         TrsPoint( myclass ; P      : Vertex from Graphic3d ;
1383                             Matrix : Array2OfReal from TColStd )
1384                                 returns Vertex from Graphic3d is private ;
1385         ---Purpose: Transforms the point P according to the matrice Matrix .
1386
1387         TrsPoint( myclass ; V : Vector from Graphic3d ;
1388                                 Matrix : Array2OfReal from TColStd )
1389                                 returns Vector from Graphic3d is private ;
1390         ---Purpose: Transforms the vector V according to the matrice Matrix .
1391
1392         -----------------------------------------
1393         ---Category: TransientManager methods
1394         -----------------------------------------
1395
1396          TransientManagerBeginDraw(me; DoubleBuffer: Boolean = Standard_False;
1397                                        RetainMode  : Boolean = Standard_False)
1398         ---Level: Public
1399         ---Purpose: Begins any graphics in the view <aView>
1400         --          Redraw any structured graphics in the back buffer before
1401         --          if <DoubleBuffer> is TRUE.
1402         --          Restore the front buffer from the back before
1403         --          if <DoubleBuffer> is FALSE.
1404         --          if <RetainMode> is TRUE.
1405         --          the graphic managed itself exposure,resizing ...
1406         --          if <RetainMode> is FALSE.
1407         --          the application must managed itself exposure,resizing ...
1408         --
1409                 returns Boolean from Standard;
1410
1411          TransientManagerClearDraw(me);
1412         ---Level: Public
1413         ---Purpose: Clear all transient graphics in the view <aView>
1414
1415
1416          TransientManagerBeginAddDraw(me)
1417         ---Level: Public
1418         ---Purpose: Begins any add graphics in the view <aView>
1419         --          Redraw any structured graphics in the back buffer before
1420         --          the application must managed itself exposure,resizing ...
1421         --  Warning: Returns TRUE if transient drawing is enabled in
1422         --         the associated view.
1423         --          Returns FALSE ,if nothing works because something
1424         --         is wrong for the transient principle :
1425         --
1426                 returns Boolean from Standard;
1427
1428         ---------------------------------------------------
1429         -- Category: Methods to modify the class definition
1430         --           Animation Mode
1431         ---------------------------------------------------
1432
1433         SetAnimationModeOn ( me : mutable )
1434                 is static;
1435         ---Level: Advanced
1436         ---Purpose: Activates animation mode.
1437         --      When the animation mode is activated in the view,
1438         --      all Graphic3d_Structure are stored in a graphic object.
1439         ---Category: Methods to modify the class definition
1440
1441         SetAnimationModeOff ( me        : mutable )
1442                 is static;
1443         ---Level: Advanced
1444         ---Purpose: Deactivates the animation mode.
1445         ---Category: Methods to modify the class definition
1446
1447         AnimationModeIsOn ( me )
1448                 returns Boolean from Standard
1449                 is static;
1450         ---Level: Advanced
1451         ---Purpose: Returns the activity of the animation mode.
1452         ---Category: Inquire methods
1453
1454         SetAnimationMode ( me                : mutable;
1455                            anAnimationFlag   : Boolean from Standard = Standard_True;
1456                            aDegenerationFlag : Boolean from Standard = Standard_False
1457         ) is static;
1458         ---Level    : Advanced
1459         ---Purpose  : Enable/Disable animation/degeneration mode
1460         ---Category : Methods to modify the class definition
1461
1462     AnimationMode ( me; isDegenerate: out Boolean from Standard )
1463                 returns Boolean from Standard
1464                 is static;
1465         ---Level    : Advanced
1466         ---Purpose  : Returns the animation and degenerate status.
1467         ---Category: Inquire methods
1468
1469         ---------------------------------------------------
1470         -- Category: Methods to modify the class definition
1471         --           Degenerate Mode
1472         ---------------------------------------------------
1473
1474         SetDegenerateModeOn ( me        : mutable )
1475                 is static;
1476         ---Level    : Obsolete
1477         ---Purpose: Activates degenerate mode.
1478         --      When the degenerate mode is activated in the view,
1479         --      all Graphic3d_Structure with the type TOS_COMPUTED
1480         --      displayed in this view are not computed.
1481     --  Warning: Obsolete method , use SetComputedMode()
1482         ---Category: Methods to modify the class definition
1483
1484         SetDegenerateModeOff ( me       : mutable )
1485                 is static;
1486         ---Level    : Obsolete
1487         ---Purpose: Deactivates the degenerate mode.
1488         --  Category: Methods to modify the class definition
1489         --  Warning: if the computed mode has been disabled in the
1490         --          viewer the mode will remain degenerated.
1491     --  Warning: Obsolete method , use SetComputedMode()
1492
1493         DegenerateModeIsOn ( me )
1494                 returns Boolean from Standard
1495                 is static;
1496         ---Level    : Obsolete
1497         ---Purpose: Returns the activity of the degenerate mode.
1498         ---Category: Inquire methods
1499
1500         SetComputedMode ( me : mutable; aMode : Boolean from Standard )
1501         is static;
1502         ---Level: Advanced
1503         ---Purpose: Switches computed HLR mode in the view
1504         ---Category: Methods to modify the class definition
1505
1506         ComputedMode ( me )
1507         returns Boolean from Standard
1508         is static;
1509         ---Level: Advanced
1510         ---Purpose: Returns the computed HLR mode state
1511         ---Category: Inquire methods
1512
1513         MinMax ( me; Umin,Vmin, Umax,Vmax : out Coordinate ) returns Integer
1514         ---Purpose: Returns the objects number and the projection window
1515         --          of the objects contained in the view.
1516         is static private;
1517
1518         MinMax ( me; Xmin,Ymin,Zmin, Xmax,Ymax,Zmax : out Coordinate )
1519         returns Integer
1520         ---Purpose: Returns the objects number and the box encompassing
1521         --          the objects contained in the view
1522         is static private;
1523
1524         Gravity ( me; X,Y,Z : out Coordinate ) returns Integer
1525         ---Purpose: Returns the Objects number and the gravity center
1526         --          of ALL viewable points in the view
1527         is static private;
1528
1529         Init(me: mutable) is private;
1530
1531         ---Category: for compatibility.
1532
1533         WindowFitAll ( me : mutable ; Xmin, Ymin, Xmax, Ymax : Integer);
1534         ---Purpose: idem than WindowFit
1535
1536         SetPlotter ( me : mutable; aPlotter : Plotter from Graphic3d )
1537         ---Purpose: Set a plotter for plotting the contents of the view
1538         --          field MyPlotter
1539         is virtual;
1540
1541         Plot ( me : mutable )
1542         ---Purpose: Create a 2D View for plotting the contents of the view
1543         raises BadValue from Viewer;
1544         --      if the plotter is undefined.
1545
1546         Compute ( me; AVertex   : Vertex from Graphic3d )
1547                 returns Vertex from Graphic3d
1548                 is static private;
1549         ---Level: Internal
1550         ---Purpose: Returns a new vertex when the grid is activated.
1551
1552         SetGrid ( me    : mutable;
1553                   aPlane: Ax3 from gp;
1554                   aGrid : Grid from Aspect )
1555                 is static;
1556         ---Level: Internal
1557         ---Purpose: Defines or Updates the definition of the
1558         --          grid in <me>
1559         ---Category: Methods to modify the class definition
1560
1561         SetGridGraphicValues ( me       : mutable;
1562                                aGrid    : Grid from Aspect )
1563                 is static;
1564         ---Level: Internal
1565         ---Purpose: Defines or Updates the graphic definition of the
1566         --          grid in <me>
1567         ---Category: Methods to modify the class definition
1568
1569         SetGridActivity ( me    : mutable;
1570                           aFlag : Boolean from Standard )
1571                 is static;
1572         ---Level: Internal
1573         ---Purpose: Defines or Updates the activity of the
1574         --          grid in <me>
1575         ---Category: Methods to modify the class definition
1576
1577         Tumble ( me            : mutable;
1578                  NbImages      : Integer from Standard = 314;
1579                  AnimationMode : Boolean from Standard = Standard_False )
1580                 returns Real from Standard
1581                 is static;
1582         ---Level   : Advanced
1583         ---Purpose: Animates the view <me>
1584         --          Returns the number of images per second
1585         --          if <AnimationMode> is Standard_True, the animation mode
1586         --          is activated.
1587
1588         ScreenCopy (me               : mutable;
1589                     aPlotterDriver   : PlotterDriver from PlotMgt;
1590                     fWhiteBackground : Boolean from Standard = Standard_True;
1591                     aScale           : Factor from Quantity = 1.0
1592         ) is static;
1593         ---Purpose: dump the view
1594
1595         Dump ( me: mutable;
1596                theFile       : CString from Standard;
1597                theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB )
1598     returns Boolean from Standard;
1599         ---Level: Public
1600         ---Purpose: dump the full contents of the view at the same
1601         --          scale in the file <theFile>. The file name
1602         --          extension must be one of ".png",".bmp",".jpg",".gif".
1603         --          Returns FALSE when the dump has failed
1604
1605         Dump ( me: mutable;
1606                theFile       : CString from Standard;
1607                theFormat     : FormatOfSheetPaper from Aspect;
1608                theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB )
1609     returns Boolean from Standard;
1610         ---Level: Public
1611         ---Purpose: dump the full contents of the view with a
1612         --          different scale according  to the required sheet
1613         --          paper size (format) and the ratio
1614         --          width/height of the view.
1615     --          and returns FALSE when the dump has failed
1616     --  Warning : the file name extension must be one of
1617     --      ".png",".bmp",".jpg",".gif"
1618     --       but make becarefull about the time to dump and
1619     --       resulting file size especially for the A0 format.
1620     --       NOTE that you can use after any standard system utility
1621     --       for editing or sending the image file to a laser printer.
1622     --       (i.e: Microsoft Photo Editor on Windows system
1623     --        or Image Viewer on SUN system)
1624
1625       Print (me; hPrnDC: Handle from Aspect = NULL;
1626              showDialog: Boolean = Standard_True;
1627              showBackground : Boolean = Standard_True;
1628              filename: CString = NULL;
1629              printAlgorithm : PrintAlgo from Aspect = Aspect_PA_STRETCH)
1630       returns Boolean from Standard is static;
1631
1632         ---Level: Public
1633         ---Purpose: print the contents of the view to printer with preview.
1634     -- <hPrnDC> : If you have already an PrinterDeviceContext (HDC),
1635     -- then you can pass it to the print routines.
1636         -- If you don't have an PrinterDeviceContext, then this parameter should
1637     -- be NULL.
1638     -- <showDialog> : If hPrnDC == NULL, then you can force the print routines to
1639     -- open a Print Dialog box.
1640         -- If you want to do this, then set showDialog to TRUE
1641         -- If you don't want to see a dialog (only possible, if you have a hPrnDC
1642     -- or the dialog box was opened once before) then set <showDialog> to FALSE.
1643     -- <showBackground> : When set to FALSE then print the view without background color
1644     -- (background is white)
1645         -- else set to TRUE for printing with current background color.
1646     -- <filename>: If != NULL, then the view will be printed to a file.
1647     -- <printAlgorithm>: If you want to select the print algorithm, then you can
1648         -- specify one of existing algorithms: Aspect_PA_STRETCH, Aspect_PA_TILE.
1649     -- Returns Standard_True if the data is passed to the printer, otherwise
1650     -- Standard_False if the print operation failed. This might be related to
1651     -- insufficient memory or some internal errors. All this errors are
1652     -- indicated by the message boxes (on level of OpenGl_GraphicDriver).
1653     --  Warning: This function can reuse FBO assigned to the 
1654     --  view on level of OpenGl_GraphicDriver; Please take it into account if
1655     --  you use it for your purposes;
1656     --  Warning: Works only under Windows.
1657
1658         ToPixMap ( me : mutable;
1659                    theImage  : in out PixMap from Image;
1660                    theWidth  : Integer from Standard;
1661                    theHeight : Integer from Standard;
1662                    theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB;
1663                    theForceCentered : Boolean from Standard = Standard_True )
1664         returns Boolean from Standard;
1665         ---Level   : Public
1666         ---Purpose : dump the full contents of the view
1667         --        to a pixmap of pixel size <theWidth>*<theHeight> and
1668         --        buffer type <theBufferType>. If <theForceCentered> is true
1669         --        view scene will be centered.
1670         --       Pixmap will be automatically (re)allocated when needed.
1671
1672     SetProjModel( me : mutable;
1673         amOdel: TypeOfProjectionModel from V3d = V3d_TPM_SCREEN )
1674         is static;
1675          ---Level   : Advanced
1676          ---Purpose : Manages projection model
1677
1678     ProjModel( me )
1679         returns TypeOfProjectionModel from V3d
1680         is static;
1681          ---Level   : Advanced
1682          ---Purpose : Returns the current projection model
1683
1684         SetBackFacingModel ( me     : mutable;
1685             aModel : TypeOfBackfacingModel from V3d = V3d_TOBM_AUTOMATIC)
1686             is static;
1687          ---Level   : Public
1688          ---Purpose : Manages display of the back faces
1689      -- When <aModel> is TOBM_AUTOMATIC the object backfaces
1690      -- are displayed only for surface objects and
1691      -- never displayed for solid objects.
1692      -- this was the previous mode.
1693      --      <aModel> is TOBM_ALWAYS_DISPLAYED the object backfaces
1694      --       are always displayed both for surfaces or solids.
1695      --      <aModel> is TOBM_NEVER_DISPLAYED the object backfaces
1696      --       are never displayed.
1697
1698         BackFacingModel ( me )
1699             returns TypeOfBackfacingModel from V3d
1700         is static;
1701          ---Level   : Public
1702          ---Purpose : Returns current state of the back faces display
1703
1704         EnableDepthTest( me; enable : Boolean from Standard = Standard_True )
1705         is static;
1706      ---Level: Public
1707      ---Purpose: turns on/off opengl depth testing
1708
1709         IsDepthTestEnabled( me ) returns Boolean from Standard
1710         is static;
1711      ---Level: Public
1712      ---Purpose: returns the current state of the depth testing
1713
1714         EnableGLLight( me; enable : Boolean from Standard = Standard_True )
1715         is static;
1716      ---Level: Public
1717      ---Purpose: turns on/off opengl lighting, currently used in triedron displaying
1718
1719         IsGLLightEnabled( me ) returns Boolean from Standard
1720         is static;
1721      ---Level: Public
1722      ---Purpose: returns the current state of the gl lighting
1723      --          currently used in triedron displaying
1724
1725
1726 fields
1727
1728         MyType :                TypeOfView from V3d is protected ;
1729         MyViewer :              ViewerPointer from V3d ;
1730         MyActiveLights:         ListOfTransient from V3d;
1731         MyActivePlanes:         ListOfTransient from V3d;
1732
1733         MyView :                View from Visual3d is protected ;
1734         MyViewMapping :         ViewMapping from Visual3d is protected ;
1735         MyViewOrientation :     ViewOrientation from Visual3d ;
1736         MyViewContext :         ContextView from Visual3d ;
1737         MyBackground:           Background from Aspect ;
1738         MyGradientBackground:   GradientBackground from Aspect ;
1739         MyDefaultViewAxis:      Vector from Graphic3d ;
1740         MyDefaultViewPoint:     Vertex from Graphic3d ;
1741
1742         MyWindow:               Window from Aspect;
1743
1744         MyPlotter:              Plotter from Graphic3d;
1745
1746         myActiveLightsIterator: ListIteratorOfListOfTransient from TColStd;
1747         myActivePlanesIterator: ListIteratorOfListOfTransient from TColStd;
1748
1749         sx,sy: Integer from Standard;
1750         rx,ry: Real from Standard;
1751         gx,gy,gz: Real from Standard;
1752         myComputedMode: Boolean from Standard;
1753         SwitchSetFront: Boolean from Standard;
1754         MyZoomAtPointX, MyZoomAtPointY : Integer from Standard;
1755
1756         -- the 3d grid
1757         MyGrid                  :       Grid from Aspect;
1758         MyPlane                 :       Ax3 from gp;
1759
1760         --MyColorScale            :       ColorScale from V3d;
1761         MyLayerMgr              :       LayerMgr from V3d;
1762
1763         -- the transformation between XoY and the grid plane
1764         MyTrsf                  :       Array2OfReal from TColStd;
1765
1766         -- echo
1767         MyGridEchoStructure             :       Structure from Graphic3d;
1768         MyGridEchoGroup                 :       Group from Graphic3d;
1769
1770     MyProjModel         :   TypeOfProjectionModel from V3d is protected;
1771     MyAnimationFlags        :   Integer from Standard;
1772
1773     MyTransparencyFlag      : Boolean from Standard;
1774 friends
1775
1776         SetViewOn from class Viewer from V3d ( me : mutable ),
1777         SetViewOn from class Viewer from V3d ( me : mutable ; View : View from V3d ),
1778         SetViewOff from class Viewer from V3d ( me : mutable ),
1779         SetViewOff from class Viewer from V3d ( me : mutable ; View : View from V3d )
1780
1781 end View;