b311480e |
1 | -- Created on: 1996-09-04 |
2 | -- Created by: Robert COUBLANC |
3 | -- Copyright (c) 1996-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
7 | -- |
d5f74e42 |
8 | -- This library is free software; you can redistribute it and/or modify it under |
9 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
10 | -- by the Free Software Foundation, with special exception defined in the file |
11 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
12 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
b311480e |
16 | |
7fd59977 |
17 | -- Modified May 20th 98 : |
18 | -- Modification in Management of selected entities |
19 | -- Now we store the selected entity Owner in AIS_Selection. |
20 | -- (no more links with Session...) |
21 | -- Modifications in Management of hilight of detected entities |
22 | -- VTN 23/11/99 BUC60614 Avoid to crash because |
23 | -- myStdFilters array is too short. |
24 | -- GG : BUC60688 25/05/00 Add SetSensitivity() methods |
25 | -- GG : IMP150501 Remove oboslete method DragTo |
26 | -- (See AIS_InteractiveContext) |
27 | -- ZSV : IMP160701 Add InitDetected(),MoreDetected(),NextDetected(), |
28 | -- DetectedCurrentShape(),DetectedCurrentObject() |
29 | -- methods |
7fd59977 |
30 | |
31 | |
1bd2fa67 |
32 | class LocalContext from AIS inherits TShared from MMgt |
7fd59977 |
33 | |
34 | ---Purpose: Defines a specific context for selection. |
35 | -- It becomes possible to: |
36 | -- + Load InteractiveObjects with a mode to be |
37 | -- activated + associate InteractiveObjects with a |
38 | -- set of temporary selectable Objects.... + + |
39 | -- activate StandardMode of selection for Entities |
40 | -- inheriting BasicShape from AIS (Selection Of |
41 | -- vertices, edges, wires,faces... + Add Filters |
42 | -- acting on detected owners of sensitive primitives |
43 | -- |
44 | -- |
45 | -- - automatically highlight shapes and |
46 | -- InteractiveObjects (highlight of detected shape + |
47 | -- highlight of detected selectable... |
48 | -- |
49 | |
50 | uses |
51 | AsciiString from TCollection, |
52 | ListOfInteger from TColStd, |
53 | SequenceOfInteger from TColStd, |
54 | MapOfTransient from TColStd, |
55 | Array1OfPnt2d from TColgp, |
56 | NameOfColor from Quantity, |
57 | ShapeEnum from TopAbs, |
58 | Shape from TopoDS, |
59 | View from V3d, |
60 | PresentationManager3d from PrsMgr, |
61 | Projector from Select3D, |
62 | IndexedMapOfOwner from SelectMgr, |
63 | EntityOwner from SelectMgr, |
64 | OrFilter from SelectMgr, |
65 | Filter from SelectMgr, |
66 | SelectionManager from SelectMgr, |
67 | SelectableObject from SelectMgr , |
68 | ListOfFilter from SelectMgr, |
69 | BRepOwner from StdSelect, |
70 | ViewerSelector3d from StdSelect, |
3c982548 |
71 | SensitivityMode from StdSelect, |
7fd59977 |
72 | InteractiveContext from AIS, |
73 | ClearMode from AIS, |
74 | InteractiveObject from AIS, |
75 | Shape from AIS, |
76 | DataMapOfSelStat from AIS, |
77 | LocalStatus from AIS, |
78 | StatusOfPick from AIS, |
79 | StatusOfDetection from AIS, |
80 | SequenceOfInteractive from AIS |
81 | |
82 | is |
83 | |
6e33d3ce |
84 | Create returns LocalContext from AIS; |
7fd59977 |
85 | |
86 | |
87 | Create (aCtx : InteractiveContext from AIS; |
88 | anIndex : Integer from Standard; |
89 | LoadDisplayed : Boolean from Standard=Standard_True; |
90 | AcceptStandardModes : Boolean from Standard=Standard_True; |
91 | AcceptErase : Boolean from Standard= Standard_False; |
92 | UseBothViewers : Boolean from Standard= Standard_False) |
6e33d3ce |
93 | returns LocalContext from AIS; |
7fd59977 |
94 | ---Purpose: Constructor By Default, the displayed objects are |
95 | -- automatically loaded. |
96 | |
97 | |
98 | AcceptErase(me:mutable;aStatus : Boolean from Standard); |
99 | ---C++: inline |
100 | ---Purpose: authorize or not others contexts to erase |
101 | -- temporary displayed objects here; |
102 | |
103 | AcceptErase(me) returns Boolean from Standard; |
104 | ---C++: inline |
105 | |
106 | SetContext(me:mutable;aCtx:InteractiveContext from AIS); |
107 | |
108 | SelectionName(me) returns AsciiString from TCollection; |
109 | ---C++: inline |
110 | ---C++: return const& |
111 | |
112 | |
113 | Terminate(me: mutable; updateviewer : Boolean from Standard = Standard_True); |
114 | |
115 | HasSameProjector(me;aPrj:Projector from Select3D) |
116 | returns Boolean from Standard; |
117 | ---Purpose: compares the current projector of the localContext |
118 | -- with <aPrj> |
119 | -- returns True if the projectors are identical. |
120 | -- (no need to update projection of selection primitives |
121 | -- when closing the local context).... |
122 | |
123 | Reactivate(me:mutable); |
124 | ---Purpose: to be called when a upper local context was closed... |
125 | -- useful to put pack the right projector... |
126 | |
127 | ---Category: LOAD AND PREPARE |
128 | -- - INTERACTIVE OBJECTS... |
129 | -- - FILTERS |
130 | -- - STANDARD MODES OF ACTIVATION |
131 | |
132 | |
133 | |
134 | |
135 | Display(me : mutable; |
136 | anInteractive : InteractiveObject from AIS; |
137 | DisplayMode : Integer from Standard = 0; |
138 | AllowShapeDecomposition: Boolean from Standard = Standard_True; |
139 | ActivationMode : Integer from Standard = 0) |
140 | returns Boolean from Standard; |
141 | ---Purpose: returns true if done... |
142 | |
143 | Load(me : mutable; |
144 | anInteractive : InteractiveObject from AIS; |
145 | AllowShapeDecomposition: Boolean from Standard = Standard_True; |
146 | ActivationMode : Integer from Standard = 0) |
147 | returns Boolean from Standard; |
148 | ---Purpose: loads <anInteractive> with nodisplay... |
149 | -- returns true if done |
150 | |
151 | Erase(me: mutable; |
152 | anInteractive : InteractiveObject from AIS) |
153 | returns Boolean from Standard; |
154 | ---Purpose: returns true if done... |
155 | |
156 | |
157 | Remove(me : mutable; |
158 | aSelectable : InteractiveObject from AIS) |
159 | returns Boolean from Standard; |
160 | |
161 | |
162 | ClearPrs (me : mutable; |
163 | anInteractive : InteractiveObject from AIS; |
164 | aMode : Integer from Standard) |
165 | returns Boolean from Standard; |
166 | |
167 | SetShapeDecomposition(me : mutable; |
168 | aStoredObject : InteractiveObject from AIS; |
169 | aStatus : Boolean from Standard); |
170 | ---Purpose: allows or forbids the shape decomposition into |
171 | -- Activated Standard Mode for <aStoredObject> |
172 | -- does nothing if the object doesn't inherits |
173 | -- BasicShape from AIS |
174 | |
175 | |
176 | Clear(me:mutable;atype: ClearMode from AIS = AIS_CM_All); |
177 | ---Purpose: according to <atype> , clears the different parts of |
178 | -- the selector (filters, modeof activation, objects...) |
179 | |
180 | |
181 | |
182 | |
183 | ActivateMode (me : mutable; |
184 | aSelectable: InteractiveObject from AIS; |
185 | aMode : Integer from Standard ); |
186 | ---Purpose: optional : activation of a mode which is not 0 for a selectable... |
187 | |
188 | DeactivateMode(me : mutable; |
189 | aSelectable: InteractiveObject from AIS; |
190 | aMode : Integer from Standard ); |
191 | Deactivate(me : mutable; |
192 | aSelectable: InteractiveObject from AIS); |
193 | |
194 | ActivateStandardMode(me:mutable;aType:ShapeEnum from TopAbs); |
195 | ---Purpose: decomposition of shapes into <aType> |
196 | |
197 | |
198 | DeactivateStandardMode(me:mutable;aType:ShapeEnum from TopAbs); |
199 | |
200 | StandardModes(me) returns ListOfInteger from TColStd; |
201 | ---C++: return const & |
202 | ---C++: inline |
203 | |
204 | |
205 | |
206 | AddFilter(me:mutable;aFilter:Filter from SelectMgr); |
207 | |
208 | RemoveFilter(me:mutable;aFilter: Filter from SelectMgr); |
209 | |
210 | |
211 | ListOfFilter(me) returns ListOfFilter from SelectMgr; |
212 | ---C++: return const & |
213 | ---C++: inline |
214 | |
215 | Filter(me) returns any OrFilter from SelectMgr; |
216 | ---C++: return const & |
217 | ---C++: inline |
218 | |
219 | |
220 | SetAutomaticHilight(me:mutable ; aStatus:Boolean) ; |
221 | ---Purpose: if <aStatus> = True , the shapes or subshapes detected |
222 | -- by the selector will be automatically hilighted in the |
223 | -- main viewer. |
224 | -- Else the user has to manage the detected shape outside the |
225 | -- Shape Selector.... |
226 | ---C++: inline |
227 | |
228 | |
229 | |
230 | AutomaticHilight(me) returns Boolean; |
231 | ---C++: inline |
232 | |
7fd59977 |
233 | ---Category: THE SELECTION PROCESS |
234 | |
679ecdee |
235 | MoveTo (me : mutable; |
236 | theXpix, theYpix : Integer from Standard; |
237 | theView : View from V3d; |
238 | theToRedrawImmediate : Boolean from Standard) |
7fd59977 |
239 | returns StatusOfDetection from AIS; |
240 | |
241 | |
242 | HasNextDetected(me) returns Boolean from Standard; |
243 | ---C++: inline |
244 | ---Purpose: returns True if more than one entity |
245 | -- was detected at the last Mouse position. |
246 | |
679ecdee |
247 | HilightNextDetected (me : mutable; |
248 | theView : View from V3d; |
249 | theToRedrawImmediate : Boolean from Standard) |
7fd59977 |
250 | returns Integer from Standard; |
251 | ---Purpose: returns True if last detected. the next detected will |
252 | -- be first one (endless loop) |
253 | |
679ecdee |
254 | HilightPreviousDetected (me : mutable; |
255 | theView : View from V3d; |
256 | theToRedrawImmediate : Boolean from Standard) |
7fd59977 |
257 | returns Integer from Standard; |
258 | |
7fd59977 |
259 | UnhilightLastDetected(me:mutable;aView:View from V3d) returns Boolean from Standard; |
260 | ---Purpose: returns True if something was done... |
261 | |
262 | Select(me: mutable;updateviewer : Boolean from Standard = Standard_True) |
263 | returns StatusOfPick from AIS; |
264 | ---Purpose: returns the number of selected |
265 | |
266 | ShiftSelect(me: mutable;updateviewer : Boolean from Standard = Standard_True) |
267 | returns StatusOfPick from AIS; |
268 | |
269 | Select(me : mutable; |
270 | XPMin,YPMin,XPMax,YPMax : Integer from Standard; |
271 | aView : View from V3d; |
272 | updateviewer : Boolean from Standard = Standard_True) |
273 | returns StatusOfPick from AIS; |
274 | |
275 | |
276 | ShiftSelect(me : mutable; |
277 | XPMin,YPMin,XPMax,YPMax : Integer from Standard; |
278 | aView : View from V3d; |
279 | updateviewer : Boolean from Standard = Standard_True) |
280 | returns StatusOfPick from AIS; |
281 | |
282 | Select(me : mutable; |
283 | Polyline : Array1OfPnt2d from TColgp; |
284 | aView : View from V3d; |
285 | updateviewer : Boolean from Standard = Standard_True) |
286 | returns StatusOfPick from AIS; |
287 | |
288 | ShiftSelect(me : mutable; |
289 | Polyline : Array1OfPnt2d from TColgp; |
290 | aView : View from V3d; |
291 | updateviewer : Boolean from Standard = Standard_True) |
292 | returns StatusOfPick from AIS; |
293 | |
294 | HilightPicked(me:mutable;updateviewer:Boolean from Standard =Standard_True) ; |
295 | |
296 | UnhilightPicked(me:mutable;updateviewer:Boolean from Standard = Standard_True) ; |
297 | |
298 | |
299 | UpdateSelected (me : mutable; |
300 | updateviewer : Boolean from Standard = Standard_True); |
301 | |
302 | UpdateSelected (me : mutable; |
303 | anobj : InteractiveObject from AIS; |
304 | updateviewer : Boolean from Standard = Standard_True); |
305 | ---Purpose: Part of advanced selection highlighting mechanism. |
306 | -- If no owners belonging to anobj are selected, calls anobj->ClearSelected(), |
307 | -- otherwise calls anobj->HilightSelected(). This method can be used to avoid |
308 | -- redrawing the whole selection belonging to several Selectable Objects. |
309 | |
310 | |
311 | SetSelected(me : mutable; |
312 | anobj : InteractiveObject from AIS; |
313 | updateviewer : Boolean from Standard=Standard_True); |
314 | ---Purpose: useful to update selection with objects coming from |
315 | -- Collector or stack |
316 | |
317 | AddOrRemoveSelected(me : mutable; |
318 | anobj : InteractiveObject from AIS; |
319 | updateviewer : Boolean from Standard=Standard_True); |
320 | ---Purpose: useful to update selection with objects coming from |
321 | -- Collector or stack |
322 | AddOrRemoveSelected(me : mutable; |
323 | aShape : Shape from TopoDS; |
324 | updateviewer : Boolean from Standard=Standard_True); |
325 | |
c398b00e |
326 | AddOrRemoveSelected(me : mutable; |
327 | theOwner : EntityOwner from SelectMgr; |
328 | toUpdateViewer : Boolean from Standard = Standard_True); |
7fd59977 |
329 | |
330 | |
331 | |
332 | ClearSelected(me:mutable;updateviewer : Boolean from Standard=Standard_True); |
333 | ---Purpose: |
334 | |
335 | |
336 | ---Category: GET THE DETECTED |
337 | |
338 | |
339 | HasDetected (me) returns Boolean from Standard; |
340 | ---C++: inline |
341 | |
342 | InitDetected(me: mutable); |
57ad5cbd |
343 | ---Purpose: |
344 | -- Initialization for iteration through mouse-detected objects in local context. |
345 | |
7fd59977 |
346 | MoreDetected(me) returns Boolean from Standard; |
57ad5cbd |
347 | ---Purpose: |
348 | -- @return true if there is more mouse-detected objects after the current one |
349 | -- during iteration through mouse-detected interactive objects. |
350 | |
7fd59977 |
351 | NextDetected(me: mutable); |
57ad5cbd |
352 | ---Purpose: |
353 | -- Gets next current object during iteration through mouse-detected |
354 | -- interactive objects. |
355 | |
7fd59977 |
356 | DetectedCurrentShape(me) returns Shape from TopoDS; |
357 | ---C++: return const & |
57ad5cbd |
358 | ---Purpose: |
359 | -- @return current mouse-detected shape or empty (null) shape, if current interactive object |
360 | -- is not a shape (AIS_Shape) or there is no current mouse-detected interactive object at all. |
361 | |
7fd59977 |
362 | DetectedCurrentObject(me) returns InteractiveObject from AIS; |
57ad5cbd |
363 | ---Purpose: |
364 | -- @return current mouse-detected interactive object or null object if there is no current detected. |
7fd59977 |
365 | |
366 | HasDetectedShape(me) returns Boolean from Standard; |
367 | DetectedShape (me) returns Shape from TopoDS; |
368 | ---C++: return const & |
369 | DetectedInteractive(me) returns InteractiveObject from AIS; |
370 | DetectedOwner (me) returns EntityOwner from SelectMgr; |
371 | |
372 | |
373 | ---Category: GET THE SELECTED |
374 | |
375 | InitSelected (me: mutable); |
376 | MoreSelected(me) returns Boolean from Standard; |
377 | NextSelected(me:mutable); |
378 | HasShape(me) returns Boolean from Standard; |
379 | ---Purpose: returns TRUE if the detected entity is a shape |
380 | -- coming from a Decomposition of an element. |
381 | SelectedShape(me) returns Shape from TopoDS; |
7fd59977 |
382 | |
383 | SelectedOwner(me) returns EntityOwner from SelectMgr; |
384 | IsSelected(me;aniobj: InteractiveObject from AIS) returns Boolean from Standard; |
385 | IsSelected(me;anOwner: EntityOwner from SelectMgr) returns Boolean from Standard; |
386 | SelectedInteractive(me) returns InteractiveObject from AIS; |
387 | HasApplicative (me) returns Boolean from Standard; |
388 | ---Purpose: returns TRUE if an interactive element |
389 | -- was associated with the current picked entity. |
390 | SelectedApplicative(me) returns any Transient from Standard; |
391 | ---C++: return const & |
392 | |
393 | |
394 | |
395 | |
396 | |
397 | |
398 | ---Category: Management Of Temporary Attributes |
399 | |
400 | SetDisplayPriority(me : mutable; |
401 | anObject: InteractiveObject from AIS; |
402 | Prior : Integer from Standard); |
403 | |
59f45b7c |
404 | SetZLayer( me : mutable; |
405 | theIObj : InteractiveObject from AIS; |
406 | theLayerId : Integer from Standard ); |
407 | ---Purpose: Set Z layer id for interactive object. The layer can be |
408 | -- specified for displayed object only. The Z layers can be used to display |
409 | -- temporarily presentations of some object in front of the other objects |
410 | -- in the scene. The ids for Z layers are generated by V3d_Viewer. |
411 | -- Note that Z layers differ from under-/overlayer in V3d_View: |
412 | -- under-/overlayer are intended for specific 2D drawings that appear |
413 | -- behind/in front of all 3D presentations, while SetZLayer() method |
414 | -- applies to regular 3D presentations and does not imply any specific |
415 | -- drawing methods. |
416 | |
417 | GetZLayer( me; |
418 | theIObj : InteractiveObject from AIS ) |
419 | returns Integer from Standard; |
420 | ---Purpose: Get Z layer id set for displayed interactive object. |
421 | -- If the object doesn't exists in context or has no computed presentations, |
422 | -- the method returns -1. |
423 | |
7fd59977 |
424 | DisplayedObjects(me;theMapToFill : in out MapOfTransient from TColStd) |
425 | returns Integer from Standard; |
426 | |
427 | IsIn(me;anObject : InteractiveObject from AIS) |
428 | returns Boolean from Standard; |
429 | |
430 | |
431 | IsDisplayed(me;anObject : InteractiveObject from AIS) |
432 | returns Boolean from Standard; |
433 | |
434 | IsDisplayed(me;anObject : InteractiveObject from AIS; |
435 | aMode : Integer from Standard) |
436 | returns Boolean from Standard; |
437 | |
438 | SelectionModes(me;anObject:InteractiveObject from AIS) |
439 | returns ListOfInteger from TColStd; |
440 | ---C++: return const & |
441 | |
442 | SubIntensityOn(me:mutable; anObject : InteractiveObject from AIS ); |
443 | |
444 | SubIntensityOff(me:mutable; anObject : InteractiveObject from AIS ); |
445 | |
446 | Hilight(me: mutable; anObject : InteractiveObject from AIS); |
447 | |
448 | Hilight(me:mutable; anObject : InteractiveObject from AIS;aCol:NameOfColor from Quantity); |
449 | |
450 | Unhilight(me:mutable; anObject : InteractiveObject from AIS); |
451 | |
452 | IsHilighted(me;anObject : InteractiveObject from AIS) |
453 | returns Boolean from Standard; |
454 | |
455 | IsHilighted(me; |
456 | anObject : InteractiveObject from AIS; |
457 | WithColor : out Boolean from Standard; |
458 | HiCol : out NameOfColor from Quantity) |
459 | returns Boolean from Standard; |
460 | |
3c982548 |
461 | SetSensitivityMode(me : mutable; |
462 | aMode : SensitivityMode from StdSelect) is static; |
463 | ---Level: Public |
464 | ---Purpose: Sets the selection sensitivity mode. SM_WINDOW mode |
465 | -- uses the specified pixel tolerance to compute the sensitivity |
466 | -- value, SM_VIEW mode allows to define the sensitivity manually. |
467 | |
468 | SensitivityMode(me) returns SensitivityMode from StdSelect; |
469 | ---Level: Public |
470 | ---Purpose: Returns the selection sensitivity mode. |
471 | |
7fd59977 |
472 | SetSensitivity(me:mutable; |
473 | aPrecision: Real from Standard); |
474 | ---Level: Public |
475 | ---Purpose: Define the current selection sensitivity for |
476 | -- this local context according to the view size. |
477 | |
3c982548 |
478 | Sensitivity (me) returns Real from Standard; |
479 | ---Level: Public |
480 | ---Purpose: Returns the selection sensitivity value. |
481 | |
482 | SetPixelTolerance(me:mutable; |
7fd59977 |
483 | aPrecision: Integer from Standard = 2); |
484 | ---Level: Public |
485 | ---Purpose: Define the current selection sensitivity for |
486 | -- this local context according to the view size. |
487 | |
3c982548 |
488 | PixelTolerance(me) returns Integer from Standard; |
489 | ---Level: Public |
490 | ---Purpose: Returns the pixel tolerance. |
491 | |
7fd59977 |
492 | ---Category: IMMEDIATE MODE |
493 | |
494 | |
679ecdee |
495 | BeginImmediateDraw (me : mutable) |
7fd59977 |
496 | returns Boolean from Standard; |
679ecdee |
497 | ---Purpose: Resets the transient list of presentations previously displayed in immediate mode |
498 | -- and begins accumulation of new list by following AddToImmediateList()/Color()/Highlight() calls. |
499 | |
500 | ClearImmediateDraw (me : mutable) is virtual; |
501 | ---Purpose: Resets the transient list of presentations previously displayed in immediate mode. |
7fd59977 |
502 | |
679ecdee |
503 | ImmediateAdd (me : mutable; |
504 | theObj : InteractiveObject from AIS; |
505 | theMode : Integer from Standard = 0) |
7fd59977 |
506 | returns Boolean from Standard; |
679ecdee |
507 | ---Purpose: Stores presentation theMode of object theObj in the transient list of presentations to be displayed in immediate mode. |
508 | -- Will be taken in account in EndImmediateDraw method. |
7fd59977 |
509 | |
679ecdee |
510 | EndImmediateDraw (me : mutable; |
511 | theView : View from V3d) |
7fd59977 |
512 | returns Boolean from Standard; |
679ecdee |
513 | ---Purpose: Allows rapid drawing of the view theView by avoiding an update of the whole background. |
514 | |
515 | IsImmediateModeOn (me) returns Boolean from Standard; |
516 | ---Purpose: Returns true if Presentation Manager is accumulating transient list of presentations to be displayed in immediate mode. |
7fd59977 |
517 | |
7fd59977 |
518 | ---Category: INTERNAL METHODS; |
519 | |
520 | UpdateConversion(me:mutable); |
521 | |
522 | UpdateSort(me:mutable); |
523 | |
524 | |
525 | |
526 | Status(me) returns AsciiString from TCollection is private; |
527 | |
528 | Status(me;anObject : InteractiveObject from AIS) |
529 | returns any LocalStatus from AIS is private; |
530 | ---C++: return const& |
531 | |
532 | |
533 | |
534 | LoadContextObjects(me:mutable); |
535 | |
536 | UnloadContextObjects(me:mutable); |
537 | |
538 | Process(me : mutable; |
539 | anObject : SelectableObject from SelectMgr; |
540 | WithProj: Boolean from Standard = Standard_True) is static private; |
541 | |
542 | Process(me:mutable; |
543 | WithProj: Boolean from Standard = Standard_True) is static private; |
544 | |
545 | |
546 | ActivateStandardModes(me:mutable;anObject: SelectableObject from SelectMgr; |
547 | WithProj: Boolean from Standard = Standard_True) is static private; |
548 | |
679ecdee |
549 | manageDetected (me : mutable; |
550 | thePickOwner : EntityOwner from SelectMgr; |
551 | theView : View from V3d; |
552 | theToRedrawImmediate : Boolean from Standard) is static private; |
7fd59977 |
553 | |
554 | DetectedIndex(me:mutable) returns Integer from Standard is static private; |
555 | ---C++: inline |
556 | ---Purpose: returns 0 if the detected entity was Not FilterOK... |
557 | |
558 | Hilight(me:mutable;Own:EntityOwner from SelectMgr;aview: View from V3d) is static private; |
559 | |
560 | |
561 | Unhilight(me:mutable;Ownr:EntityOwner from SelectMgr;aview: View from V3d) is static private; |
562 | |
563 | |
564 | ClearObjects(me:mutable) is static private; |
565 | |
566 | ClearDetected(me:mutable) is static private; |
567 | |
568 | IsDecompositionOn(me) returns Boolean from Standard is static private; |
569 | |
570 | IsShape(me;anIndex:Integer from Standard) returns Boolean from Standard is static private; |
571 | |
572 | IsValidForSelection(me;anIObj:InteractiveObject from AIS) returns Boolean from Standard is static private; |
573 | |
574 | IsValidIndex(me;anIndex:Integer from Standard) |
575 | returns Boolean from Standard is static private; |
576 | ---C++: inline |
577 | |
578 | ComesFromDecomposition(me; aPickedIndex : Integer from Standard) |
579 | returns Boolean from Standard is static private; |
580 | |
581 | |
582 | DisplayAreas(me:mutable;aviou:View from V3d); |
583 | |
584 | ClearAreas (me:mutable; |
585 | aView: View from V3d) is static; |
586 | ---Level: Internal |
587 | |
588 | HasFilters(me;aType:ShapeEnum from TopAbs) |
589 | returns Boolean from Standard is private; |
590 | |
591 | DisplaySensitive(me:mutable;aView : View from V3d) is static; |
592 | |
593 | ClearSensitive(me:mutable;aView:View from V3d) is static; |
594 | |
7fd59977 |
595 | MainSelector(me) returns any ViewerSelector3d from StdSelect; |
596 | ---C++: inline |
597 | ---C++: return const& |
598 | |
7fd59977 |
599 | FindSelectedOwnerFromIO(me;anIObj:InteractiveObject from AIS) |
1bd2fa67 |
600 | returns EntityOwner from SelectMgr; |
7fd59977 |
601 | |
602 | FindSelectedOwnerFromShape(me;aShape : Shape from TopoDS) |
1bd2fa67 |
603 | returns EntityOwner from SelectMgr; |
7fd59977 |
604 | |
605 | |
606 | |
607 | fields |
608 | |
609 | myCTX : InteractiveContext from AIS; |
610 | myLoadDisplayed,myAcceptStdMode : Boolean from Standard; |
611 | myAcceptErase : Boolean from Standard; |
612 | |
613 | mySM : SelectionManager from SelectMgr; |
614 | myMainVS : ViewerSelector3d from StdSelect; |
615 | myMainPM : PresentationManager3d from PrsMgr; |
616 | mySelName : AsciiString from TCollection; |
617 | myCollVS : ViewerSelector3d from StdSelect; |
618 | |
619 | -- The Objects and their attributes... |
620 | |
621 | myActiveObjects : DataMapOfSelStat from AIS; |
622 | |
623 | |
624 | -- The Filters... |
625 | |
626 | myFilters : OrFilter from SelectMgr; |
627 | myListOfStandardMode : ListOfInteger from TColStd; |
628 | |
629 | -- VTN myStdFilters : Filter from SelectMgr [7]; --internal mgt |
630 | myStdFilters : Filter from SelectMgr [9]; --internal mgt |
631 | |
632 | -- Selection Process |
633 | |
634 | myAutoHilight : Boolean from Standard; |
635 | myMapOfOwner : IndexedMapOfOwner from SelectMgr; |
636 | mylastindex : Integer from Standard; |
637 | mylastgood : Integer from Standard; |
638 | myCurrentOwner : Integer from Standard; |
639 | |
640 | |
641 | myDetectedSeq : SequenceOfInteger from TColStd; |
642 | myCurDetected : Integer from Standard; |
643 | |
57ad5cbd |
644 | -- The detected objects. |
645 | |
7fd59977 |
646 | myAISDetectedSeq : SequenceOfInteractive from AIS; |
57ad5cbd |
647 | -- the sequence of detected interative objects. |
7fd59977 |
648 | myAISCurDetected : Integer from Standard; |
57ad5cbd |
649 | -- current detected interactive object. |
650 | -- This variable is used by following functions: |
7fd59977 |
651 | -- InitDetected(), MoreDetected(), NextDetected(), DetectedCurrentShape(), DetectedCurrentObject(). |
652 | |
653 | friends |
654 | |
655 | KeepTemporary from InteractiveContext from AIS(me:mutable;anIObj:InteractiveObject from AIS;WhichMode : Integer from Standard = -1) |
656 | |
657 | end LocalContext; |
658 | |
659 | |
660 | |
661 | |
662 | |