1 -- Created on: 1995-04-13
2 -- Created by: Robert COUBLANC
3 -- Copyright (c) 1995-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
24 class SensitiveBox from Select3D
25 inherits SensitiveEntity from Select3D
27 ---Purpose: A framework to define selection by a sensitive box.
34 Projector from Select3D,
36 EntityOwner from SelectBasics,
37 ListOfBox2d from SelectBasics,
38 Array1OfPnt2d from TColgp,
44 Create (OwnerId : EntityOwner from SelectBasics;
45 BoundingBox : Box from Bnd)
46 returns mutable SensitiveBox;
47 ---Purpose: Constructs a sensitive box object defined by the
48 -- owner OwnerId, and the bounding box BoundingBox.
49 Create (OwnerId : EntityOwner from SelectBasics;
51 XMax,YMax,ZMax : Real)
52 returns mutable SensitiveBox;
53 --- Purpose: Constructs a sensitive box object defined by the
54 -- owner OwnerId, and the coordinates Xmin, YMin, ZMin, XMax, YMax, ZMax.
55 -- Xmin, YMin and ZMin define the minimum point in
56 -- the front lower left hand corner of the box,
57 -- and XMax, YMax and ZMax define the maximum
58 -- point in the back upper right hand corner of the box.
60 Project (me:mutable;aProjector : Projector from Select3D)
63 ---Purpose: projection of the sensitive primitive in order to
64 -- get 2D boxes for the Sort Algorithm
66 Areas (me:mutable ; boxes : in out ListOfBox2d from SelectBasics)
69 ---Purpose: gives the 2D boxes which represent the Box in the
70 -- selection process...
72 GetConnected(me:mutable;aLocation: Location from TopLoc)
73 returns SensitiveEntity from Select3D is redefined static;
76 X,Y : Real from Standard;
77 aTol: Real from Standard;
78 DMin: out Real from Standard)
86 XMin,YMin,XMax,YMax : Real from Standard;
87 aTol: Real from Standard)
88 returns Boolean is redefined static;
91 Polyline:Array1OfPnt2d from TColgp;
93 aTol: Real from Standard)
99 ComputeDepth(me;EyeLine: Lin from gp)
100 returns Real from Standard is redefined static;
102 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
104 Box(me) returns Box from Bnd;
105 ---Purpose: Returns the sensitive 3D box used at the time of construction.
107 ---C++: return const &
110 ProjectBox(me:mutable;aPrj: Projector from Select3D;aBox:Box from Bnd)
115 mybox3d : Box from Bnd;
116 mybox2d : Box2d from Bnd;