Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IFSelect / IFSelect_SelectDeduct.cdl
CommitLineData
7fd59977 1-- File: SelectDeduct.cdl
2-- Created: Tue Nov 17 19:13:08 1992
3-- Author: Christian CAILLET
4-- <cky@topsn2>
5---Copyright: Matra Datavision 1992
6
7
8deferred class SelectDeduct from IFSelect inherits Selection
9
10 ---Purpose : A SelectDeduct determines a list of Entities from an Input
11 -- Selection, by a computation : Output list is not obliged to be
12 -- a sub-list of Input list
13 -- (for more specific, see SelectExtract for filtered sub-lists,
14 -- and SelectExplore for recurcive exploration)
15 --
16 -- A SelectDeduct may use an alternate input for one shot
17 -- This allows to use an already existing definition, by
18 -- overloading the input selection by an alternate list,
19 -- already defined, for one use :
20 -- If this alternate list is set, InputResult queries it instead
21 -- of calling the input selection, then clears it immediately
22
23uses AsciiString from TCollection, EntityIterator, Graph,
24 SelectionIterator, SelectPointed
25
26raises InterfaceError
27
28is
29
30 SetInput (me : mutable; sel : mutable Selection);
31 ---Purpose : Defines or Changes the Input Selection
32
33 Input (me) returns mutable Selection;
34 ---Purpose : Returns the Input Selection
35
36 HasInput (me) returns Boolean;
37 ---Purpose : Returns True if the Input Selection is defined, False else
38
39 HasAlternate (me) returns Boolean;
40 ---Purpose : Tells if an Alternate List has been set, i.e. : the Alternate
41 -- Definition is present and set
42
43 Alternate (me : mutable) returns SelectPointed;
44 ---Purpose : Returns the Alternate Definition
45 -- It is returned modifiable, hence an already defined
46 -- SelectPointed can be used
47 -- But if it was not yet defined, it is created the first time
48 --
49 -- It is exploited by InputResult
50 ---C++ : return &
51
52 InputResult (me; G : Graph) returns EntityIterator;
53 ---Purpose : Returns the Result determined by Input Selection, as Unique
54 -- if Input Selection is not defined, returns an empty list.
55 --
56 -- If Alternate is set, InputResult takes its definition instead
57 -- of calling the Input Selection, then clears it
58
59 -- RootResult remains to be defined by each class of Selection
60
61
62 FillIterator (me; iter : in out SelectionIterator);
63 ---Purpose : Puts in an Iterator the Selections from which "me" depends
64 -- This list contains one Selection : the InputSelection
65
66fields
67
68 thesel : Selection;
69 thealt : SelectPointed;
70
71end SelectDeduct;