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 | |
17 | class 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 | |
26 | uses |
27 | Wire from TopoDS, |
28 | Face from TopoDS, |
29 | ListOfShape from TopTools, |
30 | DataMapOfShapeListOfShape from TopTools |
31 | is |
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 | |
87 | fields |
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 | |
99 | end FaceRestrictor; |
100 | |