1 -- Created on: 1994-12-21
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class DispPerSignature from IFSelect inherits Dispatch
19 ---Purpose : A DispPerSignature sorts input Entities according to a
20 -- Signature : it works with a SignCounter to do this.
22 uses AsciiString from TCollection, Graph, SubPartsIterator, SignCounter
28 Create returns DispPerSignature;
29 ---Purpose : Creates a DispPerSignature with no SignCounter (by default,
30 -- produces only one packet)
32 SignCounter (me) returns SignCounter;
33 ---Purpose : Returns the SignCounter used for splitting
35 SetSignCounter (me : mutable; sign : SignCounter);
36 ---Purpose : Sets a SignCounter for sort
37 -- Remark : it is set to record lists of entities, not only counts
39 SignName (me) returns CString;
40 ---Purpose : Returns the name of the SignCounter, which caracterises the
41 -- sorting criterium for this Dispatch
43 Label (me) returns AsciiString from TCollection;
44 ---Purpose : Returns as Label, "One File per Signature <name>"
46 -- -- Evaluation -- --
48 LimitedMax (me; nbent : Integer; max : out Integer) returns Boolean
50 ---Purpose : Returns True, maximum count is given as <nbent>
52 -- PacketsCount (me; G : Graph; count : out Integer) returns Boolean
53 -- is not redefined : Packets must be first determined before counting
55 Packets (me; G : Graph; packs : in out SubPartsIterator)
56 raises InterfaceError;
57 ---Purpose : Computes the list of produced Packets. It defines Packets from
58 -- the SignCounter, which sirts the input Entities per Signature
59 -- (specific of the SignCounter).
63 thesign : SignCounter;