0024947: Redesign OCCT legacy type system -- final corrections
[occt.git] / src / IFSelect / IFSelect_ModifReorder.cdl
1 -- Created on: 1996-03-15
2 -- Created by: Christian CAILLET
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class ModifReorder  from IFSelect  inherits Modifier
18
19     ---Purpose : This modifier reorders a whole model from its roots, i.e.
20     --           according to <rootlast> status, it considers each of its
21     --           roots, then it orders all its shared entities at any level,
22     --           the result begins by the lower level entities ... ends by
23     --           the roots.
24
25 uses CString, AsciiString from TCollection,
26      InterfaceModel, CopyTool, Protocol from Interface, ContextModif
27
28 is
29
30     Create (rootlast : Boolean = Standard_True) returns ModifReorder;
31     ---Purpose : Creates a ModifReorder. It may change the graph (it does !)
32     --           If <rootlast> is True (D), roots are set at the end of packets
33     --           Else, they are set at beginning (as done by AddWithRefs)
34
35     Perform (me; ctx  : in out ContextModif;
36              target   : InterfaceModel;
37              protocol : Protocol from Interface;
38              TC       : in out CopyTool);
39     ---Purpose : Acts by computing orders (by method All from ShareTool) then
40     --           forcing them in the model. Remark that selection is ignored :
41     --           ALL the model is processed in once
42
43     Label (me) returns AsciiString from TCollection;
44     ---Purpose : Returns Label as "Reorder, Roots (last or first)"
45
46 fields
47
48     thertl : Boolean;
49
50 end ModifReorder;