0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect_SelectControl.cdl
CommitLineData
b311480e 1-- Created on: 1994-02-16
2-- Created by: Christian CAILLET
3-- Copyright (c) 1994-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23deferred class SelectControl from IFSelect inherits Selection
24
25 ---Purpose : A SelectControl kind Selection works with two input Selections
26 -- in a dissymmetric way : the Main Input which gives an input
27 -- list of Entities, to be processed, and the Second Input which
28 -- gives another list, to be used to filter the main input.
29 --
30 -- e.g. : SelectDiff retains the items of the Main Input which
31 -- are not in the Control Input (which acts as Diff Input)
32 -- or a specific selection which retains Entities from the Main
33 -- Input if and only if they are concerned by an entity from
34 -- the Control Input (such as Views in IGES, etc...)
35 --
36 -- The way RootResult and Label are produced are at charge of
37 -- each sub-class
38
39uses SelectionIterator
40
41is
42
43 MainInput (me) returns mutable Selection;
44 ---Purpose : Returns the Main Input Selection
45
46 HasSecondInput (me) returns Boolean;
47 ---Purpose : Returns True if a Control Input is defined
48 -- Thus, Result can be computed differently if there is a
49 -- Control Input or if there is none
50
51 SecondInput (me) returns mutable Selection;
52 ---Purpose : Returns the Control Input Selection, or a Null Handle
53
54 SetMainInput (me : mutable; sel : mutable Selection);
55 ---Purpose : Sets a Selection to be the Main Input
56
57 SetSecondInput (me : mutable; sel : mutable Selection);
58 ---Purpose : Sets a Selection to be the Control Input
59
60
61 -- RootResult,Label remain to be defined by each class of Selection
62 -- (also HasUniqueResult if it applies)
63
64 FillIterator (me; iter : in out SelectionIterator);
65 ---Purpose : Puts in an Iterator the Selections from which "me" depends
66 -- That is to say, the list of Input Selections
67
68
69fields
70
71 themain : Selection;
72 thesecond : Selection;
73
74end SelectControl;