1 -- File: Select3D_SensitiveWire.cdl
2 -- Created: Thu Oct 17 10:19:25 1996
3 -- Author: Odile OLIVIER
4 -- <odl@sacadox.paris1.matra-dtv.fr>
5 ---Copyright: Matra Datavision 1996
8 class SensitiveWire from Select3D
9 inherits SensitiveEntity from Select3D
11 ---Purpose: A framework to define selection of a wire owner by an
16 Projector from Select3D,
18 EntityOwner from SelectBasics,
19 SensitiveEntity from Select3D,
20 SensitiveEntitySequence from Select3D,
21 ListOfBox2d from SelectBasics,
22 Array1OfPnt2d from TColgp,
29 Create (OwnerId : EntityOwner from SelectBasics;
30 MaxRect : Integer = 1)
31 returns mutable SensitiveWire;
32 ---Purpose: Constructs a sensitive wire object defined by the
33 -- owner OwnerId, and the maximum number of
34 -- sensitive rectangles MaxRect.
35 Add (me :mutable;aSensitive : SensitiveEntity from Select3D)
37 ---Purpose: Adds the sensitive entity aSensitive to this framework.
38 Project (me:mutable;aProjector : Projector from Select3D)
41 ---Purpose: projection of the sensitive primitive in order to
42 -- get 2D boxes for the Sort Algorithm
44 Areas (me:mutable ; boxes : in out ListOfBox2d from SelectBasics)
47 ---Purpose: gives the 2D boxes which represent the segment in the
48 -- selection process...
50 GetConnected(me:mutable;aLocation: Location from TopLoc)
51 returns SensitiveEntity from Select3D is redefined static;
53 GetEdges(me : mutable;
54 theEdges : in out SensitiveEntitySequence from Select3D);
56 ---Purpose: returns the sensitive edges stored in this wire
59 SetLocation(me:mutable;aLoc:Location from TopLoc) is redefined static;
60 ---Purpose: propagation of location on all the sensitive inside...
61 ResetLocation(me:mutable) is redefined static;
62 ---Purpose: propagation of location on all the sensitive inside...
65 X,Y : Real from Standard;
66 aTol: Real from Standard;
67 DMin: out Real from Standard)
71 ---Purpose: projection of the sensitive primitive in order to
72 -- get 2D boxes for the Sort Algorithm
75 XMin,YMin,XMax,YMax : Real from Standard;
76 aTol: Real from Standard)
81 Polyline:Array1OfPnt2d from TColgp;
83 aTol: Real from Standard)
89 ComputeDepth(me;EyeLine: Lin from gp)
90 returns Real from Standard is redefined static;
91 ---Purpose: returns the depth of the touched entity
93 MaxBoxes(me) returns Integer is redefined static;
95 ---Purpose:returns <mymaxrect>
98 Dump(me; S: in out OStream;FullDump : Boolean from Standard = Standard_True) is redefined virtual;
100 Set(me:mutable;TheOwnerId: EntityOwner from SelectBasics) is redefined static;
101 ---Purpose: Sets the owner for all entities in wire
103 SetLastPrj(me:mutable;aPrj: Projector from Select3D) is redefined virtual;
106 returns SensitiveEntity from Select3D is static;
107 ---Purpose:returns <mymaxrect>
111 mysensitive : SensitiveEntitySequence from Select3D;
112 myDetectedIndex : Integer from Standard;