0024023: Revamp the OCCT Handle -- downcast (automatic)
[occt.git] / src / AIS / AIS_ExclusionFilter.cdl
CommitLineData
b311480e 1-- Created on: 1997-11-28
2-- Created by: Robert COUBLANC
3-- Copyright (c) 1997-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.
7fd59977 16
17class ExclusionFilter from AIS inherits Filter from SelectMgr
18
19 ---Purpose: A framework to reject or to accept only objects of
20 -- given types and/or signatures.
21 -- Objects are stored, and the stored objects - along
22 -- with the flag settings - are used to define the filter.
23 -- Objects to be filtered are compared with the stored
24 -- objects added to the filter, and are accepted or
25 -- rejected according to the exclusion flag setting.
26 -- - Exclusion flag on
27 -- - the function IsOk answers true for all objects,
28 -- except those of the types and signatures stored
29 -- in the filter framework
30 -- - Exclusion flag off
31 -- - the funciton IsOk answers true for all objects
32 -- which have the same type and signature as the stored ones.
33
34uses
35
36 EntityOwner from SelectMgr,
37 KindOfInteractive from AIS,
38 ListOfInteger from TColStd,
39 DataMapOfIntegerListOfInteger from TColStd
40is
41
42 Create(ExclusionFlagOn:Boolean from Standard = Standard_True)
6e33d3ce 43 returns ExclusionFilter from AIS;
7fd59977 44 ---Purpose: Constructs an empty exclusion filter object defined by
45 -- the flag setting ExclusionFlagOn.
46 -- By default, the flag is set to true.
47
48 Create(TypeToExclude : KindOfInteractive from AIS;
49 ExclusionFlagOn : Boolean from Standard = Standard_True)
6e33d3ce 50 returns ExclusionFilter from AIS;
7fd59977 51 ---Purpose: All the AIS objects of <TypeToExclude>
52 -- Will be rejected by the IsOk Method.
53
54
55 Create(TypeToExclude : KindOfInteractive from AIS;
56 SignatureInType :Integer from Standard ;
57 ExclusionFlagOn : Boolean from Standard = Standard_True)
6e33d3ce 58 returns ExclusionFilter from AIS;
7fd59977 59 ---Purpose: Constructs an exclusion filter object defined by the
60 -- enumeration value TypeToExclude, the signature
61 -- SignatureInType, and the flag setting ExclusionFlagOn.
62 -- By default, the flag is set to true.
63
64
65 IsOk(me; anObj : EntityOwner from SelectMgr)
66 returns Boolean from Standard
67 is redefined virtual;
68
69
70
71
72
73 ---Category: Load Filter...
74
75 Add(me:mutable;TypeToExclude : KindOfInteractive from AIS)
76 returns Boolean from Standard;
77 ---Purpose: Adds the type TypeToExclude to the list of types.
78
79 Add(me:mutable;
80 TypeToExclude : KindOfInteractive from AIS;
81 SignatureInType : Integer from Standard)
82 returns Boolean from Standard;
83
84 Remove(me:mutable;
85 TypeToExclude:KindOfInteractive from AIS)
86 returns Boolean from Standard;
87
88 Remove(me:mutable;
89 TypeToExclude:KindOfInteractive from AIS;
90 SignatureInType : Integer from Standard)
91 returns Boolean from Standard;
92
93 Clear(me:mutable);
94
95 ---Category: Information about Filter...
96
97
98
99 IsExclusionFlagOn(me) returns Boolean from Standard;
100 ---C++: inline
101
102 SetExclusionFlag(me:mutable; Status : Boolean from Standard);
103 ---C++: inline
104
105
106 IsStored(me;aType:KindOfInteractive from AIS) returns Boolean from Standard;
107
108 ListOfStoredTypes( me; TheList: in out ListOfInteger from TColStd);
109
110 ListOfSignature(me;
111 aType : KindOfInteractive from AIS;
112 TheStoredList : in out ListOfInteger from TColStd);
113
114
115 IsSignatureIn(me;aType:KindOfInteractive from AIS;aSignature:Integer from Standard)
116 returns Boolean from Standard is static private;
117
118fields
119 myIsExclusionFlagOn : Boolean from Standard;
120 myStoredTypes : DataMapOfIntegerListOfInteger from TColStd;
121end ExclusionFilter;