1 -- File: Select3D_SensitiveFace.cdl
2 -- Created: Fri Mar 24 16:01:23 1995
3 -- Author: Robert COUBLANC
5 ---Copyright: Matra Datavision 1995
8 class SensitiveFace from Select3D
9 inherits SensitivePoly from Select3D
11 ---Purpose: Sensitive Entity to make a face selectable.
14 EntityOwner from SelectBasics,
15 Projector from Select3D,
17 ListOfBox2d from SelectBasics,
18 Array1OfPnt from TColgp,
19 HArray1OfPnt from TColgp,
20 Array1OfPnt2d from TColgp,
22 TypeOfSensitivity from Select3D,
24 SensitiveEntity from Select3D
28 Create (OwnerId : EntityOwner from SelectBasics;
29 ThePoints : Array1OfPnt from TColgp;
30 Sensitivity : TypeOfSensitivity = Select3D_TOS_INTERIOR)
31 returns mutable SensitiveFace;
33 ---Purpose: Constructs a sensitive face object defined by the
34 -- owner OwnerId, the array of points ThePoints, and
35 -- the sensitivity type Sensitivity.
36 -- The array of points is the outer polygon of the geometric face.
38 Create (OwnerId : EntityOwner from SelectBasics;
39 ThePoints : HArray1OfPnt from TColgp;
40 Sensitivity : TypeOfSensitivity = Select3D_TOS_INTERIOR)
41 returns mutable SensitiveFace;
43 ---Purpose: Constructs a sensitive face object defined by the
44 -- owner OwnerId, the array of points ThePoints, and
45 -- the sensitivity type Sensitivity.
46 -- The array of points is the outer polygon of the geometric face.
49 X,Y : Real from Standard;
50 aTol: Real from Standard;
51 DMin: out Real from Standard)
56 XMin,YMin,XMax,YMax : Real from Standard;
57 aTol: Real from Standard)
63 Polyline:Array1OfPnt2d from TColgp;
65 aTol: Real from Standard)
71 ComputeDepth(me;EyeLine: Lin from gp)
72 returns Real from Standard is redefined virtual;
74 ---Purpose: Computes the depth values for all 3D points defining this face and returns
75 -- the minimal value among them.
76 -- If the "minimal depth" approach is not suitable and gives wrong detection results
77 -- in some particular case, a custom sensitive face class can be implemented at application level
78 -- that overrides default ComputeDepth() behavior.
80 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
82 GetConnected(me: mutable; theLocation : Location from TopLoc)
83 returns SensitiveEntity from Select3D
86 ---Purpose: Returns the copy of this
91 mytype : TypeOfSensitivity;
92 myautointer : Boolean;
93 myDetectedIndex : Integer from Standard;