7fd59977 |
1 | -- File: Select3D_SensitiveCurve.cdl |
2 | -- Created: Fri Mar 10 16:13:39 1995 |
3 | -- Author: Mister rmi |
4 | -- <rmi@photon> |
5 | -- Modified on july 97 by ROB : Field HArray instead Of ArrayOfPnt3D |
6 | -- (connected entities) |
7 | ---Copyright: Matra Datavision 1995 |
8 | |
9 | |
10 | class SensitiveCurve from Select3D |
11 | inherits SensitivePoly from Select3D |
12 | |
13 | ---Purpose: A framework to define a sensitive 3D curve. |
14 | |
15 | uses |
16 | Pnt from gp, |
17 | Pnt2d from gp, |
18 | Projector from Select3D, |
19 | Lin from gp, |
20 | EntityOwner from SelectBasics, |
21 | ListOfBox2d from SelectBasics, |
22 | Curve from Geom, |
23 | Array1OfPnt from TColgp, |
24 | Array1OfPnt2d from TColgp, |
25 | HArray1OfPnt from TColgp, |
26 | Box2d from Bnd, |
27 | Location from TopLoc |
28 | is |
29 | |
30 | |
31 | Create (OwnerId : EntityOwner from SelectBasics; |
32 | TheCurve : Curve from Geom; |
33 | MaxPoints : Integer = 17) |
34 | returns mutable SensitiveCurve; |
35 | ---Level: Public |
36 | ---Purpose: Constructs a sensitive curve object defined by the |
37 | -- owner OwnerId, the curve TheCurve, and the |
38 | -- maximum number of points on the curve: MaxPoints. |
39 | |
40 | Create (OwnerId : EntityOwner from SelectBasics; |
41 | ThePoints : HArray1OfPnt from TColgp) |
42 | returns mutable SensitiveCurve; |
43 | ---Level: Public |
44 | ---Purpose: Constructs a sensitive curve object defined by the |
45 | -- owner OwnerId and the set of points ThePoints. |
46 | |
47 | Create (OwnerId : EntityOwner from SelectBasics; |
48 | ThePoints : Array1OfPnt from TColgp) |
49 | returns mutable SensitiveCurve; |
50 | ---Level: Public |
51 | ---Purpose: Creation of Sensitive Curve from Points. |
52 | -- Warning : This Method should disappear in the next version... |
53 | |
54 | Matches(me :mutable; |
55 | X,Y : Real from Standard; |
56 | aTol: Real from Standard; |
57 | DMin: out Real from Standard) |
58 | returns Boolean |
59 | is redefined static; |
60 | |
61 | Matches (me :mutable; |
62 | XMin,YMin,XMax,YMax : Real from Standard; |
63 | aTol: Real from Standard) |
64 | returns Boolean |
65 | is static; |
66 | |
67 | Matches (me :mutable; |
68 | Polyline:Array1OfPnt2d from TColgp; |
69 | aBox:Box2d from Bnd; |
70 | aTol: Real from Standard) |
71 | returns Boolean |
72 | is redefined virtual; |
73 | ---Level: Public |
74 | |
75 | |
76 | ComputeDepth(me;EyeLine: Lin from gp) |
77 | returns Real from Standard is redefined static; |
78 | |
79 | |
80 | GetLastDetected(me) returns Integer from Standard; |
81 | ---Purpose: Gets index of last detected segment |
82 | ---C++: inline |
83 | |
84 | |
85 | ---Category: Internal Methods |
86 | Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual; |
87 | |
88 | LoadPoints(me:mutable;aCurve:Curve from Geom;NbPoints: Integer) is static private; |
89 | |
90 | fields |
91 | mylastseg : Integer from Standard; |
92 | end SensitiveCurve; |
93 | |