0025991: Cyclic dependency in OCCT detected by WOK compiler
[occt.git] / src / Select3D / Select3D_SensitiveFace.cdl
CommitLineData
b311480e 1-- Created on: 1995-03-24
2-- Created by: Robert COUBLANC
3-- Copyright (c) 1995-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 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
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class SensitiveFace from Select3D
18inherits SensitivePoly from Select3D
19
20 ---Purpose: Sensitive Entity to make a face selectable.
ceae62f0
A
21 -- In some cases this class can raise Standard_ConstructionError and
22 -- Standard_OutOfRange exceptions. For more details see Select3D_SensitivePoly.
7fd59977 23
24uses
25 EntityOwner from SelectBasics,
26 Projector from Select3D,
27 Lin from gp,
28 ListOfBox2d from SelectBasics,
4269bd1b 29 PickArgs from SelectBasics,
7fd59977 30 Array1OfPnt from TColgp,
31 HArray1OfPnt from TColgp,
32 Array1OfPnt2d from TColgp,
33 Box2d from Bnd,
34 TypeOfSensitivity from Select3D,
ac04d101
SA
35 Location from TopLoc,
36 SensitiveEntity from Select3D
7fd59977 37
ceae62f0
A
38raises
39 ConstructionError from Standard,
40 OutOfRange from Standard
41
7fd59977 42is
43
44 Create (OwnerId : EntityOwner from SelectBasics;
45 ThePoints : Array1OfPnt from TColgp;
46 Sensitivity : TypeOfSensitivity = Select3D_TOS_INTERIOR)
6e33d3ce 47 returns SensitiveFace;
7fd59977 48 ---Level: Public
49 ---Purpose: Constructs a sensitive face object defined by the
50 -- owner OwnerId, the array of points ThePoints, and
51 -- the sensitivity type Sensitivity.
52 -- The array of points is the outer polygon of the geometric face.
53
54 Create (OwnerId : EntityOwner from SelectBasics;
55 ThePoints : HArray1OfPnt from TColgp;
56 Sensitivity : TypeOfSensitivity = Select3D_TOS_INTERIOR)
6e33d3ce 57 returns SensitiveFace;
7fd59977 58 ---Level: Public
59 ---Purpose: Constructs a sensitive face object defined by the
60 -- owner OwnerId, the array of points ThePoints, and
61 -- the sensitivity type Sensitivity.
62 -- The array of points is the outer polygon of the geometric face.
ac04d101 63
4269bd1b 64 Matches (me : mutable;
65 thePickArgs : PickArgs from SelectBasics;
66 theMatchDMin, theMatchDepth : out Real from Standard)
67 returns Boolean is redefined virtual;
68 ---Level: Public
69 ---Purpose: Checks whether the sensitive entity matches the picking
70 -- detection area (close to the picking line).
71 -- For details please refer to base class declaration.
7fd59977 72
73 Matches (me :mutable;
74 XMin,YMin,XMax,YMax : Real from Standard;
75 aTol: Real from Standard)
76 returns Boolean
77 is redefined virtual;
78 ---Level: Public
79
80 Matches (me :mutable;
81 Polyline:Array1OfPnt2d from TColgp;
82 aBox:Box2d from Bnd;
83 aTol: Real from Standard)
84 returns Boolean
85 is redefined virtual;
86 ---Level: Public
87
88
4269bd1b 89 ComputeDepth (me;
90 thePickLine : Lin from gp;
91 theDepthMin, theDepthMax : Real from Standard)
92 returns Real from Standard
93 is virtual;
7fd59977 94 ---Level: Public
95 ---Purpose: Computes the depth values for all 3D points defining this face and returns
4269bd1b 96 -- the minimal value among them.
7fd59977 97 -- If the "minimal depth" approach is not suitable and gives wrong detection results
4269bd1b 98 -- in some particular case, a custom sensitive face class can redefine this method.
99
100 ComputeDepth(me;EyeLine: Lin from gp)
101 is private;
102 ---Level: Public
103 ---Purpose: Warning: Obsolete.
104 -- Use newer version of the method with min, max limits passed as arguments.
7fd59977 105
ac04d101
SA
106 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
107
108 GetConnected(me: mutable; theLocation : Location from TopLoc)
109 returns SensitiveEntity from Select3D
110 is redefined virtual;
111 ---Level: Public
112 ---Purpose: Returns the copy of this
7fd59977 113
114
115fields
116
117 mytype : TypeOfSensitivity;
7fd59977 118end SensitiveFace;