0024428: Implementation of LGPL license
[occt.git] / src / LocOpe / LocOpe_Spliter.cdl
1 -- Created on: 1996-01-12
2 -- Created by: Jacques GOUSSARD
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
9 -- under the terms of the GNU Lesser General Public 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 Spliter from LocOpe
18
19         ---Purpose: 
20
21 uses Shape                     from TopoDS,
22      Face                      from TopoDS,
23      ProjectedWires            from LocOpe,
24      ListOfShape               from TopTools,
25      DataMapOfShapeListOfShape from TopTools
26
27
28
29 raises NotDone      from StdFail,
30        NullObject   from Standard,
31        NoSuchObject from Standard
32
33 is
34
35     Create
36         ---Purpose: Empty constructor.
37         returns Spliter from LocOpe;
38         ---C++: inline
39
40
41     Create(S: Shape from TopoDS)
42         ---Purpose: Creates the algorithm on the shape <S>.
43         ---C++: inline
44         returns Spliter from LocOpe;
45
46
47     Init(me: in out; S: Shape from TopoDS)
48         ---Purpose: Initializes the algorithm on the shape <S>.
49         ---C++: inline
50         is static;
51
52
53     Perform(me: in out; PW: ProjectedWires from LocOpe)
54                         
55         raises NullObject from Standard         
56         is static;
57
58
59     IsDone(me)
60     
61         ---C++: inline
62         returns Boolean from Standard
63         is static;
64
65
66
67     ResultingShape(me)
68         ---Purpose: Returns the new shape
69         returns Shape from TopoDS
70         ---C++: return const&
71         ---C++: inline
72         raises NotDone from StdFail
73         is static;
74         
75
76     Shape(me)
77         ---Purpose: Returns the initial shape
78         returns Shape from TopoDS
79         ---C++: return const&
80         ---C++: inline
81         is static;
82
83
84
85     DirectLeft(me)
86         ---Purpose: Returns  the faces   which  are the  left of   the
87         --          projected wires and which are
88         returns ListOfShape from TopTools
89         ---C++: return const&
90         raises NotDone from StdFail
91         --- The exception is raised when IsDone returns <Standard_False>.
92         is static;
93
94
95     Left(me)
96         ---Purpose: Returns the faces of the "left" part on the shape.
97         --          (It  is build   from  DirectLeft,  with  the faces
98         --          connected to this set, and so on...).
99         returns ListOfShape from TopTools
100         ---C++: return const&
101         raises NotDone from StdFail
102         --- The exception is raised when IsDone returns <Standard_False>.
103         is static;
104
105
106     DescendantShapes(me: in out; S: Shape from TopoDS)
107         ---Purpose: Returns the list of descendant shapes of <S>.
108         returns ListOfShape from TopTools
109         ---C++: return const&
110         raises NotDone from StdFail,
111                NoSuchObject from Standard
112         --- The  exception  NotDone   is  raised  when  IsDone returns
113         --  <Standard_False>. The exception  NoSuchObject is raised if
114         --  <S> is not a subshape of the original shape.
115         is static;
116
117
118 fields
119
120     myShape     : Shape                     from TopoDS;
121     myDone      : Boolean                   from Standard;
122     myRes       : Shape                     from TopoDS;
123     myMap       : DataMapOfShapeListOfShape from TopTools;
124     myDLeft     : ListOfShape               from TopTools;
125     myLeft      : ListOfShape               from TopTools;
126
127 end Spliter;