0022554: Application hangs on selection
[occt.git] / src / Select3D / Select3D_SensitiveCurve.cdl
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     -- In some cases this class can raise Standard_ConstructionError and 
15     -- Standard_OutOfRange exceptions. For more details see Select3D_SensitivePoly.
16
17 uses
18     Pnt             from gp,
19     Pnt2d           from gp,
20     Projector       from Select3D,
21     Lin             from gp,
22     EntityOwner     from SelectBasics,
23     ListOfBox2d     from SelectBasics,
24     Curve           from Geom,
25     Array1OfPnt     from TColgp,
26     Array1OfPnt2d   from TColgp,
27     HArray1OfPnt     from TColgp,
28     Box2d           from Bnd,
29     Location                 from TopLoc, 
30     SensitiveEntity   from Select3D
31
32 raises
33     ConstructionError from Standard,
34     OutOfRange from Standard
35 is
36
37
38     Create (OwnerId      : EntityOwner from SelectBasics;
39             TheCurve     : Curve from Geom;
40             MaxPoints    : Integer = 17)
41      returns mutable SensitiveCurve;
42         ---Level: Public 
43         ---Purpose: Constructs a sensitive curve object defined by the
44         -- owner OwnerId, the curve TheCurve, and the
45         -- maximum number of points on the curve: MaxPoints.
46
47     Create (OwnerId      : EntityOwner from SelectBasics;
48             ThePoints    : HArray1OfPnt from TColgp)
49      returns mutable SensitiveCurve;
50         ---Level: Public 
51         ---Purpose: Constructs a sensitive curve object defined by the
52         -- owner OwnerId and the set of points ThePoints.
53         
54     Create (OwnerId      : EntityOwner from SelectBasics;
55             ThePoints    : Array1OfPnt from TColgp)
56      returns mutable SensitiveCurve;
57         ---Level: Public 
58         ---Purpose: Creation of Sensitive Curve from Points.
59         --          Warning : This Method should disappear in the next version...
60   
61     Matches(me  :mutable; 
62             X,Y : Real from Standard;
63             aTol: Real from Standard;
64             DMin: out Real from Standard) 
65     returns Boolean
66     is  redefined static;
67
68     Matches (me  :mutable; 
69              XMin,YMin,XMax,YMax : Real from Standard;
70              aTol: Real from Standard)
71     returns Boolean
72     is static;
73      
74     Matches (me  :mutable; 
75              Polyline:Array1OfPnt2d from TColgp;
76              aBox:Box2d from Bnd;
77              aTol: Real from Standard) 
78     returns Boolean
79     is redefined virtual;
80         ---Level: Public 
81     
82
83     ComputeDepth(me;EyeLine: Lin from gp) 
84     returns Real from Standard is redefined static; 
85      
86  
87     GetLastDetected(me) returns Integer from Standard;
88     ---Purpose: Gets index of last detected segment 
89     ---C++: inline
90
91
92         ---Category: Internal Methods
93     Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual; 
94      
95     LoadPoints(me:mutable;aCurve:Curve from Geom;NbPoints: Integer) is static private; 
96
97     GetConnected(me: mutable; theLocation : Location from TopLoc) 
98     returns SensitiveEntity from Select3D 
99     is redefined virtual; 
100         ---Level: Public 
101         ---Purpose: Returns the copy of this
102
103 fields
104     mylastseg : Integer        from Standard;
105     myCurve  : Curve from Geom;
106 end SensitiveCurve;
107