1 -- File: StdSelect_ViewerSelector3d.cdl
2 -- Created: Wed Mar 15 10:17:24 1995
3 -- Author: Robert COUBLANC
5 -- Modified by rob jun 25 98 : Add Method : Reactivate projector...
6 ---Copyright: Matra Datavision 1995
10 class ViewerSelector3d from StdSelect inherits ViewerSelector from SelectMgr
12 ---Purpose: Selector Usable by Viewers from V3d
17 Selection from SelectMgr,
18 Projector from Select3D,
20 Structure from Graphic3d,
21 Array1OfReal from TColStd,
22 Array1OfPnt2d from TColgp
26 Create returns mutable ViewerSelector3d from StdSelect;
27 ---Purpose: Constructs an empty 3D selector object.
28 Create(aProj : Projector from Select3D) returns mutable ViewerSelector3d from StdSelect;
29 ---Purpose: Constructs a 3D selector object defined by the projector aProj.
31 Convert(me:mutable;aSelection:mutable Selection from SelectMgr)
34 ---Purpose: Processes the projection of the sensitive primitives
35 -- in the active view ; to be done before the selection action...
38 Set(me:mutable; aSensitivity : Integer) is static;
39 ---Purpose: Sets the sensitivity aSensitivity.
40 Set(me:mutable; aProj: Projector from Select3D) is static;
41 ---Purpose: Sets the new projector aProj to replace the one used at construction time.
45 Pick (me : mutable;XPix,YPix:Integer;
46 aView : View from V3d) is static;
48 ---Purpose: Picks the sensitive entity at the pixel coordinates of
49 -- the mouse Xpix and Ypix. The selector looks for touched areas and owners.
52 Pick (me:mutable;XPMin,YPMin,XPMax,YPMax:Integer;aView:View from V3d) is static;
53 ---Purpose: Picks the sensitive entity according to the minimum
54 -- and maximum pixel values XPMin, YPMin, XPMax
55 -- and YPMax defining a 2D area for selection in the 3D view aView.
57 Pick (me:mutable;Polyline:Array1OfPnt2d from TColgp;aView:View from V3d) is static;
59 ---Purpose: pick action - input pixel values for polyline selection for selection.
64 ---Category: Inquire Methods
66 Projector (me) returns Projector from Select3D;
68 ---Purpose: Returns the current Projector.
74 ---Category: Internal Methods
77 ReactivateProjector(me:mutable);
79 ---Purpose: Puts back the address of the current projector in sensitive primitives...
81 UpdateProj(me :mutable;
82 aView: View from V3d) returns Boolean is static private;
86 DisplayAreas(me :mutable;
87 aView: View from V3d) is static;
88 ---Purpose: Displays sensitive areas found in the view aView.
90 ClearAreas (me :mutable;
91 aView: View from V3d) is static;
92 ---Purpose: Clears the view aView of sensitive areas found in it.
94 DisplaySensitive(me:mutable;aView : View from V3d) is static;
96 --- Purpose: Displays the selection aSel found in the view aView.
98 ClearSensitive(me:mutable;aView:View from V3d) is static;
103 DisplaySensitive(me:mutable;
104 aSel : Selection from SelectMgr;
105 aView : View from V3d;
106 ClearOthers : Boolean from Standard = Standard_True)
109 DisplayAreas(me:mutable;
110 aSel :Selection from SelectMgr;
111 aView : View from V3d;
112 ClearOthers : Boolean from Standard = Standard_True)
116 ComputeSensitivePrs(me:mutable;aSel: Selection from SelectMgr)
120 ComputeAreasPrs(me:mutable;aSel:Selection from SelectMgr)
129 myprj : Projector from Select3D;
130 mycoeff : Real from Standard[14];
131 myprevcoeff : Real from Standard[14];
132 mycenter : Real from Standard[2];
133 myprevcenter : Real from Standard[2];
134 mylastzoom : Real from Standard;
136 myupdatetol : Boolean;
139 --areas verification...
141 myareagroup : Group from Graphic3d;
142 mysensgroup : Group from Graphic3d;
143 mystruct: Structure from Graphic3d;
146 end ViewerSelector3d;