0024023: Revamp the OCCT Handle -- general
[occt.git] / src / ShapeUpgrade / ShapeUpgrade_ShellSewing.cdl
1 -- Created on: 1998-06-03
2 -- Created by: data exchange team
3 -- Copyright (c) 1998-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 ShellSewing from ShapeUpgrade 
18
19     ---Purpose: This class provides a tool for applying sewing algorithm from
20     --          BRepBuilderAPI: it takes a shape, calls sewing for each shell, 
21     --          and then replaces sewed shells with use of ShapeBuild_ReShape
22
23 uses 
24     Shape from TopoDS,
25     IndexedMapOfShape from TopTools,
26     ReShape from ShapeBuild
27
28 is
29
30     Create returns ShellSewing;
31     ---Purpose: Creates a ShellSewing, empty
32
33     ApplySewing (me: in out; shape: Shape from TopoDS; tol: Real = 0.0)
34         returns Shape from TopoDS;
35     ---Purpose: Builds a new shape from a former one, by calling Sewing from
36     --          BRepBuilderAPI. Rebuilt solids are oriented to be "not infinite"
37     --           
38     --          If <tol> is not given (i.e. value 0. by default), it is
39     --          computed as the mean tolerance recorded in <shape>
40     --           
41     --          If no shell has been sewed, this method returns the input
42     --          shape
43
44     Init (me: in out; shape: Shape from TopoDS) is private;
45
46     Prepare (me: in out; tol: Real) returns Integer is private;
47     
48     Apply (me: in out; shape: Shape from TopoDS; tol: Real) 
49     returns Shape from TopoDS is private;
50     
51 fields
52
53     myShells: IndexedMapOfShape from TopTools;
54     myReShape: ReShape from ShapeBuild;
55
56 end ShellSewing;