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