0024002: Overall code and build procedure refactoring -- automatic
[occt.git] / src / V3d / V3d_View.cdl
diff --git a/src/V3d/V3d_View.cdl b/src/V3d/V3d_View.cdl
deleted file mode 100644 (file)
index 3b94bc6..0000000
+++ /dev/null
@@ -1,1542 +0,0 @@
--- Created on: 1992-01-15
--- Created by: GG
--- Copyright (c) 1992-1999 Matra Datavision
--- Copyright (c) 1999-2014 OPEN CASCADE SAS
---
--- This file is part of Open CASCADE Technology software library.
---
--- This library is free software; you can redistribute it and/or modify it under
--- the terms of the GNU Lesser General Public License version 2.1 as published
--- by the Free Software Foundation, with special exception defined in the file
--- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
--- distribution for complete text of the license and disclaimer of any warranty.
---
--- Alternatively, this file may be used under the terms of Open CASCADE
--- commercial license or contractual agreement.
-
--- Modified:    FMN - 24/12/97 -> Suppression GEOMLITE
---              stt:25-02-98; S3558: ajout IfManageStandardEvent
---              stt:08-04-98; suppr IfManageStandardEvent
---              CAL - 18/08/98 -> S3892. Ajout grilles 3d.
---              BGN - 16-09-98; Points d'entree du Triedre (S3819, Phase 1)
---              22-09-98 ; BGN : S3989 (anciennement S3819)
---                               TypeOfTriedron* from Aspect(et pas V3d)
---              CAL - 21/10/98 -> Speciale. Ajout methode Tumble.
---              29-OCT-98 : DCB : Adding ScreenCopy () method.
---      GG - 24/01/00 : -> Remove internal PixToRef() method, use Convert()
---                method instead.
---              -> Rename internal RefToPix() to Convert() method.
---              -> Add ConvertToGrid() methods,
---                 the Compute() internal method become private.
---              -> Add SetProjModel() method.
---      VKH - 15/11/99 : G004
---              -> Add method Dump()
---      THA  - 17/08/00 Thomas HARTL <t-hartl@muenchen.matra-dtv.fr>
---              -> Add Print method (works only under Windows).
---              VSV - 28/05/02: ZBUFFER mode of Trihedron
---              SAV - 23/12/02  -> Added methods to set background image
---              NKV - 23/07/07  -> Define custom projection and model view matrixes
---              NKV - 08/02/07  -> Add ConvertWithProj() method
-
-class View from V3d inherits TShared from MMgt
-
-        ---Purpose: Defines the application object VIEW for the
-        --          VIEWER application.
-        --          The methods of this class allow the editing
-        --          and inquiring the parameters linked to the view.
-        --          (Projection,Mapping,Zclipping,DepthCueing,AntiAliasing
-        --           et Conversions) .
-        --          Provides a set of services common to all types of view.
-        --  Warning: The default parameters are defined by the class
-        --          Viewer (Example : SetDefaultViewSize()).
-        --          Certain methods are mouse oriented, and it is
-        --          necessary to know the difference between the start and
-        --          the continuation of this gesture in putting the method
-        --          into operation.
-        --          Example : Shifting the eye-view along the screen axes.
-        --
-        --              View->Move(10.,20.,0.,True)     (Starting motion)
-        --              View->Move(15.,-5.,0.,False)    (Next motion)
-
-uses
-
-        -- S3892
-        Pnt                     from gp,
-        Dir                     from gp,
-        Ax3                     from gp,
-        LayerMgr                from V3d,
-        ColorScale              from V3d,
-        ColorScale              from Aspect,
-        Array2OfReal            from TColStd,
-        Grid                    from Aspect,
-        Handle                  from Aspect,
-        Structure               from Graphic3d,
-        Group                   from Graphic3d,
-
-        ListOfTransient                   from V3d,
-        ListIteratorOfListOfTransient     from TColStd,
-        TypeOfView                        from V3d,
-        TypeOfAxe                         from V3d,
-        TypeOfOrientation                 from V3d,
-        TypeOfShadingModel                from V3d,
-        TypeOfSurfaceDetail               from V3d,
-        TextureEnv                        from Graphic3d,
-        TypeOfVisualization               from V3d,
-        TypeOfZclipping                   from V3d,
-        TypeOfBackfacingModel             from V3d,
-        StereoDumpOptions                 from V3d,
-        Viewer                            from V3d,
-        Light                             from V3d,
-        View                              from Visual3d,
-        ContextView                       from Visual3d,
-        Vector                            from Graphic3d,
-        Vertex                            from Graphic3d,
-        Camera                            from Graphic3d,
-        Window                            from Aspect,
-        PixMap                            from Image,
-        BufferType                        from Graphic3d,
-        Background                        from Aspect,
-        GradientBackground                from Aspect,
-        TypeOfColor                       from Quantity,
-        NameOfColor                       from Quantity,
-        Color                             from Quantity,
-        Length                            from Quantity,
-        PlaneAngle                        from Quantity,
-        Parameter                         from Quantity,
-        Factor                            from Quantity,
-        Ratio                             from Quantity,
-        Coefficient                       from Quantity,
-        Coordinate                        from V3d,
-        Array2OfReal                      from TColStd,
-        ViewerPointer                     from V3d,
-        TypeOfTriedronEcho                from Aspect,
-        TypeOfTriedronPosition            from Aspect,
-        RenderingContext                  from Aspect,
-        GraphicCallbackProc               from Aspect,
-        FillMethod                        from Aspect,
-        GradientFillMethod                from Aspect,
-        FontAspect                        from Font,
-        AsciiString                       from TCollection,
-        ExtendedString                    from TCollection,
-        PrintAlgo                         from Aspect,
-        ClipPlane                         from Graphic3d,
-        GraduatedTrihedron               from Graphic3d,
-        SequenceOfHClipPlane              from Graphic3d,
-        RenderingMode                     from Graphic3d,
-        RenderingParams                   from Graphic3d,
-        XYZ                               from gp,
-        Box                               from Bnd
-raises
-
-        BadValue from V3d, TypeMismatch from Standard,
-        MultiplyDefined from Standard,UnMapped from V3d
-
-is
-
-        Create ( VM : Viewer; Type : TypeOfView from V3d = V3d_ORTHOGRAPHIC );
-        ---Purpose: Initializes the view.
-
-        Create (theVM : Viewer; theView : View from V3d);
-        ---Purpose: Initializes the view by copying.
-
-        --------------------------------------------------------
-        ---Category: Methods to modify the Status of the view
-        --------------------------------------------------------
-
-        SetWindow ( me : mutable ; IdWin : Window )
-        ---Purpose: Activates the view in the window specified and Map the
-        --          Window to the screen.
-        raises MultiplyDefined from Standard;
-        ---Level: Public
-        ---Purpose:  Warning! raises MultiplyDefined from Standard
-        --      if the view is already activated in a window.
-        --  Warning: The view is centered and resized to preserve
-        --          the height/width ratio of the window.
-
-        SetWindow ( me            : mutable ;
-                    aWindow       : Window from Aspect;
-                    aContext      : RenderingContext from Aspect;
-                    aDisplayCB    : GraphicCallbackProc from Aspect;
-                    aClientData   : Address from Standard
-          )
-        ---Purpose: Activates the view in the specified Window
-        --      If <aContext> is not NULL the graphic context is used
-        --          to draw something in this view.
-        --      Otherwise an internal graphic context is created.
-        --      If <aDisplayCB> is not NULL then a user display CB is
-        --      call at the end of the OCC graphic traversal and just
-        --      before the swap of buffers. The <aClientData> is pass
-        --      to this call back.
-        raises MultiplyDefined from Standard;
-        ---Level: Public
-        ---Purpose:  Warning! raises MultiplyDefined from Standard
-        --      if the view is already activated in a window.
-        --  Warning: The view is centered and resized to preserve
-        --          the height/width ratio of the window.
-
-        SetMagnify (me: mutable; IdWin            : Window;
-                                 aPreviousView    : View from V3d;
-                                 x1 , y1 , x2 , y2: Integer from Standard)
-        is static;
-
-        Remove ( me );
-        ---Level: Public
-        ---Purpose: Destroys the view.
-
-        Update ( me ) is static;
-        ---Level: Public
-        ---Purpose: Deprecated, Redraw() should be used instead.
-
-        Redraw ( me );
-        ---Level: Public
-        ---Purpose: Redisplays the view even if there has not
-        --          been any modification.
-        --          Must be called if the view is shown.
-        --          (Ex: DeIconification ) .
-
-        RedrawImmediate ( me );
-        ---Level: Public
-        ---Purpose: Updates layer of immediate presentations.
-
-        Invalidate ( me );
-        ---Level: Public
-        ---Purpose: Invalidates view content but does not redraw it.
-
-        Redraw ( me ;x,y,width,height: Integer from Standard);
-        ---Level: Public
-        ---Purpose: Redisplays the view area after esxposure.
-    -- [x,y] define the min xy area position
-    -- [width,height] the size of the area in pixel unit.
-
-        MustBeResized ( me : mutable )
-        ---Level: Public
-        ---Purpose: Must be called when the window supporting the
-        --          view changes size.
-        raises UnMapped from V3d;
-        ---Purpose:      if the view is not mapped on a window.
-        --  Warning: The view is centered and resized to preserve
-        --          the height/width ratio of the window.
-
-        DoMapping ( me : mutable );
-        ---Level: Advanced
-        ---Purpose: Must be called when the window supporting the
-        --          view is mapped or unmapped.
-
-        IsEmpty ( me ) returns Boolean;
-        ---Level: Public
-        ---Purpose: Returns the status of the view regarding
-        --          the displayed structures inside
-        --          Returns True is The View is empty
-
-        UpdateLights (me);
-        ---Level: Public
-        ---Purpose: Updates the lights of the view. The view is redrawn.
-
-        AutoZFit (me : mutable);
-        ---Level: Public
-        ---Purpose: If automatic z-range fitting is turned on, adjusts Z-min and Z-max
-        --          projection volume planes with call to ZFitAll.
-
-        ZFitAll (me : mutable; theScaleFactor : Real from Standard = 1.0);
-        ---Level: Public
-        ---Purpose: Change Z-min and Z-max planes of projection volume to match the
-        --          displayed objects. 
-
-        --------------------------------------------------------
-        ---Category: Methods to modify the Attributes of the view
-        --------------------------------------------------------
-
-        SetBackgroundColor ( me : mutable ;
-                        Type : TypeOfColor; V1, V2, V3 : Parameter );
-        ---Level: Public
-        ---Purpose: Defines the background colour of the view
-        --          by supplying :
-        --          the colour definition type,
-        --          and the three corresponding values.
-
-        SetBackgroundColor ( me : mutable ; Color : Color from Quantity );
-        ---Level: Public
-        ---Purpose: Defines the background colour of the view
-        --          by supplying :
-        --          the colour object.
-
-        SetBackgroundColor ( me : mutable ; Name : NameOfColor );
-        ---Level: Public
-        ---Purpose: Defines the background colour of the view
-        --          by supplying :
-        --          the colour name in the form Quantity_NOC_xxxx .
-
-        SetBgGradientColors ( me : mutable ;
-                              Color1 : Color from Quantity;
-                              Color2 : Color from Quantity;
-                              FillStyle : GradientFillMethod from Aspect = Aspect_GFM_HOR;
-                              update    : Boolean from Standard = Standard_False );
-        ---Level: Public
-        ---Purpose: Defines the gradient background colours of the view
-        --          by supplying :
-        --          two colour objects,
-        --          and fill method (horizontal by default)
-
-        SetBgGradientColors ( me : mutable ;
-                              Color1 : NameOfColor;
-                              Color2 : NameOfColor;
-                              FillStyle : GradientFillMethod from Aspect = Aspect_GFM_HOR;
-                              update    : Boolean from Standard = Standard_False );
-        ---Level: Public
-        ---Purpose: Defines the gradient background colours of the view
-        --          by supplying :
-        --          two colour names in the form Quantity_NOC_xxxx,
-        --          and fill method (horizontal by default)
-
-        SetBgGradientStyle( me : mutable ;
-                            AMethod : GradientFillMethod from Aspect = Aspect_GFM_HOR;
-                            update  : Boolean from Standard = Standard_False);
-        ---Level: Public
-        ---Purpose: Defines the gradient background fill method of the view
-
-        SetBackgroundImage( me : mutable; FileName  : CString from Standard;
-              FillStyle : FillMethod from Aspect = Aspect_FM_CENTERED;
-                  update    : Boolean from Standard = Standard_False );
-        ---Level: Public
-        ---Purpose: Defines the background texture of the view
-        ---         by supplying :
-        ---         texture image file name,
-        ---         and fill method (centered by default)
-
-        SetBgImageStyle( me : mutable; FillStyle : FillMethod from Aspect;
-                                   update    : Boolean from Standard = Standard_False );
-        ---Level: Public
-        ---Purpose: Defines the textured background fill method of the view
-
-        SetAxis ( me : mutable; X,Y,Z : Coordinate ;
-                                Vx,Vy,Vz : Parameter )
-        ---Level: Public
-        ---Purpose: Definition of an axis from its origin and
-        --          its orientation .
-        --          This will be the current axis for rotations and movements.
-        raises BadValue from V3d;
-        ---Purpose:  Warning! raises BadValue from V3d if the vector normal is NULL. .
-
-        SetShadingModel ( me : mutable; Model : TypeOfShadingModel );
-        ---Level: Public
-        ---Purpose: Defines the shading model for the
-        --          visualisation ZBUFFER mode.
-        --          Various models are available.
-
-        SetSurfaceDetail(me  : mutable; SurfaceDetail : TypeOfSurfaceDetail);
-        ---Level: Public
-        ---Purpose: select the kind of rendering for texture mapping
-        --          no texture mapping by default
-
-        SetTextureEnv(me  : mutable; ATexture  :  TextureEnv  from  Graphic3d);
-        ---Level: Public
-        ---Purpose: set the environment texture to use
-        --          no environment texture by default
-
-        SetVisualization ( me : mutable;
-                                Mode : TypeOfVisualization from V3d );
-        ---Level: Public
-        ---Purpose: Defines the visualisation mode in the view.
-
-        SetAntialiasingOn ( me : mutable );
-        ---Level: Public
-        ---Purpose: Activates antialiasing in the view.
-
-        SetAntialiasingOff ( me : mutable );
-        ---Level: Public
-        ---Purpose: Desactivates antialiasing in the view.
-
-        SetZClippingDepth ( me : mutable; Depth : Length );
-        ---Level: Public
-        ---Purpose: Defines the depth of the medium clipping plane.
-
-        SetZClippingWidth ( me : mutable; Width : Length )
-        ---Level: Public
-        ---Purpose: Defines the thicknes around the medium clippling plane.   .
-                raises BadValue from V3d;
-        --      If the thickness is <= 0
-
-        SetZClippingType ( me : mutable; Type : TypeOfZclipping );
-        ---Level: Public
-        ---Purpose: Defines the type of ZClipping.
-
-        SetZCueingDepth ( me : mutable; Depth : Length );
-        ---Level: Public
-        ---Purpose: Defines the depth of the medium plane.
-
-        SetZCueingWidth ( me : mutable; Width : Length )
-        ---Level: Public
-        ---Purpose: Defines the thickness around the medium plane.
-                raises BadValue from V3d;
-        --      If thickness is <= 0
-
-        SetZCueingOn ( me : mutable );
-        ---Level: Public
-        ---Purpose: Activates ZCueing in the view.
-
-        SetZCueingOff ( me : mutable );
-        ---Level: Public
-        ---Purpose: Desactivates ZCueing in the view.
-
-        SetLightOn( me : mutable ; MyLight : Light from V3d )
-        ---Level: Public
-        ---Purpose: Activates MyLight in the view.
-                raises BadValue from V3d;
-        --      If No More Light can be activated in MyView .
-
-        SetLightOn( me : mutable )
-        ---Level: Public
-        ---Purpose: Activates all the lights defined in this view.
-                raises BadValue from V3d;
-        --      If No More Light can be activated in MyView .
-
-        SetLightOff( me : mutable ; MyLight : Light  from V3d );
-        ---Level: Public
-        ---Purpose: Desactivate MyLight in this view.
-
-        SetLightOff( me : mutable );
-        ---Level: Public
-        ---Purpose: Deactivate all the Lights defined in this view.
-
-        IsActiveLight( me ; aLight: Light  from V3d )
-        returns Boolean from Standard;
-        ---Level: Public
-        ---Purpose: Returns TRUE when the light is active in this view.
-
-        SetImmediateUpdate(me: mutable; theImmediateUpdate: Boolean from Standard)
-        returns Boolean from Standard;
-         ---Purpose: sets the immediate update mode and returns the previous one.
-
-        ---------------------------------------------------
-        --           Triedron methods
-        ---------------------------------------------------
-
-        ZBufferTriedronSetup ( me      : mutable;
-                           XColor  : NameOfColor from Quantity = Quantity_NOC_RED;
-                           YColor  : NameOfColor from Quantity = Quantity_NOC_GREEN;
-                           ZColor  : NameOfColor from Quantity = Quantity_NOC_BLUE1;
-                   SizeRatio : Real from Standard = 0.8;
-                   AxisDiametr : Real from Standard = 0.05;
-                   NbFacettes  : Integer from Standard = 12)
-         is static;
-        ---Level: Advanced
-        ---Purpose: Customization of the ZBUFFER Triedron.
-        ---         XColor,YColor,ZColor - colors of axis
-        ---         SizeRatio - ratio of decreasing of the trihedron size when its phisical
-        ---                     position comes out of the view
-        ---         AxisDiametr - diameter relatively to axis length
-        ---         NbFacettes - number of facettes of cylinders and cones
-
-        TriedronDisplay ( me            : mutable;
-                          APosition     : TypeOfTriedronPosition from Aspect  = Aspect_TOTP_CENTER;
-                          AColor        : NameOfColor from Quantity = Quantity_NOC_WHITE ;
-                          AScale        : Real from Standard  =  0.02;
-                          AMode         : TypeOfVisualization from V3d = V3d_WIREFRAME )
-                is static;
-        ---Level: Advanced
-        ---Purpose: Display of the Triedron.
-        ---         Initialize position, color and length of Triedron axes.
-        ---         The scale is a percent of the window width.
-        ---Category:
-
-        TriedronErase ( me : mutable )
-                is static;
-        ---Level: Advanced
-        ---Purpose: Erases the Triedron.
-        ---Category:
-
-        TriedronEcho ( me       : mutable;
-                       AType    : TypeOfTriedronEcho from Aspect  = Aspect_TOTE_NONE )
-                is static;
-        ---Level: Advanced
-        ---Purpose: Highlights the echo zone of the Triedron.
-        ---Category:
-
-        ---------------------------------
-        ---Category: Graduated trihedron
-        ---------------------------------
-
-        GetGraduatedTrihedron (me)
-        returns GraduatedTrihedron from Graphic3d
-        ---Purpose: Returns data of a graduated trihedron.
-        ---C++: return const&
-        is static;
-
-        GraduatedTrihedronDisplay(me : mutable;
-                                  theTrigedronData: in GraduatedTrihedron from Graphic3d)
-        ---Purpose: Displays a graduated trihedron.
-        is static;
-
-        GraduatedTrihedronErase(me : mutable)
-        ---Purpose: Erases a graduated trihedron from the view.
-        is static;
-
-        ---------------------------------------------------
-        --           Color Scale methods
-        ---------------------------------------------------
-
-        SetLayerMgr(me : mutable; aMgr : LayerMgr from V3d);
-
-        ColorScaleDisplay(me : mutable);
-
-        ColorScaleErase(me : mutable);
-
-        ColorScaleIsDisplayed(me)
-        returns Boolean from Standard;
-
-        ColorScale(me)
-        returns ColorScale from Aspect;
-
-        --------------------------------------------------------
-        ---Category: Methods to modify the Projection of the view
-        --------------------------------------------------------
-
-        SetFront(me: mutable);
-        ---Level: Public
-        ---Purpose: modify the Projection of the view perpendicularly to
-        --          the privileged plane of the viewer.
-
-        Rotate ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
-                                Start    : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Rotates the eye about the coordinate system of
-        --          reference of the screen
-        --          for which the origin is the view point of the projection,
-        --          with a relative angular value in RADIANS with respect to
-        --          the initial position expressed by Start = Standard_True
-        raises BadValue from V3d;
-        ---Purpose:  Warning! raises BadValue from V3d
-        --      If the eye, the view point, or the high point are
-        --          aligned or confused.
-
-        Rotate ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
-                                X,Y,Z    : Coordinate ;
-                                Start    : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Rotates the eye about the coordinate system of
-        --          reference of the screen
-        --          for which the origin is Gravity point {X,Y,Z},
-        --          with a relative angular value in RADIANS with respect to
-        --          the initial position expressed by Start = Standard_True
-                raises BadValue from V3d;
-        ---Purpose:      If the eye, the view point, or the high point are
-        --          aligned or confused.
-
-        Rotate ( me : mutable ; Axe      : TypeOfAxe ; Angle : PlaneAngle ;
-                                X,Y,Z    : Coordinate ;
-                                Start    : Boolean = Standard_True );
-        ---Level: Public
-        ---Purpose: Rotates the eye about one of the coordinate axes of
-        --          of the view for which the origin is the Gravity point{X,Y,Z}
-        --          with an relative angular value in RADIANS with
-        --          respect to the initial position expressed by
-        --          Start = Standard_True
-
-        Rotate ( me : mutable ; Axe    : TypeOfAxe ; Angle : PlaneAngle ;
-                                Start : Boolean = Standard_True ) ;
-        ---Level: Public
-        ---Purpose: Rotates the eye about one of the coordinate axes of
-        --          of the view for which the origin is the view point of the
-        --          projection with an relative angular value in RADIANS with
-        --          respect to the initial position expressed by
-        --          Start = Standard_True
-
-        Rotate ( me : mutable ; Angle : PlaneAngle ;
-                                Start : Boolean = Standard_True );
-        ---Level: Public
-        ---Purpose: Rotates the eye around the current axis a relative
-        --          angular value in RADIANS with respect to the initial
-        --          position expressed by Start = Standard_True
-
-        Move ( me : mutable ; Dx,Dy,Dz : Length ;
-                              Start    : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Movement of the eye parallel to the coordinate system
-        --          of reference of the screen a distance relative to the
-        --          initial position expressed by Start = Standard_True.
-                raises BadValue from V3d;
-        --      If the eye, the view point, or the high point are
-        --      aligned or confused.
-
-        Move ( me : mutable ; Axe   : TypeOfAxe ; Length : Length ;
-                              Start : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Movement of the eye parallel to one of the axes of the
-        --          coordinate system of reference of the view a distance
-        --          relative to the initial position expressed by
-        --          Start = Standard_True.
-                raises BadValue from V3d;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        Move ( me : mutable ; Length : Length ;
-                              Start  : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Movement of the eye parllel to the current axis
-        --          a distance relative to the initial position
-        --          expressed by Start = Standard_True
-                raises BadValue from V3d;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        Translate ( me : mutable ; Dx,Dy,Dz : Length ;
-                                   Start    : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Movement of the ye and the view point parallel to the
-        --          frame of reference of the screen a distance relative
-        --          to the initial position expressed by
-        --          Start = Standard_True
-                raises BadValue from V3d;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        Translate ( me : mutable ; Axe   : TypeOfAxe ; Length : Length ;
-                                   Start : Boolean = Standard_True );
-        ---Level: Public
-        ---Purpose: Movement of the eye and the view point parallel to one
-        --          of the axes of the fame of reference of the view a
-        --          distance relative to the initial position
-        --          expressed by Start = Standard_True
-
-        Translate ( me : mutable ; Length : Length ;
-                                   Start  : Boolean = Standard_True );
-        ---Level: Public
-        ---Purpose: Movement of the eye and view point parallel to
-        --          the current axis a distance relative to the initial
-        --          position expressed by Start = Standard_True
-
-        Place (me            : mutable;
-               theXp         : Integer from Standard;
-               theYp         : Integer from Standard;
-               theZoomFactor : Factor from Quantity = 1)
-        ---Level: Public
-        ---Purpose: places the point of the view corresponding
-        --          at the pixel position x,y at the center of the window
-        --          and updates the view.
-        is static;
-
-        Turn ( me : mutable ; Ax,Ay,Az : PlaneAngle ;
-                              Start    : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Rotation of the view point around the frame of reference
-        --          of the screen for which the origin is the eye of the
-        --          projection with a relative angular value in RADIANS
-        --          with respect to the initial position expressed by
-        --          Start = Standard_True
-                raises BadValue from V3d;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        Turn ( me : mutable ; Axe : TypeOfAxe ; Angle : PlaneAngle ;
-                              Start : Boolean = Standard_True )
-       ;
-        ---Level: Public
-        ---Purpose: Rotation of the view point around one of the axes of the
-        --          frame of reference of the view for which the origin is
-        --          the eye of the projection with an angular value in
-        --          RADIANS relative to the initial position expressed by
-        --          Start = Standard_True
-
-        Turn ( me : mutable ; Angle : PlaneAngle ;
-                              Start : Boolean = Standard_True );
-        ---Level: Public
-        ---Purpose: Rotation of the view point around the current axis an
-        --          angular value in RADIANS relative to the initial
-        --          position expressed by Start = Standard_True
-
-        SetTwist ( me : mutable ; Angle : PlaneAngle )
-        ---Level: Public
-        ---Purpose: Defines the angular position of the high point of
-        --          the reference frame of the view with respect to the
-        --          Y screen axis with an absolute angular value in
-        --          RADIANS.
-                raises BadValue from V3d;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetEye( me : mutable ; X,Y,Z : Coordinate )
-        ---Level: Public
-        ---Purpose: Defines the position of the eye..
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetDepth( me : mutable ; Depth : Length )
-        ---Level: Public
-        ---Purpose: Defines the Depth of the eye from the view point
-        --          without update the projection .
-                raises BadValue from V3d ;
-        --      If the Depth is <= 0.
-
-        SetProj( me : mutable ; Vx,Vy,Vz : Parameter )
-        ---Level: Public
-        ---Purpose: Defines the orientation of the projection.
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetProj( me : mutable ; Orientation : TypeOfOrientation )
-        ---Level: Public
-        ---Purpose: Defines the orientation of the projection .
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-        --          Updates the view
-
-        SetAt( me : mutable ; X,Y,Z : Coordinate )
-        ---Level: Public
-        ---Purpose: Defines the position of the view point.
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetUp( me : mutable ; Vx,Vy,Vz : Parameter )
-        ---Level: Public
-        ---Purpose: Defines the orientation of the high point.
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetUp( me : mutable ; Orientation : TypeOfOrientation )
-        ---Level: Public
-        ---Purpose: Defines the orientation(SO) of the high point.
-                raises BadValue from V3d ;
-        --      If the eye, view point, or high point are aligned or confused.
-
-        SetViewOrientationDefault( me : mutable );
-        ---Level: Public
-        ---Purpose: Saves the current state of the orientation of the view
-        --          which will be the return state at ResetViewOrientation.
-
-        ResetViewOrientation ( me : mutable );
-        ---Level: Public
-        ---Purpose: Resets the orientation of the view.
-        --          Updates the view
-
-        --------------------------------------------------------
-        ---Category: Methods to modify the Mapping of the view
-        --------------------------------------------------------
-
-        Panning (me            : mutable;
-                 theDXv        : Real from Standard;
-                 theDYv        : Real from Standard;
-                 theZoomFactor : Factor from Quantity = 1;
-                 theToStart    : Boolean = Standard_True);
-        ---Level: Public
-        ---Purpose: Translates the center of the view along "x" and "y" axes of
-        -- view projection. Can be used to perform interactive panning operation.
-        -- In that case the DXv, DXy parameters specify panning relative to the
-        -- point where the operation is started.
-        -- @param theDXv [in] the relative panning on "x" axis of view projection, in view space coordinates.
-        -- @param theDYv [in] the relative panning on "y" axis of view projection, in view space coordinates.
-        -- @param theZoomFactor [in] the zooming factor.
-        -- @param theToStart [in] pass TRUE when starting panning to remember view
-        -- state prior to panning for relative arguments. If panning is started,
-        -- passing {0, 0} for {theDXv, theDYv} will return view to initial state.
-        -- Performs update of view.
-
-        SetCenter (me : mutable; theXp, theYp : Integer from Standard)
-        ---Level: Public
-        ---Purpose: Relocates center of screen to the point, determined by
-        -- {Xp, Yp} pixel coordinates relative to the bottom-left corner of
-        -- screen. To calculate pixel coordinates for any point from world
-        -- coordinate space, it can be projected using "Project".
-        -- @param theXp [in] the x coordinate.
-        -- @param theYp [in] the y coordinate.
-        raises BadValue from V3d;
-        -- If one of the dimensions of the projection is NULL.
-
-        SetSize ( me : mutable; theSize : Length )
-        ---Level: Public
-        ---Purpose: Defines the view projection size in its maximum dimension,
-        --          keeping the inital height/width ratio unchanged.
-                raises BadValue from V3d;
-        --      If <theSize> is <= 0.0
-
-        SetZSize ( me : mutable ; Size : Length )
-        ---Level: Public
-        ---Purpose: Defines the Depth size of the view
-        --          Front Plane will be set to Size/2.
-        --          Back  Plane will be set to -Size/2.
-        --          Any Object located Above the Front Plane or
-        --                             behind the Back Plane will be Clipped .
-        --          NOTE than the XY Size of the View is NOT modified .
-                raises BadValue from V3d ;
-        --      If the size of the view is <= 0
-
-        SetZoom ( me : mutable ; Coef : Factor ; Start : Boolean = Standard_True )
-        ---Level: Public
-        ---Purpose: Zooms the view by a factor relative to the initial
-        --          value expressed by Start = Standard_True
-        --          Updates the view.
-                raises BadValue from V3d ;
-        --      If the zoom coefficient is <= 0
-
-        SetScale ( me : mutable ; Coef : Factor )
-        ---Level: Public
-        ---Purpose: Zooms the view by a factor relative to the value
-        --          initialised by SetViewMappingDefault().
-        --          Updates the view.
-                raises BadValue from V3d ;
-        --      If the zoom coefficient is <= 0
-
-    SetAxialScale ( me : mutable ; Sx, Sy, Sz : Real from Standard )
-        ---Level: Public
-        ---Purpose: Sets  anisotropic (axial)  scale  factors  <Sx>, <Sy>, <Sz>  for  view <me>.
-    -- Anisotropic  scaling  operation  is  performed  through  multiplying
-    -- the current view  orientation  matrix  by  a  scaling  matrix:
-    -- || Sx  0   0   0 ||
-    -- || 0   Sy  0   0 ||
-    -- || 0   0   Sz  0 ||
-    -- || 0   0   0   1 ||
-        -- Updates the view.
-                raises BadValue from V3d ;
-        --      If the one of factors <= 0
-
-        FitAll (me : mutable;
-                theMargin : Coefficient = 0.01;
-                theToUpdate : Boolean from Standard = Standard_True);
-        ---Level: Public
-        ---Purpose: Adjust view parameters to fit the displayed scene, respecting height / width ratio.
-        --          The Z clipping range (depth range) is fitted if AutoZFit flag is TRUE.
-        --          Throws program error exception if margin coefficient is < 0 or >= 1.
-        --          Updates the view.
-        --          @param theMargin [in] the margin coefficient for view borders.
-        --          @param theToUpdate [in] flag to perform view update.
-
-        FitAll (me          : mutable;
-                theBox      : Box from Bnd;
-                theMargin   : Coefficient = 0.01;
-                theToUpdate : Boolean from Standard = Standard_True);
-        ---Level: Public
-        ---Purpose: Adjust view parameters to fit the displayed scene, respecting height / width ratio
-        --          according to the custom bounding box given.
-        --          Throws program error exception if margin coefficient is < 0 or >= 1.
-        --          Updates the view.
-        --          @param theBox [in] the custom bounding box to fit.
-        --          @param theMargin [in] the margin coefficient for view borders.
-        --          @param theToUpdate [in] flag to perform view update.
-
-        DepthFitAll( me : mutable ;   Aspect : Coefficient = 0.01;
-                                      Margin : Coefficient = 0.01 );
-        ---Level: Public
-        ---Purpose: Adjusts the viewing volume so as not to clip the displayed objects by front and back
-        --          and back clipping planes. Also sets depth value automatically depending on the
-        --          calculated Z size and Aspect parameter.
-        --          NOTE than the original XY size of the view is NOT modified .
-
-        FitAll (me : mutable;
-                theMinXv : Real from Standard;
-                theMinYv : Real from Standard;
-                theMaxXv : Real from Standard;
-                theMaxYv : Real from Standard)
-        ---Level: Public
-        ---Purpose: Centers the defined projection window so that it occupies
-        --          the maximum space while respecting the initial
-        --          height/width ratio.
-        --          NOTE than the original Z size of the view is NOT modified .
-                raises BadValue from V3d;
-        --              If the defined projection window has zero size.
-
-        WindowFit (me : mutable; theMinXp, theMinYp, theMaxXp, theMaxYp : Integer)
-        ---Level: Public
-        ---Purpose: Centers the defined PIXEL window so that it occupies
-        -- the maximum space while respecting the initial height/width ratio.
-        -- NOTE than the original Z size of the view is NOT modified.
-        -- @param theMinXp [in] pixel coordinates of minimal corner on x screen axis.
-        -- @param theMinYp [in] pixel coordinates of minimal corner on y screen axis.
-        -- @param theMaxXp [in] pixel coordinates of maximal corner on x screen axis.
-        -- @param theMaxYp [in] pixel coordinates of maximal corner on y screen axis.
-        is static;
-        SetViewMappingDefault( me : mutable );
-        ---Level: Public
-        ---Purpose: Saves the current view mapping. This will be the
-        --          state returned from ResetViewmapping.
-
-        ResetViewMapping ( me : mutable );
-        ---Level: Public
-        ---Purpose: Resets the centering of the view.
-        --          Updates the view
-
-        Reset ( me : mutable; update : Boolean from Standard = Standard_True );
-        ---Level: Public
-        ---Purpose: Resets the centering and the orientation of the view
-        --          Updates the view
-        ---------------------------------------------------
-        ---Category: Inquire methods
-        ---------------------------------------------------
-
-        Convert( me ; Vp : Integer ) returns Length
-        ---Level: Public
-        ---Purpose : Converts the PIXEL value
-        --           to a value in the projection plane.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        Convert( me ; Xp,Yp : Integer ; Xv,Yv : out Coordinate )
-        ---Level: Public
-        ---Purpose : Converts the point PIXEL into a point projected
-        --           in the reference frame of the projection plane.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        Convert( me ; Vv : Length ) returns Integer
-        ---Level: Public
-        ---Purpose : Converts tha value of the projection plane into
-        --           a PIXEL value.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        Convert( me ; Xv,Yv : Coordinate ; Xp,Yp : out Integer )
-        ---Level: Public
-        ---Purpose : Converts the point defined in the reference frame
-        --           of the projection plane into a point PIXEL.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        Convert( me ; Xp,Yp : Integer ; X,Y,Z : out Coordinate)
-        ---Level: Public
-        ---Purpose : Converts the projected point into a point
-        --           in the reference frame of the view corresponding
-        --           to the intersection with the projection plane
-        --           of the eye/view point vector.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        ConvertWithProj( me ; Xp,Yp : Integer ; X,Y,Z : out Coordinate ; Vx,Vy,Vz : out Parameter)
-        ---Level: Public
-        ---Purpose : Converts the projected point into a point
-        --           in the reference frame of the view corresponding
-        --           to the intersection with the projection plane
-        --           of the eye/view point vector and returns the
-        --           projection ray for further computations.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        ConvertToGrid( me ; Xp,Yp : Integer ; Xg,Yg,Zg : out Coordinate)
-        ---Level: Public
-        ---Purpose : Converts the projected point into the nearest grid point
-        --           in the reference frame of the view corresponding
-        --           to the intersection with the projection plane
-        --           of the eye/view point vector and display the grid marker.
-    --  Warning: When the grid is not active the result is identical to the above Convert() method.
-    -- How to use:
-    -- 1) Enable the grid echo display
-    --    myViewer->SetGridEcho(Standard_True);
-    -- 2) When application receive a move event:
-    --   2.1) Check if any object is detected
-    --     if( myInteractiveContext->MoveTo(x,y) == AIS_SOD_Nothing ) {
-    --   2.2) Check if the grid is active
-        --     if( myViewer->Grid()->IsActive() ) {
-    --   2.3) Display the grid echo and gets the grid point
-        --       myView->ConvertToGrid(x,y,X,Y,Z);
-        --       myView->Viewer()->ShowGridEcho (myView, Graphic3d_Vertex (X,Y,Z));
-        --       myView->RedrawImmediate();
-    --   2.4) Else this is the standard case
-        --     } else myView->Convert(x,y,X,Y,Z);
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        ConvertToGrid( me ; X,Y,Z : Coordinate ; Xg,Yg,Zg : out Coordinate)
-        ---Level: Public
-        ---Purpose : Converts the point into the nearest grid point
-        --           and display the grid marker.
-    ---Warning: When the grid is not active the result is identical
-    --     to the previous point.
-        raises UnMapped from V3d;
-        --      If the view is not mapped on the window.
-
-        Convert( me ; X,Y,Z : Coordinate; Xp,Yp : out Integer) ;
-        ---Level: Public
-        ---Purpose : Projects the point defined in the reference frame of
-        --           the view into the projected point in the associated window.
-
---        RefToPix( me ; X,Y,Z : Coordinate; Xp,Yp : out Integer) ;
---        ---Purpose : Projects the point defined in the reference frame of
---        --           the view into the projected point in the associated window.
---  Obsolete : Use Convert(X,Y,Z,Xp,Yp);
-
---        PixToRef( me ; Xp,Yp : Integer; X,Y,Z : out Coordinate) ;
---        ---Purpose : Converts the projected point in the associated window of
---        --           the view into the point defined in the reference frame.
---  Obsolete : Use Convert(Xp,Yp,X,Y,Z);
-
-        Project( me ; X,Y,Z : Coordinate; Xp,Yp : out Coordinate) ;
-        ---Level: Public
-        ---Purpose : Converts the point defined in the user space of
-        --           the view to the projected view plane point at z 0.
-
-        BackgroundColor( me; Type : TypeOfColor ; V1, V2, V3 : out Parameter) ;
-        ---Level: Public
-        ---Purpose: Returns the Background color values of the view
-        --          depending of the color Type.
-
-        BackgroundColor( me ) returns Color from Quantity;
-        ---Level: Public
-        ---Purpose: Returns the Background color object of the view.
-
-        GradientBackgroundColors( me;
-                                  Color1 : out Color from Quantity;
-                                  Color2 : out Color from Quantity) ;
-        ---Level: Public
-        ---Purpose: Returns the gradient background colour objects of the view.
-
-       GradientBackground ( me ) returns GradientBackground from Aspect;
-       ---Level: Public
-       ---Purpose: Returns the gradient background of the view.
-
-        Scale ( me ) returns Factor ;
-        ---Level: Public
-        ---Purpose: Returns the current value of the zoom expressed with
-        --          respect to SetViewMappingDefault().
-
-    AxialScale ( me ; Sx, Sy, Sz : out Real from Standard ) ;
-        ---Level: Public
-        ---Purpose: Returns the current values of the anisotropic (axial) scale factors.
-
-        Size ( me; Width, Height : out Length );
-        ---Level: Public
-        ---Purpose: Returns the height and width of the view.
-
-        ZSize ( me ) returns Real ;
-        ---Level: Public
-        ---Purpose: Returns the Depth of the view .
-
-        Eye( me ; X,Y,Z : out Coordinate );
-        ---Level: Public
-        ---Purpose: Returns the position of the eye.
-
-        FocalReferencePoint (me ; X,Y,Z : out Coordinate );
-        ---Level: Public
-        ---Purpose: Returns the position of point which emanating the
-        --          projections.
-
-        ProjReferenceAxe( me ; Xpix,Ypix           : Integer ;
-                               XP,YP,ZP,VX,VY,VZ   : out Coordinate );
-        ---Level: Public
-        ---Purpose: Returns the coordinate of the point (Xpix,Ypix)
-        --          in the view (XP,YP,ZP), and the projection vector of the
-        --          view passing by the point (for PerspectiveView).
-
-        Depth( me ) returns Length ;
-        ---Level: Public
-        ---Purpose: Returns the Distance between the Eye and View Point.
-
-        Proj( me ; Vx,Vy,Vz : out Parameter );
-        ---Level: Public
-        ---Purpose: Returns the projection vector.
-
-        At( me ; X,Y,Z : out Coordinate );
-        ---Level: Public
-        ---Purpose: Returns the position of the view point.
-
-        Up( me ; Vx,Vy,Vz : out Parameter );
-        ---Level: Public
-        ---Purpose: Returns the vector giving the position of the high point.
-
-        Twist( me ) returns PlaneAngle ;
-        ---Level: Public
-        ---Purpose: Returns in RADIANS the orientation of the view around
-        --          the visual axis measured from the Y axis of the screen.
-
-        ShadingModel ( me ) returns TypeOfShadingModel ;
-        ---Level: Public
-        ---Purpose: Returns the current shading model.
-
-        SurfaceDetail(me) returns  TypeOfSurfaceDetail;
-        ---Level: Public
-        -- purpose: returns the current SurfaceDetail mode
-
-        TextureEnv(me)  returns  TextureEnv  from  Graphic3d;
-        ---Level: Public
-        -- purpose: return the current environment texture used
-
-        Visualization ( me ) returns TypeOfVisualization from V3d;
-        ---Level: Public
-        ---Purpose: Returns the current visualisation mode.
-
-        Antialiasing ( me ) returns Boolean;
-        ---Level: Public
-        ---Purpose: Indicates if the antialiasing is active (True) or
-        --          inactive (False).
-
-        ZCueing ( me; Depth, Width : out Length ) returns Boolean ;
-        ---Level: Public
-        ---Purpose: Returns activity and information on the Zcueing.
-        --          <Depth> : Depth of plane.
-        --          <Width> : Thickness around the plane.
-
-        ZClipping ( me; Depth, Width : out Length ) returns TypeOfZclipping;
-        ---Level: Public
-        ---Purpose: Returns current information on the ZClipping.
-        --          <Depth> : Depth of plane.
-        --          <Width> : Thickness around the plane.
-        --          <TypeOfZclipping>  :        "BACK"
-        --                                      "FRONT"
-        --                                      "SLICE"
-        --                                      "OFF"
-
-        IfMoreLights( me ) returns Boolean;
-        ---Level: Advanced
-        ---Purpose: Returns True if One light more can be
-        --          activated in this View.
-
-        InitActiveLights(me: mutable);
-        ---Level: Advanced
-        ---Purpose: initializes an iteration on the active Lights.
-
-        MoreActiveLights (me) returns Boolean from Standard;
-        ---Level: Advanced
-        ---Purpose: returns true if there are more active Light(s) to return.
-
-        NextActiveLights (me: mutable);
-        ---Level: Advanced
-        ---Purpose : Go to the next active Light
-        --           (if there is not, ActiveLight will raise an exception)
-
-        ActiveLight(me) returns Light from V3d;
-        ---Level: Advanced
-
-        Viewer ( me ) returns Viewer from V3d;
-        ---Level: Advanced
-        ---Purpose: Returns the viewer in which the view has been created.
-
-        IfWindow ( me ) returns Boolean;
-        ---Level: Public
-        ---Purpose: Returns True if MyView is associated with a window .
-
-        Window ( me ) returns Window from Aspect
-        ---Level: Public
-        ---Purpose: Returns the Aspect Window associated with the view.
-                raises BadValue from V3d;
-        --      If MyView is not associated with a window
-
-        Type( me ) returns TypeOfView from V3d;
-        ---Level: Public
-        ---Purpose: Returns the Type of the View
-
-        Pan (me            : mutable;
-             theDXp        : Integer from Standard;
-             theDYp        : Integer from Standard;
-             theZoomFactor : Factor from Quantity = 1;
-             theToStart    : Boolean = Standard_True);
-        ---Level: Public
-        ---Purpose: Translates the center of the view along "x" and "y" axes of
-        -- view projection. Can be used to perform interactive panning operation.
-        -- In that case the DXp, DXp parameters specify panning relative to the
-        -- point where the operation is started.
-        -- @param theDXp [in] the relative panning on "x" axis of view projection, in pixels.
-        -- @param theDYp [in] the relative panning on "y" axis of view projection, in pixels.
-        -- @param theZoomFactor [in] the zooming factor.
-        -- @param theToStart [in] pass TRUE when starting panning to remember view
-        -- state prior to panning for relative arguments. Passing 0 for relative
-        -- panning parameter should return view panning to initial state.
-        -- Performs update of view.
-
-        Zoom (me     : mutable;
-              theXp1 : Integer from Standard;
-              theYp1 : Integer from Standard;
-              theXp2 : Integer from Standard;
-              theYp2 : Integer from Standard)
-        is static;
-        ---Level: Public
-        ---Purpose: Zoom the view according to a zoom factor computed
-        -- from the distance between the 2 mouse position.
-        -- @param theXp1 [in] the x coordinate of first mouse position, in pixels.
-        -- @param theYp1 [in] the y coordinate of first mouse position, in pixels.
-        -- @param theXp2 [in] the x coordinate of second mouse position, in pixels.
-        -- @param theYp2 [in] the y coordinate of second mouse position, in pixels.
-
-        StartZoomAtPoint (me    : mutable;
-                          theXp : Integer from Standard;
-                          theYp : Integer from Standard);
-        ---Level: Public
-        ---Purpose: Defines starting point for ZoomAtPoint view operation.
-        -- @param theXp [in] the x mouse coordinate, in pixels.
-        -- @param theYp [in] the y mouse coordinate, in pixels.
-
-        ZoomAtPoint(me : mutable;
-                    theMouseStartX : Integer from Standard;
-                    theMouseStartY : Integer from Standard;
-                    theMouseEndX   : Integer from Standard;
-                    theMouseEndY   : Integer from Standard);
-        ---Level: Public
-        ---Purpose: Zooms the model at a pixel defined by the method StartZoomAtPoint().
-
-        AxialScale  ( me: mutable; Dx, Dy: Integer from Standard;  Axis:  TypeOfAxe  from  V3d );
-        ---Level: Public
-        ---Purpose: Performs  anisotropic scaling  of  <me>  view  along  the  given  <Axis>.
-            -- The  scale  factor  is  calculated on a basis of
-            -- the mouse pointer displacement <Dx,Dy>.
-        -- The  calculated  scale  factor  is  then  passed  to  SetAxialScale(Sx,  Sy,  Sz)  method.
-
-        StartRotation(me : mutable ; X,Y :Integer from Standard;
-               zRotationThreshold: Ratio from Quantity = 0.0);
-        ---Level: Public
-    ---Purpose: Begin the rotation of the view around the screen axis
-    -- according to the mouse position <X,Y>.
-    --  Warning: Enable rotation around the Z screen axis when <zRotationThreshold>
-    -- factor is > 0 soon the distance from the start point and the center
-    -- of the view is > (medium viewSize * <zRotationThreshold> ).
-    -- Generally a value of 0.4 is usable to rotate around XY screen axis
-    -- inside the circular threshold area and to rotate around Z screen axis
-    -- outside this area.
-
-        Rotation(me:mutable;  X,Y :Integer from Standard);
-        ---Level: Public
-    ---Purpose: Continues the rotation of the view
-    -- with an angle computed from the last and new mouse position <X,Y>.
-
-        FitAll ( me : mutable ; aWindow: Window from Aspect;
-                      Umin, Vmin, Umax, Vmax : Coordinate )
-        is static private;
-        ---Level: Public
-    ---Purpose: Change the scale factor and position of the view
-    -- such as the bounding box <Umin, Vmin, Umax, Vmax> is contains
-    -- in the view.
-
-
-        -----------------------------------------
-        ---Category: Private or Protected methods
-        -----------------------------------------
-
-        SetFocale( me : mutable ; Focale : Length )
-        ---Purpose: Change View Plane Distance for Perspective Views
-        raises TypeMismatch from Standard
-        ---Purpose:  Warning! raises TypeMismatch from Standard if the view
-        --          is not a perspective view.
-        is static ;
-
-        Focale( me ) returns Length;
-        ---Purpose: Returns the View Plane Distance for Perspective Views
-
-        View ( me) returns View from Visual3d is static ;
-        ---Level: Advanced
-        ---Purpose: Returns the associated Visual3d view.
-
-        ScreenAxis( myclass ; Vpn,Vup        : Dir from gp ;
-                              Xaxe,Yaxe,Zaxe : out Vector from Graphic3d )
-                                        returns Boolean is private ;
-        ---Purpose: Determines the screen axes in the reference
-        --          framework of the view.
-
-
-        TrsPoint( myclass ; V : Vertex from Graphic3d ;
-                                Matrix : Array2OfReal from TColStd )
-                                returns Vertex from Graphic3d is private ;
-        ---Purpose: Transforms the Vertex V according to the matrice Matrix .
-        
-        ImmediateUpdate (me) is static protected;
-         ---Purpose: 
-
-        SetComputedMode ( me : mutable; aMode : Boolean from Standard )
-        is static;
-        ---Level: Advanced
-        ---Purpose: Switches computed HLR mode in the view
-        ---Category: Methods to modify the class definition
-
-        ComputedMode ( me )
-        returns Boolean from Standard
-        is static;
-        ---Level: Advanced
-        ---Purpose: Returns the computed HLR mode state
-        ---Category: Inquire methods
-
-        MinMax ( me; Umin,Vmin, Umax,Vmax : out Coordinate ) returns Integer
-        ---Purpose: Returns the objects number and the projection window
-        --          of the objects contained in the view.
-        is static private;
-
-        MinMax ( me; Xmin,Ymin,Zmin, Xmax,Ymax,Zmax : out Coordinate )
-        returns Integer
-        ---Purpose: Returns the objects number and the box encompassing
-        --          the objects contained in the view
-        is static private;
-
-        Gravity ( me; X,Y,Z : out Coordinate )
-        ---Purpose: Returns the Objects number and the gravity center
-        --          of ALL viewable points in the view
-        is static private;
-
-        Init(me: mutable) is private;
-
-        ---Category: for compatibility.
-
-        WindowFitAll ( me : mutable ; Xmin, Ymin, Xmax, Ymax : Integer);
-        ---Purpose: idem than WindowFit
-
-        Compute ( me; AVertex   : Vertex from Graphic3d )
-                returns Vertex from Graphic3d
-                is static private;
-        ---Level: Internal
-        ---Purpose: Returns a new vertex when the grid is activated.
-
-        SetGrid ( me    : mutable;
-                  aPlane: Ax3 from gp;
-                  aGrid : Grid from Aspect )
-                is static;
-        ---Level: Internal
-        ---Purpose: Defines or Updates the definition of the
-        --          grid in <me>
-        ---Category: Methods to modify the class definition
-
-        SetGridGraphicValues ( me       : mutable;
-                               aGrid    : Grid from Aspect )
-                is static;
-        ---Level: Internal
-        ---Purpose: Defines or Updates the graphic definition of the
-        --          grid in <me>
-        ---Category: Methods to modify the class definition
-
-        SetGridActivity ( me    : mutable;
-                          aFlag : Boolean from Standard )
-                is static;
-        ---Level: Internal
-        ---Purpose: Defines or Updates the activity of the
-        --          grid in <me>
-        ---Category: Methods to modify the class definition
-
-        Dump ( me: mutable;
-               theFile       : CString from Standard;
-               theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB )
-    returns Boolean from Standard;
-        ---Level: Public
-        ---Purpose: dump the full contents of the view at the same
-        --          scale in the file <theFile>. The file name
-        --          extension must be one of ".png",".bmp",".jpg",".gif".
-        --          Returns FALSE when the dump has failed
-
-      Print (me; hPrnDC: Handle from Aspect = 0;
-             showDialog: Boolean = Standard_True;
-             showBackground : Boolean = Standard_True;
-             filename: CString = NULL;
-             printAlgorithm : PrintAlgo from Aspect = Aspect_PA_STRETCH)
-      returns Boolean from Standard is static;
-
-        ---Level: Public
-        ---Purpose: print the contents of the view to printer with preview.
-    -- <hPrnDC> : If you have already an PrinterDeviceContext (HDC),
-    -- then you can pass it to the print routines.
-        -- If you don't have an PrinterDeviceContext, then this parameter should
-    -- be NULL.
-    -- <showDialog> : If hPrnDC == NULL, then you can force the print routines to
-    -- open a Print Dialog box.
-        -- If you want to do this, then set showDialog to TRUE
-        -- If you don't want to see a dialog (only possible, if you have a hPrnDC
-    -- or the dialog box was opened once before) then set <showDialog> to FALSE.
-    -- <showBackground> : When set to FALSE then print the view without background color
-    -- (background is white)
-        -- else set to TRUE for printing with current background color.
-    -- <filename>: If != NULL, then the view will be printed to a file.
-    -- <printAlgorithm>: If you want to select the print algorithm, then you can
-        -- specify one of existing algorithms: Aspect_PA_STRETCH, Aspect_PA_TILE.
-    -- Returns Standard_True if the data is passed to the printer, otherwise
-    -- Standard_False if the print operation failed. This might be related to
-    -- insufficient memory or some internal errors. All this errors are
-    -- indicated by the message boxes (on level of OpenGl_GraphicDriver).
-    --  Warning: This function can reuse FBO assigned to the 
-    --  view on level of OpenGl_GraphicDriver; Please take it into account if
-    --  you use it for your purposes;
-    --  Warning: Works only under Windows.
-
-        ToPixMap (me : mutable;
-                  theImage  : in out PixMap from Image;
-                  theWidth  : Integer from Standard;
-                  theHeight : Integer from Standard;
-                  theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB;
-                  theToKeepAspect : Boolean from Standard = Standard_True;
-                  theStereoOptions : StereoDumpOptions from V3d = V3d_SDO_MONO)
-        returns Boolean from Standard;
-        ---Level   : Public
-        ---Purpose : Dumps the full contents of the view
-        --           to a pixmap of pixel size <theWidth> * <theHeight> and
-        --           buffer type <theBufferType>. If <theToKeepAspect> is true
-        --           the aspect ratio of view will be kept if <theWidth> and <theHeight>
-        --           define another ratio.
-        --           Pixmap will be automatically (re)allocated when needed.
-        --           When dumping stereographic camera - the corresponding
-        --           middle-point monographic projection will be used for dumping by default.
-        --           <theStereoOptions> flags are to be used for dumping then left or
-        --           right eye projections.
-
-        SetBackFacingModel ( me     : mutable;
-            aModel : TypeOfBackfacingModel from V3d = V3d_TOBM_AUTOMATIC)
-            is static;
-         ---Level   : Public
-         ---Purpose : Manages display of the back faces
-     -- When <aModel> is TOBM_AUTOMATIC the object backfaces
-     -- are displayed only for surface objects and
-     -- never displayed for solid objects.
-     -- this was the previous mode.
-     --      <aModel> is TOBM_ALWAYS_DISPLAYED the object backfaces
-     --       are always displayed both for surfaces or solids.
-     --      <aModel> is TOBM_NEVER_DISPLAYED the object backfaces
-     --       are never displayed.
-
-        BackFacingModel ( me )
-            returns TypeOfBackfacingModel from V3d
-        is static;
-         ---Level   : Public
-         ---Purpose : Returns current state of the back faces display
-
-        EnableGLLight( me; enable : Boolean from Standard = Standard_True )
-        is static;
-     ---Level: Public
-     ---Purpose: turns on/off opengl lighting, currently used in triedron displaying
-
-        IsGLLightEnabled( me ) returns Boolean from Standard
-        is static;
-     ---Level: Public
-     ---Purpose: returns the current state of the gl lighting
-     --          currently used in triedron displaying
-
-     AddClipPlane (me : mutable; thePlane : ClipPlane from Graphic3d) is virtual;
-     ---Purpose: Adds clip plane to the view. The composition of clip planes truncates the
-     -- rendering space to convex volume. Number of supported clip planes can be consulted
-     -- by PlaneLimit method of associated Visual3d_View. Please be aware that the planes
-     -- which exceed the limit are ignored during rendering. 
-     -- @param thePlane [in] the clip plane to be added to view.
-
-     RemoveClipPlane (me : mutable; thePlane : ClipPlane from Graphic3d) is virtual;
-     ---Purpose: Removes clip plane from the view.
-     -- @param thePlane [in] the clip plane to be removed from view.
-
-     SetClipPlanes (me : mutable; thePlanes : SequenceOfHClipPlane from Graphic3d);
-     ---Purpose: Sets sequence of clip planes to the view. The planes that have been set
-     -- before are removed from the view. The composition of clip planes
-     -- truncates the rendering space to convex volume. Number of supported
-     -- clip planes can be consulted by PlaneLimit method of associated
-     -- Visual3d_View. Please be aware that the planes which exceed the limit
-     -- are ignored during rendering. 
-     -- @param thePlanes [in] the clip planes to set.
-
-     GetClipPlanes (me) returns SequenceOfHClipPlane from Graphic3d;
-     ---C++: return const&
-     ---Purpose: Get clip planes.
-     -- @return sequence clip planes that have been set for the view
-
-    SetCamera (me : mutable; theCamera : Camera from Graphic3d) is static;
-    ---Level: Public
-    ---Purpose: Change camera used by view.
-
-    Camera (me) returns Camera from Graphic3d is static;
-    ---Level: Public
-    ---C++: return const&
-    ---Purpose: Returns camera object of the view.
-    -- @return: handle to camera object, or NULL if 3D view does not use
-    -- the camera approach.
-
-    FitMinMax (me;
-               theCamera          : Camera from Graphic3d;
-               theBox             : Box from Bnd;
-               theMargin          : Real from Standard;
-               theResolution      : Real from Standard = 0.0;
-               theToEnlargeIfLine : Boolean from Standard = Standard_True)
-               returns Boolean from Standard is protected;
-    ---Level: Protected
-    ---Purpose: Transform camera eye, center and scale to fit in the
-    -- passed bounding box specified in WCS.
-    -- @param theCamera [in] the camera.
-    -- @param theBox [in] the bounding box.
-    -- @param theMargin [in] the margin coefficient for view borders.
-    -- @param theResolution [in] the minimum size of projection of
-    --        bounding box in Xv or Yv direction when it considered to
-    --        be a thin plane or point (without a volume).
-    --        In this case only the center of camera is adjusted.
-    -- @param theToEnlargeIfLine [in] if passed TRUE - in cases when the
-    -- whole bounding box projected into thin line going along
-    -- Z-axis of screen, the view plane is enlarged such that
-    -- we see the whole line on rotation, otherwise only the
-    -- center of camera is adjusted.
-    -- @return TRUE if the fit all operation can be done.
-
-    Scale (me;
-           theCamera : Camera from Graphic3d;
-           theSizeXv : Real from Standard;
-           theSizeYv : Real from Standard) is protected;
-    ---Level: Protected
-    ---Purpose: Scales camera to fit the view frame of defined width and height
-    -- keeping the aspect. For orthogonal camera the method changes scale,
-    -- for perspective adjusts Eye location about the Center point.
-    -- @param theSizeXv [in] size of viewport frame on "x" axis.
-    -- @param theSizeYv [in] size of viewport frame on "y" axis.
-
-    Translate (me;
-         theCamera : Camera from Graphic3d;
-         theDXv    : Real from Standard;
-         theDYv    : Real from Standard) is protected;
-    ---Level: Protected
-    -- Purpose: Translates camera eye and center along the view plane.
-    -- @param theCamera [in] the camera to translate.
-    -- @param theDXv [in] the translation in "x" direction.
-    -- @param theDYv [in] the translation in "y" direction.
-
-    RenderingParams (me) returns RenderingParams from Graphic3d is static;
-    ---C++: return const &
-    ---Level: Public
-    ---Purpose: Returns current rendering parameters and effect settings.
-    
-    ChangeRenderingParams (me : mutable) returns RenderingParams from Graphic3d is static;
-    ---C++: return &
-    ---Level: Public
-    ---Purpose: Returns reference to current rendering parameters and effect settings.
-
-        IsCullingEnabled (me) returns Boolean from Standard is static;
-     ---Level: Public
-     ---Purpose: @return flag value of objects culling mechanism
-
-        SetFrustumCulling (me : mutable; theMode : Boolean from Standard) is static;
-     ---Level: Public
-     ---Purpose: Turn on/off automatic culling of objects outside frustrum (ON by default)
-
-fields
-
-        myOldMouseX : Real is protected;
-        myOldMouseY : Real is protected;
-        myCamStartOpUp : Dir from gp is protected;
-        myCamStartOpEye : Pnt from gp is protected;
-        myCamStartOpBnd : Real[6] is protected;
-        myCamStartOpCenter : Pnt from gp is protected;
-        myCamera : Camera from Graphic3d is protected;
-
-        MyViewer :              ViewerPointer from V3d ;
-        MyActiveLights:         ListOfTransient from V3d;
-
-        MyView :                View from Visual3d is protected ;
-        MyViewContext :         ContextView from Visual3d ;
-        MyBackground:           Background from Aspect ;
-        MyGradientBackground:   GradientBackground from Aspect ;
-        MyDefaultViewAxis:      Vector from Graphic3d ;
-        MyDefaultViewPoint:     Vertex from Graphic3d ;
-
-        MyWindow:               Window from Aspect;
-
-        myActiveLightsIterator: ListIteratorOfListOfTransient from TColStd;
-
-        sx,sy: Integer from Standard;
-        rx,ry: Real from Standard;
-        gx,gy,gz: Real from Standard;
-        myComputedMode: Boolean from Standard;
-        SwitchSetFront: Boolean from Standard;
-        MyZoomAtPointX, MyZoomAtPointY : Integer from Standard;
-
-        -- the 3d grid
-        MyGrid                  :       Grid from Aspect;
-        MyPlane                 :       Ax3 from gp;
-
-        --MyColorScale            :       ColorScale from V3d;
-        MyLayerMgr              :       LayerMgr from V3d;
-
-        -- the transformation between XoY and the grid plane
-        MyTrsf                  :       Array2OfReal from TColStd;
-
-        -- echo
-        MyGridEchoStructure             :       Structure from Graphic3d;
-        MyGridEchoGroup                 :       Group from Graphic3d;
-
-        myImmediateUpdate: Boolean from Standard is protected;
-
-        myXscreenAxis           : Vector from Graphic3d;
-        myYscreenAxis           : Vector from Graphic3d;
-        myZscreenAxis           : Vector from Graphic3d;
-        myViewAxis              : Vector from Graphic3d;
-        myGravityReferencePoint : Vertex from Graphic3d;
-
-friends
-
-        SetViewOn from class Viewer from V3d ( me : mutable ),
-        SetViewOn from class Viewer from V3d ( me : mutable ; View : View from V3d ),
-        SetViewOff from class Viewer from V3d ( me : mutable ),
-        SetViewOff from class Viewer from V3d ( me : mutable ; View : View from V3d )
-
-end View;