0024623: Visualization - improve selection mechanism
[occt.git] / src / Select3D / Select3D_SensitiveEntity.cdl
diff --git a/src/Select3D/Select3D_SensitiveEntity.cdl b/src/Select3D/Select3D_SensitiveEntity.cdl
deleted file mode 100644 (file)
index 8669543..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
--- Created on: 1995-01-24
--- Created by: Rob
--- Copyright (c) 1995-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 by rob jul/ 21/ 97 : inserting locations ...
--- modified by rob jan/ 29/ 98 : Sort by deph-> add a field to be able
---                               to compute a depth
---                               -> Virtual methods rather than
---                               Deferred for Project
---                               WARNING : Must be redefined for
---                               each kind of sensitive entity
-
-
-deferred class SensitiveEntity from Select3D inherits
-    SensitiveEntity from SelectBasics
-
-       ---Purpose:  Abstract framework to define 3D sensitive entities.
-       -- As the selection process uses the principle of a
-       -- projection of 3D shapes onto a 2D view where
-       -- nearness to a rectangle determines whether a shape
-       -- is picked or not, all 3D shapes need to be converted
-       -- into 2D ones in order to be selected.
-
-
-uses
-
-    Projector   from Select3D,
-    EntityOwner from SelectBasics,
-    Location    from TopLoc,
-    Lin         from gp,
-    Box2d       from Bnd,
-    Array1OfPnt2d from TColgp
-
-is
-
-    Initialize(OwnerId : EntityOwner from SelectBasics);
-
-    NeedsConversion(me) returns Boolean is redefined static;
-    ---Level: Public
-    ---Purpose: Returns true if this framework needs conversion.
-    ---C++: inline
-
-    Is3D(me) returns Boolean from Standard is redefined static;
-    ---Purpose: Returns true if this framework provides 3D information.
-
-    Project (me:mutable;aProjector : Projector from Select3D) is deferred;
-    ---Level: Public
-    ---Purpose: In classes inheriting this framework, you must
-    -- redefine this function in order to get a sensitive 2D
-    -- rectangle from a 3D entity. This rectangle is the
-    -- sensitive zone which makes the 3D entity selectable.
-
-    MaxBoxes(me) returns Integer is redefined virtual;
-    ---Level: Public
-    ---Purpose: Returns the max number of sensitive areas returned
-    --          by this class is 1 by default.
-    --          Else on must redefine this method.
-
-
-    GetConnected(me:mutable;aLocation: Location from TopLoc)
-    returns SensitiveEntity from Select3D is virtual;
-    ---Purpose: Originally this method intended to return sensitive 
-    -- entity with new location aLocation, but currently sensitive 
-    -- entities do not hold a location, instead HasLocation() and 
-    -- Location() methods call corresponding entity owner's methods. 
-    -- Thus all entities returned by GetConnected() share the same 
-    -- location propagated from corresponding selectable object. 
-    -- You must redefine this function for any type of
-    -- sensitive entity which can accept another connected
-    -- sensitive entity.//can be connected to another sensitive entity.
-
-    Matches (me  :mutable;
-             XMin,YMin,XMax,YMax : Real from Standard;
-             aTol: Real from Standard)
-    returns Boolean from Standard is redefined virtual;
-    ---Purpose: Matches the box defined by the coordinates Xmin,
-    -- Ymin, Xmax, Ymax with the entity found at that point
-    -- within the tolerance aTol.
-    -- Xmin, YMin define the minimum point in the lower left
-    -- hand corner of the box, and   XMax, YMax define the
-    -- maximum point in the upper right hand corner of the box.
-    -- You must redefine this function for every inheriting entity.
-    -- You will have to call this framework inside the redefined function.
-
-    Matches (me  :mutable;
-             Polyline:Array1OfPnt2d from TColgp;
-            aBox:Box2d from Bnd;
-             aTol: Real from Standard)
-    returns Boolean from Standard is redefined virtual;
-    ---Purpose: prevents from hiding virtual methods...
-
-    ---Category: Location of sensitive entities...
-    --           Default implementations of HasLocation() and Location() rely on
-    --           location obtained from the entity owner, to minimize memory usage.
-    --           SetLocation() and ResetLocation() do nothing by default.
-
-    HasLocation(me) returns Boolean from Standard is virtual;
-    ---Purpose: Returns true if this framework has a location defined.
-
-    Location(me) returns Location from TopLoc is virtual;
-    ---C++: return const
-
-    ResetLocation(me:mutable) is virtual;
-    ---Purpose: sets the location to Identity
-
-    SetLocation(me:mutable;aLoc :Location from TopLoc) is virtual;
-
-    Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is virtual;
-    ---Purpose: 2 options :
-    --          <FullDump> = False -> general information
-    --         <FullDump> = True  -> whole informtion 3D +2d ...
-
-    DumpBox(myclass; S: in out OStream;abox:Box2d from Bnd) ;
-
-    UpdateLocation(me:mutable;aLoc:Location from TopLoc);
-
-end SensitiveEntity;
-
-
-
-
-
-