1 -- File: Select3D_SensitiveCircle.cdl
2 -- Created: Tue Feb 6 11:35:02 1996
3 -- Author: Robert COUBLANC
5 ---Copyright: Matra Datavision 1996
9 class SensitiveCircle from Select3D
10 inherits SensitivePoly from Select3D
12 ---Purpose: A framework to define sensitive 3D arcs and circles.
16 Projector from Select3D,
18 EntityOwner from SelectBasics,
19 ListOfBox2d from SelectBasics,
21 Array1OfPnt from TColgp,
22 HArray1OfPnt from TColgp,
23 Array1OfPnt2d from TColgp,
28 Create (OwnerId : EntityOwner from SelectBasics;
29 TheCircle : Circle from Geom;
30 FilledCircle : Boolean = Standard_False;
31 NbOfPoints : Integer = 6)
32 returns mutable SensitiveCircle;
34 ---Purpose: Constructs the sensitive circle object defined by the
35 -- owner OwnerId, the circle Circle, the Boolean
36 -- FilledCircle and the number of points NbOfPoints.
38 Create (OwnerId : EntityOwner from SelectBasics;
39 TheCircle : Circle from Geom;
42 FilledCircle : Boolean = Standard_False;
43 NbOfPoints : Integer = 6)
44 returns mutable SensitiveCircle;
46 ---Purpose: Constructs the sensitive arc object defined by the
47 -- owner OwnerId, the circle Circle, the parameters u1
48 -- and u2, the Boolean FilledCircle and the number of points NbOfPoints.
49 -- u1 and u2 define the first and last points of the arc on Circle.
51 Create(OwnerId : EntityOwner from SelectBasics;
52 apolyg3d : HArray1OfPnt from TColgp;
53 FilledCircle : Boolean from Standard = Standard_False)
54 returns mutable SensitiveCircle;
56 ---Purpose: Constructs the sensitive circle object defined by the
57 -- owner OwnerId, the array of triangles apolyg3d, and the Boolean FilledCircle.
58 -- apolyg3d is an array of consecutive triangles on the
59 -- circle. The triangle i+1 lies on the intersection of the
60 -- tangents to the circle of i and i+2.
62 Create(OwnerId : EntityOwner from SelectBasics;
63 apolyg3d : Array1OfPnt from TColgp;
64 FilledCircle : Boolean from Standard = Standard_False)
65 returns mutable SensitiveCircle;
66 ---Purpose: Constructs the sensitive circle object defined by the
67 -- owner OwnerId, the array of points apolyg3d, and the Boolean FilledCircle.
70 X,Y : Real from Standard;
71 aTol: Real from Standard;
72 DMin: out Real from Standard)
77 XMin,YMin,XMax,YMax : Real from Standard;
78 aTol: Real from Standard)
83 Polyline:Array1OfPnt2d from TColgp;
85 aTol: Real from Standard)
91 ComputeDepth(me;EyeLine: Lin from gp)
92 returns Real from Standard is redefined static;
94 ArrayBounds(me;Low,Up:in out Integer);
96 GetPoint3d(me;rank:Integer) returns Pnt from gp;
99 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
103 myFillStatus : Boolean;
104 myDetectedIndex : Integer from Standard; -- used for depth...