0024070: OpenGL capped object-level clipping planes
[occt.git] / src / StdSelect / StdSelect_ViewerSelector3d.cdl
index f614ef1..55c93f1 100755 (executable)
@@ -30,11 +30,15 @@ class ViewerSelector3d from StdSelect inherits ViewerSelector from SelectMgr
 uses
     View      from V3d,
     Selection from SelectMgr,
+    EntityOwner from SelectMgr,
     Projector from Select3D,
     Group     from Graphic3d,
     Structure from Graphic3d,
+    SetOfHClipPlane from Graphic3d,
     Array1OfReal    from TColStd, 
-    Array1OfPnt2d from TColgp
+    Array1OfPnt2d from TColgp,
+    SensitivityMode from StdSelect,
+    Lin from gp
 
 is
 
@@ -50,12 +54,28 @@ is
        --          in the active view ; to be done before the selection action...
 
 
-    Set(me:mutable; aSensitivity : Integer) is static;
-       ---Purpose: Sets the sensitivity aSensitivity.
     Set(me:mutable; aProj: Projector from Select3D) is static;
        ---Purpose: Sets the new projector aProj to replace the one used at construction time.
     
 
+    SetSensitivityMode(me    : mutable;
+                       aMode : SensitivityMode from StdSelect) is static;
+        ---Purpose: Sets the selection sensitivity mode. SM_WINDOW mode
+        -- uses the specified pixel tolerance to compute the sensitivity
+        -- value, SM_VIEW mode allows to define the sensitivity manually.
+
+    SensitivityMode(me) returns SensitivityMode from StdSelect;
+        ---C++: inline
+        ---Purpose: Returns the selection sensitivity mode.
+
+    SetPixelTolerance(me         : mutable;
+                      aTolerance : Integer) is static;
+       ---Purpose: Sets the pixel tolerance aTolerance.
+
+    PixelTolerance(me) returns Integer from Standard;
+        ---C++: inline
+        ---Purpose: Returns the pixel tolerance.
+
 
     Pick (me           : mutable;XPix,YPix:Integer;
          aView        : View from V3d) is static;
@@ -89,10 +109,6 @@ is
     ---Category: Internal Methods
     --           -----------------
 
-    ReactivateProjector(me:mutable);
-       ---Level: Internal 
-       ---Purpose: Puts back the address of the current projector in sensitive primitives...
-
     UpdateProj(me   :mutable;
               aView: View from V3d) returns Boolean is static private;
        ---Level: Internal 
@@ -136,9 +152,46 @@ is
      is static private;
        ---Level: Internal 
 
-       
-
-
+    SetClipping (me : mutable; thePlanes : SetOfHClipPlane from Graphic3d) is protected;
+    ---Level: Internal
+    ---Purpose: Set view clipping for the selector.
+    -- @param thePlanes [in] the view planes.
+
+    ComputeClipRange (me; thePlanes : SetOfHClipPlane from Graphic3d;
+                      thePickLine : Lin from gp;
+                      theDepthMin, theDepthMax : out Real from Standard)
+      is protected;
+    ---Level: Internal
+    ---Purpose: Computed depth boundaries for the passed set of clipping planes and picking line.
+    -- @param thePlanes [in] the planes.
+    -- @param thePickLine [in] the picking line.
+    -- @param theDepthMin [out] minimum depth limit.
+    -- @param theDepthMax [out] maximum depth limit.
+
+    PickingLine (me; theX, theY : Real from Standard)
+      returns Lin from gp
+      is redefined protected;
+    ---Level: Internal
+    ---Purpose: For more details please refer to base class.
+
+    DepthClipping (me; theX, theY : Real from Standard;
+                   theMin, theMax : out Real from Standard)
+      is redefined protected;
+    ---Level: Internal
+    ---Purpose: For more details please refer to base class.
+
+    DepthClipping (me; theX, theY : Real from Standard;
+                   theOwner : EntityOwner from SelectMgr;
+                   theMin, theMax : out Real from Standard)
+      is redefined protected;
+    ---Level: Internal
+    ---Purpose: For more details please refer to base class.
+
+    HasDepthClipping (me; theOwner : EntityOwner from SelectMgr)
+      returns Boolean is redefined protected;
+    ---Level: Internal
+    ---Purpose: For more details please refer to base class.
+    
 fields
 
     myprj         : Projector    from Select3D;
@@ -147,6 +200,7 @@ fields
     mycenter      : Real from Standard[2];
     myprevcenter  : Real from Standard[2];
     mylastzoom    : Real from Standard;
+    mysensmode    : SensitivityMode from StdSelect;
     mypixtol      : Integer ;
     myupdatetol   : Boolean;
     
@@ -156,8 +210,8 @@ fields
     myareagroup : Group            from Graphic3d;
     mysensgroup : Group            from Graphic3d;
     mystruct: Structure        from Graphic3d;
+    myClipPlanes : SetOfHClipPlane from Graphic3d;
 
-    
 end ViewerSelector3d;