0024428: Implementation of LGPL license
[occt.git] / src / BRepAlgo / BRepAlgo_FaceRestrictor.cdl
CommitLineData
b311480e 1-- Created on: 1995-09-01
2-- Created by: Yves FRICAUD
3-- Copyright (c) 1995-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class FaceRestrictor from BRepAlgo
18
19 ---Purpose: Builds all the faces limited with a set of non
20 -- jointing and planars wires. if
21 -- <ControlOrientation> is false The Wires must have
22 -- correct orientations. Sinon orientation des wires
23 -- de telle sorte que les faces ne soient pas infinies
24 -- et qu'elles soient disjointes.
25
26uses
27 Wire from TopoDS,
28 Face from TopoDS,
29 ListOfShape from TopTools,
30 DataMapOfShapeListOfShape from TopTools
31is
32
33 Create returns FaceRestrictor from BRepAlgo;
34
35 Init (me : in out;
36 F : Face from TopoDS;
37 Proj : Boolean from Standard = Standard_False;
38 ControlOrientation : Boolean from Standard = Standard_False)
39 ---Purpose: the surface of <F> will be the the surface of each new
40 -- faces built.
41 -- <Proj> is used to update pcurves on edges if necessary.
42 -- See Add().
43 is static;
44
45 Add( me : in out;
46 W : in out Wire from TopoDS)
47 ---Purpose: Add the wire <W> to the set of wires.
48 --
49 -- Warning:
50 -- The Wires must be closed.
51 --
52 -- The edges of <W> can be modified if they have not pcurves
53 -- on the surface <S> of <F>. In this case
54 -- if <Proj> is false the first pcurve of the edge
55 -- is positionned on <S>.
56 -- if <Proj> is True ,the Pcurve On <S> is the
57 -- projection of the curve 3d on <F>.
58 is static;
59
60 Clear(me : in out)
61 ---Purpose: Removes all the Wires
62 is static;
63
64 Perform( me : in out)
65 ---Purpose: Evaluate all the faces limited by the set of Wires.
66 is static;
67
68 IsDone( me)
69 returns Boolean from Standard
70 is static;
71
72 More( me)
73 returns Boolean from Standard
74 is static;
75
76 Next( me : in out)
77 is static;
78
79 Current(me)
80 returns Face from TopoDS
81 is static;
82
83 PerformWithCorrection( me : in out)
84 ---Purpose: Evaluate all the faces limited by the set of Wires.
85 is static private;
86
87fields
88
89 myDone : Boolean from Standard;
90 modeProj : Boolean from Standard;
91 myFace : Face from TopoDS;
92 wires : ListOfShape from TopTools;
93 faces : ListOfShape from TopTools;
94
95 myCorrection : Boolean from Standard;
96 keyIsIn : DataMapOfShapeListOfShape from TopTools;
97 keyContains : DataMapOfShapeListOfShape from TopTools;
98
99end FaceRestrictor;
100