0024070: OpenGL capped object-level clipping planes
[occt.git] / src / V3d / V3d_View.cdl
index 0605918..e9543ea 100755 (executable)
 --              -> Add ConvertToGrid() methods,
 --                 the Compute() internal method become private.
 --              -> Add SetProjModel() method.
---      EUG - 25/01/00 : G003
---              -> Add methods SetAnimationMode() and
---                  AnimationMode()
---              -> Add methods SetComputedMode() and
---                  ComputedMode()
---                 Warning : SetDegenerateModeOn() and Off()
---                 become obsolete.
---              -> Add methods SetBackFacingModel() and
---                  BackFacingModel()
 --      VKH - 15/11/99 : G004
 --              -> Add method Dump()
 --      GG  - IMP210200
@@ -110,7 +101,6 @@ uses
         TypeOfBackfacingModel             from V3d,
         Viewer                            from V3d,
         Light                             from V3d,
-        Plane                             from V3d,
         View                              from Visual3d,
         ViewMapping                       from Visual3d,
         ViewOrientation                   from Visual3d,
@@ -138,7 +128,6 @@ uses
         TransientManager                  from Visual3d,
         TypeOfTriedronEcho                from Aspect,
         TypeOfTriedronPosition            from Aspect,
-        FormatOfSheetPaper                from Aspect,
         RenderingContext                  from Aspect,
         GraphicCallbackProc               from Aspect,
         FillMethod                        from Aspect,
@@ -146,8 +135,9 @@ uses
         FontAspect                        from Font,
         AsciiString                       from TCollection,
         ExtendedString                    from TCollection,
-        PrintAlgo                         from Aspect
-
+        PrintAlgo                         from Aspect,
+        ClipPlane_Handle                  from Graphic3d,
+        SetOfHClipPlane                   from Graphic3d
 raises
 
         BadValue from V3d, TypeMismatch from Standard,
@@ -402,7 +392,7 @@ is
         ---Level: Public
         ---Purpose: Deactivate all the Lights defined in this view.
 
-    IsActiveLight( me ; aLight: Light  from V3d )
+        IsActiveLight( me ; aLight: Light  from V3d )
         returns Boolean from Standard;
         ---Level: Public
         ---Purpose: Returns TRUE when the light is active in this view.
@@ -411,34 +401,6 @@ is
         ---Level: Public
         ---Purpose: Activate/Deactivate the transparency in this view.
 
-        SetPlaneOn( me : mutable ; MyPlane : Plane from V3d )
-        ---Level: Public
-        ---Purpose: Activates the clipping plane in this view.
-                raises BadValue from V3d ;
-        ---Purpose:      If No More Plane can be activated in MyView .
-
-        SetPlaneOn( me : mutable )
-        ---Level: Public
-        ---Purpose: Activate all the clipping planes defined in
-        --          this view.
-                raises BadValue from V3d;
-        ---Purpose:      If No More Plane can be activated in MyView .
-
-        SetPlaneOff( me : mutable ; MyPlane : Plane  from V3d );
-        ---Level: Public
-        ---Purpose: Desactivates the clipping plane defined
-        --          in this view.
-
-        SetPlaneOff( me : mutable );
-        ---Level: Public
-        ---Purpose: Deactivate all clipping planes defined
-        --          in this view.
-
-    IsActivePlane( me ; aPlane: Plane  from V3d )
-        returns Boolean from Standard;
-        ---Level: Public
-        ---Purpose: Returns TRUE when the plane 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.
@@ -448,7 +410,7 @@ is
         --           Triedron methods
         ---------------------------------------------------
 
