b311480e |
1 | -- Created by: DAUTRY Philippe |
2 | -- Copyright (c) 1997-1999 Matra Datavision |
973c2be1 |
3 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
b311480e |
4 | -- |
973c2be1 |
5 | -- This file is part of Open CASCADE Technology software library. |
b311480e |
6 | -- |
d5f74e42 |
7 | -- This library is free software; you can redistribute it and/or modify it under |
8 | -- the terms of the GNU Lesser General Public License version 2.1 as published |
973c2be1 |
9 | -- by the Free Software Foundation, with special exception defined in the file |
10 | -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
11 | -- distribution for complete text of the license and disclaimer of any warranty. |
b311480e |
12 | -- |
973c2be1 |
13 | -- Alternatively, this file may be used under the terms of Open CASCADE |
14 | -- commercial license or contractual agreement. |
b311480e |
15 | |
7fd59977 |
16 | -- ---------------- |
7fd59977 |
17 | |
18 | ---Version: 0.0 |
b311480e |
19 | --Version Date Purpose |
7fd59977 |
20 | -- 0.0 May 26 1997 Creation |
21 | |
22 | |
23 | class IDFilter from TDF |
24 | |
25 | ---Purpose: This class offers filtering services around an ID list. |
26 | |
27 | uses |
28 | |
29 | GUID from Standard, |
30 | IDList from TDF, |
31 | IDMap from TDF, |
32 | Attribute from TDF |
33 | |
34 | -- raises |
35 | |
36 | is |
37 | |
38 | Create(ignoreMode : Boolean from Standard = Standard_True) |
39 | returns IDFilter from TDF; |
40 | ---Purpose: Creates an ID/attribute filter based on an ID |
41 | -- list. The default mode is "ignore all but...". |
42 | -- |
43 | -- This filter has 2 working mode: keep and ignore. |
44 | -- |
45 | -- Ignore/Exclusive mode: all IDs are ignored except |
46 | -- these set to be kept, using Keep(). Of course, it |
47 | -- is possible set an kept ID to be ignored using |
48 | -- Ignore(). |
49 | -- |
50 | -- Keep/Inclusive mode: all IDs are kept except these |
51 | -- set to be ignored, using Ignore(). Of course, it |
52 | -- is possible set an ignored ID to be kept using |
53 | -- Keep(). |
54 | |
55 | |
56 | Create(aFilter : IDFilter from TDF) |
57 | returns IDFilter from TDF |
58 | is private; |
59 | ---Purpose: Private, to forbid implicit or hidden accesses to |
60 | -- the copy constructor. |
61 | |
62 | -- Mode methods. |
63 | |
64 | IgnoreAll(me : in out; ignore : Boolean from Standard); |
65 | ---Purpose: The list of ID is cleared and the filter mode is |
66 | -- set to ignore mode if <keep> is true; false |
67 | -- otherwise. |
68 | |
69 | IgnoreAll(me) returns Boolean from Standard; |
70 | ---Purpose: Returns true is the mode is set to "ignore all |
71 | -- but...". |
72 | -- |
73 | ---C++: inline |
74 | |
75 | |
76 | -- Keep/Ignore methods. |
77 | |
78 | Keep(me : in out; anID : GUID from Standard); |
79 | ---Purpose: An attribute with <anID> as ID is to be kept and |
80 | -- the filter will answer true to the question |
81 | -- IsKept(<anID>). |
82 | |
83 | Keep(me : in out; anIDList : IDList from TDF); |
84 | ---Purpose: Attributes with ID owned by <anIDList> are to be kept and |
85 | -- the filter will answer true to the question |
86 | -- IsKept(<anID>) with ID from <anIDList>. |
87 | |
88 | Ignore(me : in out; anID : GUID from Standard); |
89 | ---Purpose: An attribute with <anID> as ID is to be ignored and |
90 | -- the filter will answer false to the question |
91 | -- IsKept(<anID>). |
92 | |
93 | Ignore(me : in out; anIDList : IDList from TDF); |
94 | ---Purpose: Attributes with ID owned by <anIDList> are to be |
95 | -- ignored and the filter will answer false to the |
96 | -- question IsKept(<anID>) with ID from <anIDList>. |
97 | |
98 | |
99 | -- Question methods. |
100 | |
101 | IsKept(me; anID : GUID from Standard) returns Boolean from Standard; |
102 | ---Purpose: Returns true if the ID is to be kept. |
103 | -- |
104 | ---C++: inline |
105 | |
106 | IsKept(me; anAtt : Attribute from TDF) returns Boolean from Standard; |
107 | ---Purpose: Returns true if the attribute is to be kept. |
108 | -- |
109 | ---C++: inline |
110 | |
111 | IsIgnored(me; anID : GUID from Standard) returns Boolean from Standard; |
112 | ---Purpose: Returns true if the ID is to be ignored. |
113 | -- |
114 | ---C++: inline |
115 | |
116 | IsIgnored(me; anAtt : Attribute from TDF) returns Boolean from Standard; |
117 | ---Purpose: Returns true if the attribute is to be ignored. |
118 | -- |
119 | ---C++: inline |
120 | |
121 | |
122 | -- Miscelleaneous |
123 | |
124 | IDList(me; anIDList : in out IDList from TDF); |
125 | ---Purpose: Copies the list of ID to be kept or ignored in |
126 | -- <anIDList>. <anIDList> is cleared before use. |
127 | |
128 | Copy(me : in out; fromFilter : IDFilter from TDF); |
129 | ---Purpose: Copies into <me> the contents of |
130 | -- <fromFilter>. <me> is cleared before copy. |
131 | |
132 | Dump(me; anOS : in out OStream from Standard); |
133 | ---Purpose: Writes the contents of <me> to <OS>. |
134 | |
135 | fields |
136 | |
137 | myIgnore : Boolean from Standard; |
138 | myIDMap : IDMap from TDF; |
139 | |
140 | end IDFilter; |