blob: 51fa281a4be45b46d4d3921a176936534a4249e2 (
plain)
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
-- File: TDF_IDFilter.cdl
-- ----------------
-- Author: DAUTRY Philippe
-- <fid@fox.paris1.matra-dtv.fr>
---Copyright: MATRA DATAVISION 1997
---Version: 0.0
---History: Version Date Purpose
-- 0.0 May 26 1997 Creation
class IDFilter from TDF
---Purpose: This class offers filtering services around an ID list.
uses
GUID from Standard,
IDList from TDF,
IDMap from TDF,
Attribute from TDF
-- raises
is
Create(ignoreMode : Boolean from Standard = Standard_True)
returns IDFilter from TDF;
---Purpose: Creates an ID/attribute filter based on an ID
-- list. The default mode is "ignore all but...".
--
-- This filter has 2 working mode: keep and ignore.
--
-- Ignore/Exclusive mode: all IDs are ignored except
-- these set to be kept, using Keep(). Of course, it
-- is possible set an kept ID to be ignored using
-- Ignore().
--
-- Keep/Inclusive mode: all IDs are kept except these
-- set to be ignored, using Ignore(). Of course, it
-- is possible set an ignored ID to be kept using
-- Keep().
Create(aFilter : IDFilter from TDF)
returns IDFilter from TDF
is private;
---Purpose: Private, to forbid implicit or hidden accesses to
-- the copy constructor.
-- Mode methods.
IgnoreAll(me : in out; ignore : Boolean from Standard);
---Purpose: The list of ID is cleared and the filter mode is
-- set to ignore mode if <keep> is true; false
-- otherwise.
IgnoreAll(me) returns Boolean from Standard;
---Purpose: Returns true is the mode is set to "ignore all
-- but...".
--
---C++: inline
-- Keep/Ignore methods.
Keep(me : in out; anID : GUID from Standard);
---Purpose: An attribute with <anID> as ID is to be kept and
-- the filter will answer true to the question
-- IsKept(<anID>).
Keep(me : in out; anIDList : IDList from TDF);
---Purpose: Attributes with ID owned by <anIDList> are to be kept and
-- the filter will answer true to the question
-- IsKept(<anID>) with ID from <anIDList>.
Ignore(me : in out; anID : GUID from Standard);
---Purpose: An attribute with <anID> as ID is to be ignored and
-- the filter will answer false to the question
-- IsKept(<anID>).
Ignore(me : in out; anIDList : IDList from TDF);
---Purpose: Attributes with ID owned by <anIDList> are to be
-- ignored and the filter will answer false to the
-- question IsKept(<anID>) with ID from <anIDList>.
-- Question methods.
IsKept(me; anID : GUID from Standard) returns Boolean from Standard;
---Purpose: Returns true if the ID is to be kept.
--
---C++: inline
IsKept(me; anAtt : Attribute from TDF) returns Boolean from Standard;
---Purpose: Returns true if the attribute is to be kept.
--
---C++: inline
IsIgnored(me; anID : GUID from Standard) returns Boolean from Standard;
---Purpose: Returns true if the ID is to be ignored.
--
---C++: inline
IsIgnored(me; anAtt : Attribute from TDF) returns Boolean from Standard;
---Purpose: Returns true if the attribute is to be ignored.
--
---C++: inline
-- Miscelleaneous
IDList(me; anIDList : in out IDList from TDF);
---Purpose: Copies the list of ID to be kept or ignored in
-- <anIDList>. <anIDList> is cleared before use.
Copy(me : in out; fromFilter : IDFilter from TDF);
---Purpose: Copies into <me> the contents of
-- <fromFilter>. <me> is cleared before copy.
Dump(me; anOS : in out OStream from Standard);
---Purpose: Writes the contents of <me> to <OS>.
fields
myIgnore : Boolean from Standard;
myIDMap : IDMap from TDF;
end IDFilter;
|