1 -- Created on: 1995-04-13
2 -- Created by: Robert COUBLANC
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and/or modify it under
9 -- the terms of the GNU Lesser General Public License version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class SensitiveBox from Select3D
18 inherits SensitiveEntity from Select3D
20 ---Purpose: A framework to define selection by a sensitive box.
27 Projector from Select3D,
29 EntityOwner from SelectBasics,
30 ListOfBox2d from SelectBasics,
31 PickArgs from SelectBasics,
32 Array1OfPnt2d from TColgp,
38 Create (OwnerId : EntityOwner from SelectBasics;
39 BoundingBox : Box from Bnd)
41 ---Purpose: Constructs a sensitive box object defined by the
42 -- owner OwnerId, and the bounding box BoundingBox.
43 Create (OwnerId : EntityOwner from SelectBasics;
45 XMax,YMax,ZMax : Real)
47 --- Purpose: Constructs a sensitive box object defined by the
48 -- owner OwnerId, and the coordinates Xmin, YMin, ZMin, XMax, YMax, ZMax.
49 -- Xmin, YMin and ZMin define the minimum point in
50 -- the front lower left hand corner of the box,
51 -- and XMax, YMax and ZMax define the maximum
52 -- point in the back upper right hand corner of the box.
54 Project (me:mutable;aProjector : Projector from Select3D)
57 ---Purpose: projection of the sensitive primitive in order to
58 -- get 2D boxes for the Sort Algorithm
60 Areas (me:mutable ; boxes : in out ListOfBox2d from SelectBasics)
63 ---Purpose: gives the 2D boxes which represent the Box in the
64 -- selection process...
66 GetConnected(me:mutable;aLocation: Location from TopLoc)
67 returns SensitiveEntity from Select3D is redefined static;
69 Matches (me : mutable;
70 thePickArgs : PickArgs from SelectBasics;
71 theMatchDMin, theMatchDepth : out Real from Standard)
72 returns Boolean is redefined static;
74 ---Purpose: Checks whether the sensitive entity matches the picking
75 -- detection area (close to the picking line).
76 -- For details please refer to base class declaration.
79 XMin,YMin,XMax,YMax : Real from Standard;
80 aTol: Real from Standard)
81 returns Boolean is redefined static;
84 Polyline:Array1OfPnt2d from TColgp;
86 aTol: Real from Standard)
92 ComputeDepth(me;EyeLine: Lin from gp)
93 returns Real from Standard;
95 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
97 Box(me) returns Box from Bnd;
98 ---Purpose: Returns the sensitive 3D box used at the time of construction.
100 ---C++: return const &
103 ProjectBox(me:mutable;aPrj: Projector from Select3D;aBox:Box from Bnd)
108 mybox3d : Box from Bnd;
109 mybox2d : Box2d from Bnd;