1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
-- File: AIS_TypeFilter.cdl
-- Created: Thu Mar 6 16:56:36 1997
-- Author: Robert COUBLANC
-- <rob@robox.paris1.matra-dtv.fr>
---Copyright: Matra Datavision 1997
class TypeFilter from AIS inherits Filter from SelectMgr
---Purpose: Selects Interactive Objects through their types. The
-- filter questions each Interactive Object in local context
-- to determine whether it has an non-null owner, and if
-- so, whether it is of the desired type. If the object
-- returns true in each case, it is kept. If not, it is rejected.
-- By default, the interactive object has a None type
-- and a signature of 0. A filter for type specifies a
-- choice of type out of a range at any level enumerated
-- for type or kind. The choice could be for kind of
-- interactive object, of dimension, of unit, or type of axis,
-- plane or attribute.
-- If you want to give a particular type and signature to
-- your Interactive Object, you must redefine two virtual
-- methods: Type and Signature.
-- This filter is used in both Neutral Point and open local contexts.
-- In the Collector viewer, you can only locate
-- Interactive Objects which answer positively to the
-- positioned filters when a local context is open.
-- Warning
-- When you close a local context, all temporary
-- interactive objects are deleted, all selection modes
-- concerning the context are cancelled, and all content
-- filters are emptied.
uses
KindOfInteractive from AIS,
EntityOwner from SelectMgr
is
Create(aGivenKind : KindOfInteractive from AIS)
returns mutable TypeFilter from AIS;
---Purpose: Initializes filter for type, aGivenKind.
IsOk (me;anobj : EntityOwner from SelectMgr)
returns Boolean from Standard is redefined virtual;
---Purpose: Returns False if the transient is not an Interactive
-- Object, or if the type of the Interactive Object is not
-- the same as that stored in the filter.
fields
myKind : KindOfInteractive from AIS is protected;
end TypeFilter;
|