0022735: Data races in BRepMesh working in parallel mode
[occt.git] / src / IFSelect / IFSelect_SelectSent.cdl
1 -- File:        IFSelect_SelectSent.cdl
2 -- Created:     Wed Oct 25 09:38:28 1995
3 -- Author:      Christian CAILLET
4 --              <cky@anion>
5 ---Copyright:    Matra Datavision 1995
6
7
8 class SelectSent  from IFSelect    inherits SelectExtract
9
10     ---Purpose : This class returns entities according sending to a file
11     --           Once a model has been loaded, further sendings are recorded
12     --           as status in the graph (for each value, a count of sendings)
13     --           
14     --           Hence, it is possible to query entities : sent ones (at least
15     --           once), non-sent (i.e. remaining) ones, duplicated ones, etc...
16     --           
17     --           This selection performs this query
18
19 uses AsciiString from TCollection, InterfaceModel, Graph, EntityIterator
20
21 is
22
23     Create (sentcount : Integer = 1; atleast : Boolean = Standard_True)
24         returns mutable SelectSent;
25     ---Purpose : Creates a SelectSent :
26     --           sentcount = 0 -> remaining (non-sent) entities
27     --           sentcount = 1, atleast = True (D) -> sent (at least once)
28     --           sentcount = 2, atleast = True -> duplicated (sent least twice)
29     --             etc...
30     --           sentcount = 1, atleast = False -> sent just once (non-dupl.d)
31     --           sentcount = 2, atleast = False -> sent just twice
32     --             etc...
33
34     SentCount (me) returns Integer;
35     ---Purpose : Returns the queried count of sending
36
37     AtLeast (me) returns Boolean;
38     ---Purpose : Returns the <atleast> status, True for sending at least the
39     --           sending count, False for sending exactly the sending count
40     --           Remark : if SentCount is 0, AtLeast is ignored
41
42     RootResult (me; G : Graph) returns EntityIterator  is redefined;
43     ---Purpose : Returns the list of selected entities. It is redefined to
44     --           work on the graph itself (not queried by sort)
45     --           
46     --           An entity is selected if its count complies to the query in
47     --           Direct Mode, rejected in Reversed Mode
48     --           
49     --           Query works on the sending count recorded as status in Graph
50
51     Sort (me; rank : Integer; ent : Transient; model : InterfaceModel)
52         returns Boolean;
53     ---Purpose : Returns always False because RootResult has done the work
54
55
56     ExtractLabel (me) returns AsciiString from TCollection;
57     ---Purpose : Returns a text defining the criterium : query :
58     --           SentCount = 0 -> "Remaining (non-sent) entities"
59     --           SentCount = 1, AtLeast = True  -> "Sent entities"
60     --           SentCount = 1, AtLeast = False -> "Sent once (no duplicated)"
61     --           SentCount = 2, AtLeast = True  -> "Sent several times entities"
62     --           SentCount = 2, AtLeast = False -> "Sent twice entities"
63     --           SentCount > 2, AtLeast = True  -> "Sent at least <count> times entities"
64     --           SentCount > 2, AtLeast = False -> "Sent <count> times entities"
65
66 fields
67
68     thecnt : Integer;
69     thelst : Boolean;
70
71 end SelectSent;