0024157: Parallelization of assembly part of BO
[occt.git] / src / IFSelect / IFSelect_DispPerCount.cdl
1 -- Created on: 1992-11-17
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1992-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
21
22
23 class DispPerCount  from IFSelect  inherits Dispatch
24
25     ---Purpose : A DispPerCount gathers all the input Entities into one or
26     --           several Packets, each containing a defined count of Entity
27     --           This count is a Parameter of the DispPerCount, given as an
28     --           IntParam, thus allowing external control of its Value
29
30 uses AsciiString from TCollection, Graph, SubPartsIterator, IntParam
31
32 raises InterfaceError
33
34 is
35
36     Create returns mutable DispPerCount;
37     ---Purpose : Creates a DispPerCount with no Count (default value 1)
38
39     Count (me) returns mutable IntParam;
40     ---Purpose : Returns the Count Parameter used for splitting
41
42     SetCount (me : mutable; count : mutable IntParam);
43     ---Purpose : Sets a new Parameter for Count
44
45     CountValue (me) returns Integer;
46     ---Purpose : Returns the effective value of the count parameter
47     --           (if Count Parameter not Set or value not positive, returns 1)
48
49     Label (me) returns AsciiString from TCollection;
50     ---Purpose : Returns as Label, "One File per <count> Input Entities"
51
52         --  --    Evaluation    --  --
53
54     LimitedMax (me; nbent : Integer; max : out Integer) returns Boolean
55         is redefined;
56     ---Purpose : Returns True, maximum count is given as <nbent>
57
58     PacketsCount (me; G : Graph; count : out Integer) returns Boolean
59         is redefined;
60     ---Purpose : Returns True (count is easy to know) and count is computed
61     --           from length of input list (RootResult from Final Selection)
62
63     Packets (me; G : Graph; packs : in out SubPartsIterator)
64         raises InterfaceError;
65     ---Purpose : Computes the list of produced Packets. It defines Packets in
66     --           order to have at most <Count> Entities per Packet, Entities
67     --           are given by RootResult from the Final Selection.
68
69 fields
70
71     thecount : IntParam;
72
73 end DispPerCount;