Commit | Line | Data |
---|---|---|
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, | |
ac04d101 SA |
27 | Location from TopLoc, |
28 | SensitiveEntity from Select3D | |
7fd59977 | 29 | is |
30 | ||
31 | ||
32 | Create (OwnerId : EntityOwner from SelectBasics; | |
33 | TheCurve : Curve from Geom; | |
34 | MaxPoints : Integer = 17) | |
35 | returns mutable SensitiveCurve; | |
36 | ---Level: Public | |
37 | ---Purpose: Constructs a sensitive curve object defined by the | |
38 | -- owner OwnerId, the curve TheCurve, and the | |
39 | -- maximum number of points on the curve: MaxPoints. | |
40 | ||
41 | Create (OwnerId : EntityOwner from SelectBasics; | |
42 | ThePoints : HArray1OfPnt from TColgp) | |
43 | returns mutable SensitiveCurve; | |
44 | ---Level: Public | |
45 | ---Purpose: Constructs a sensitive curve object defined by the | |
46 | -- owner OwnerId and the set of points ThePoints. | |
47 | ||
48 | Create (OwnerId : EntityOwner from SelectBasics; | |
49 | ThePoints : Array1OfPnt from TColgp) | |
50 | returns mutable SensitiveCurve; | |
51 | ---Level: Public | |
52 | ---Purpose: Creation of Sensitive Curve from Points. | |
53 | -- Warning : This Method should disappear in the next version... | |
ac04d101 | 54 | |
7fd59977 | 55 | Matches(me :mutable; |
56 | X,Y : Real from Standard; | |
57 | aTol: Real from Standard; | |
58 | DMin: out Real from Standard) | |
59 | returns Boolean | |
60 | is redefined static; | |
61 | ||
62 | Matches (me :mutable; | |
63 | XMin,YMin,XMax,YMax : Real from Standard; | |
64 | aTol: Real from Standard) | |
65 | returns Boolean | |
66 | is static; | |
67 | ||
68 | Matches (me :mutable; | |
69 | Polyline:Array1OfPnt2d from TColgp; | |
70 | aBox:Box2d from Bnd; | |
71 | aTol: Real from Standard) | |
72 | returns Boolean | |
73 | is redefined virtual; | |
74 | ---Level: Public | |
75 | ||
76 | ||
77 | ComputeDepth(me;EyeLine: Lin from gp) | |
78 | returns Real from Standard is redefined static; | |
79 | ||
80 | ||
81 | GetLastDetected(me) returns Integer from Standard; | |
82 | ---Purpose: Gets index of last detected segment | |
83 | ---C++: inline | |
84 | ||
85 | ||
86 | ---Category: Internal Methods | |
87 | Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual; | |
88 | ||
ac04d101 SA |
89 | LoadPoints(me:mutable;aCurve:Curve from Geom;NbPoints: Integer) is static private; |
90 | ||
91 | GetConnected(me: mutable; theLocation : Location from TopLoc) | |
92 | returns SensitiveEntity from Select3D | |
93 | is redefined virtual; | |
94 | ---Level: Public | |
95 | ---Purpose: Returns the copy of this | |
7fd59977 | 96 | |
97 | fields | |
98 | mylastseg : Integer from Standard; | |
ac04d101 | 99 | myCurve : Curve from Geom; |
7fd59977 | 100 | end SensitiveCurve; |
101 |