-    ZBufferTriedronSetup ( me      : mutable;
+        ZBufferTriedronSetup ( me      : mutable;
                            XColor  : NameOfColor from Quantity = Quantity_NOC_RED;
                            YColor  : NameOfColor from Quantity = Quantity_NOC_GREEN;
                            ZColor  : NameOfColor from Quantity = Quantity_NOC_BLUE1;
@@ -1233,27 +1195,6 @@ is
         ActiveLight(me) returns mutable Light from V3d;
         ---Level: Advanced
 
-        IfMorePlanes( me ) returns Boolean;
-        ---Level: Advanced
-        ---Purpose: Returns True if One clipping plane more can be
-        --          activated in this View.
-
-        InitActivePlanes(me: mutable);
-        ---Level: Advanced
-        ---Purpose: initializes an iteration on the active Planes.
-
-        MoreActivePlanes (me) returns Boolean from Standard;
-        ---Level: Advanced
-        ---Purpose: returns true if there are more active Plane(s) to return.
-
-        NextActivePlanes (me: mutable);
-        ---Level: Advanced
-        ---Purpose : Go to the next active Plane
-        --           (if there is not, ActivePlane will raise an exception)
-
-        ActivePlane(me) returns mutable Plane from V3d;
-        ---Level: Advanced
-
         Viewer ( me ) returns mutable Viewer from V3d;
         ---Level: Advanced
         ---Purpose: Returns the viewer in which the view has been created.
@@ -1427,78 +1368,6 @@ is
         --
                 returns Boolean from Standard;
 
-        ---------------------------------------------------
-        -- Category: Methods to modify the class definition
-        --           Animation Mode
-        ---------------------------------------------------
-
-        SetAnimationModeOn ( me : mutable )
-                is static;
-        ---Level: Advanced
-        ---Purpose: Activates animation mode.
-        --      When the animation mode is activated in the view,
-        --      all Graphic3d_Structure are stored in a graphic object.
-        ---Category: Methods to modify the class definition
-
-        SetAnimationModeOff ( me        : mutable )
-                is static;
-        ---Level: Advanced
-        ---Purpose: Deactivates the animation mode.
-        ---Category: Methods to modify the class definition
-
-        AnimationModeIsOn ( me )
-                returns Boolean from Standard
-                is static;
-        ---Level: Advanced
-        ---Purpose: Returns the activity of the animation mode.
-        ---Category: Inquire methods
-
-        SetAnimationMode ( me                : mutable;
-                           anAnimationFlag   : Boolean from Standard = Standard_True;
-                           aDegenerationFlag : Boolean from Standard = Standard_False
-        ) is static;
-        ---Level    : Advanced
-        ---Purpose  : Enable/Disable animation/degeneration mode
-        ---Category : Methods to modify the class definition
-
-    AnimationMode ( me; isDegenerate: out Boolean from Standard )
-                returns Boolean from Standard
-                is static;
-        ---Level    : Advanced
-        ---Purpose  : Returns the animation and degenerate status.
-        ---Category: Inquire methods
-
-        ---------------------------------------------------
-        -- Category: Methods to modify the class definition
-        --           Degenerate Mode
-        ---------------------------------------------------
-
-        SetDegenerateModeOn ( me        : mutable )
-                is static;
-        ---Level    : Obsolete
-        ---Purpose: Activates degenerate mode.
-        --      When the degenerate mode is activated in the view,
-        --      all Graphic3d_Structure with the type TOS_COMPUTED
-        --      displayed in this view are not computed.
-    --  Warning: Obsolete method , use SetComputedMode()
-        ---Category: Methods to modify the class definition
-
-        SetDegenerateModeOff ( me       : mutable )
-                is static;
-        ---Level    : Obsolete
-        ---Purpose: Deactivates the degenerate mode.
-        --  Category: Methods to modify the class definition
-        --  Warning: if the computed mode has been disabled in the
-        --          viewer the mode will remain degenerated.
-    --  Warning: Obsolete method , use SetComputedMode()
-
-        DegenerateModeIsOn ( me )
-                returns Boolean from Standard
-                is static;
-        ---Level    : Obsolete
-        ---Purpose: Returns the activity of the degenerate mode.
-        ---Category: Inquire methods
-
         SetComputedMode ( me : mutable; aMode : Boolean from Standard )
         is static;
         ---Level: Advanced
@@ -1576,17 +1445,6 @@ is
         --          grid in <me>
         ---Category: Methods to modify the class definition
 
-        Tumble ( me            : mutable;
-                 NbImages      : Integer from Standard = 314;
-                 AnimationMode : Boolean from Standard = Standard_False )
-                returns Real from Standard
-                is static;
-        ---Level   : Advanced
-        ---Purpose: Animates the view <me>
-        --          Returns the number of images per second
-        --          if <AnimationMode> is Standard_True, the animation mode
-        --          is activated.
-
         Dump ( me: mutable;
                theFile       : CString from Standard;
                theBufferType : BufferType from Graphic3d = Graphic3d_BT_RGB )
@@ -1597,7 +1455,7 @@ is
         --          extension must be one of ".png",".bmp",".jpg",".gif".
         --          Returns FALSE when the dump has failed
 
-      Print (me; hPrnDC: Handle from Aspect = NULL;
+      Print (me; hPrnDC: Handle from Aspect = 0;
              showDialog: Boolean = Standard_True;
              showBackground : Boolean = Standard_True;
              filename: CString = NULL;
@@ -1697,13 +1555,36 @@ is
      ---Purpose: returns the current state of the gl lighting
      --          currently used in triedron displaying
 
+     AddClipPlane (me : mutable; thePlane : ClipPlane_Handle 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 igonred during rendering. 
+     -- @param thePlane [in] the clip plane to be added to view.
+
+     RemoveClipPlane (me : mutable; thePlane : ClipPlane_Handle 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 : SetOfHClipPlane from Graphic3d);
+     ---Purpose: Set 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 igonred during rendering. 
+     -- @param thePlanes [in] the clip planes to set.
+
+     GetClipPlanes (me) returns SetOfHClipPlane from Graphic3d;
+     ---C++: return const&
+     ---Purpose: Get clip planes.
+     -- @return sequence clip planes that have been set for the view
 
 fields
 
         MyType :                TypeOfView from V3d is protected ;
         MyViewer :              ViewerPointer from V3d ;
         MyActiveLights:         ListOfTransient from V3d;
-        MyActivePlanes:         ListOfTransient from V3d;
 
         MyView :                View from Visual3d is protected ;
         MyViewMapping :         ViewMapping from Visual3d is protected ;
@@ -1719,7 +1600,6 @@ fields
         MyPlotter:              Plotter from Graphic3d;
 
         myActiveLightsIterator: ListIteratorOfListOfTransient from TColStd;
-        myActivePlanesIterator: ListIteratorOfListOfTransient from TColStd;
 
         sx,sy: Integer from Standard;
         rx,ry: Real from Standard;
@@ -1735,6 +1615,8 @@ fields
         --MyColorScale            :       ColorScale from V3d;
         MyLayerMgr              :       LayerMgr from V3d;
 
+        MyProjModel         :   TypeOfProjectionModel from V3d is protected;
+            
         -- the transformation between XoY and the grid plane
         MyTrsf                  :       Array2OfReal from TColStd;
 
@@ -1742,11 +1624,8 @@ fields
         MyGridEchoStructure             :       Structure from Graphic3d;
         MyGridEchoGroup                 :       Group from Graphic3d;
 
-    MyProjModel         :   TypeOfProjectionModel from V3d is protected;
-    MyAnimationFlags        :   Integer from Standard;
-
-    MyTransparencyFlag      : Boolean from Standard;
-    myImmediateUpdate: Boolean from Standard is protected;
+        MyTransparencyFlag      : Boolean from Standard;
+        myImmediateUpdate: Boolean from Standard is protected;
 friends
 
         SetViewOn from class Viewer from V3d ( me : mutable ),