42032a3907e1b36a7f6e78b9a1f62e3e6c7f4d8d
[occt.git] / src / BRepAlgo / BRepAlgo_FaceRestrictor.cdl
1 -- File:        BRepAlgo_FaceRestrictor.cdl
2 -- Created:     Fri Sep  1 10:45:57 1995 
3 -- Author:      Yves FRICAUD
4 --              <yfr@nonox>
5 ---Copyright:    Matra Datavision 1995
6
7
8 class FaceRestrictor from BRepAlgo 
9
10         ---Purpose:  Builds all  the faces  limited  with a set of non
11         --                 jointing   and     planars     wires.    if
12         --          <ControlOrientation> is false  The Wires must have
13         --          correct orientations.  Sinon orientation des wires
14         --          de telle sorte que les faces ne soient pas infinies
15         --          et qu'elles soient disjointes.
16
17 uses
18     Wire                      from TopoDS,
19     Face                      from TopoDS,
20     ListOfShape               from TopTools,     
21     DataMapOfShapeListOfShape from TopTools
22 is
23
24     Create returns FaceRestrictor from BRepAlgo;
25     
26     Init (me                 : in out; 
27           F                  : Face    from TopoDS; 
28           Proj               : Boolean from Standard = Standard_False;
29           ControlOrientation : Boolean from Standard = Standard_False)
30         ---Purpose: the surface of <F> will be the the surface of each new
31         --          faces built.
32         --          <Proj> is used to update pcurves on edges if necessary.
33         --          See Add().
34     is static;
35     
36     Add( me : in out;
37          W  : in out Wire  from TopoDS)
38         ---Purpose: Add the wire <W> to the set of wires.  
39         --          
40         --  Warning:
41         --          The Wires must be closed.  
42         --          
43         --          The edges of <W> can be modified if they  have not pcurves  
44         --          on the surface <S>  of <F>. In this  case 
45         --          if <Proj> is false the first pcurve of  the edge 
46         --          is positionned on <S>.
47         --          if <Proj> is True ,the Pcurve On <S> is the 
48         --          projection of the  curve 3d on <F>.
49     is static;
50     
51     Clear(me : in out)
52         ---Purpose: Removes all the Wires
53     is static;
54     
55     Perform( me : in out)
56         ---Purpose: Evaluate all the faces limited by the set of Wires.
57     is static;
58     
59     IsDone( me)
60     returns Boolean from Standard
61     is static;
62     
63     More( me)
64     returns Boolean from Standard
65     is static;
66     
67     Next( me : in out)
68     is static;
69     
70     Current(me)
71     returns Face from TopoDS
72     is static;
73    
74     PerformWithCorrection( me : in out)
75         ---Purpose: Evaluate all the faces limited by the set of Wires.
76     is static private;
77     
78 fields
79
80     myDone    : Boolean     from Standard;
81     modeProj  : Boolean     from Standard;
82     myFace    : Face        from TopoDS;
83     wires     : ListOfShape from TopTools;
84     faces     : ListOfShape from TopTools;
85     
86     myCorrection : Boolean     from Standard;
87     keyIsIn      : DataMapOfShapeListOfShape from TopTools;
88     keyContains  : DataMapOfShapeListOfShape from TopTools;
89     
90 end FaceRestrictor;
91