Test for 0022778: Bug in BRepMesh
[occt.git] / src / BRepClass / BRepClass_FaceExplorer.cdl
1 -- Created on: 1992-11-19
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1992-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
10 --
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 --
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
20
21
22 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627
23
24 class FaceExplorer from BRepClass 
25
26         ---Purpose: Provide an   exploration of a  BRep Face   for the
27         --          classification.
28
29 uses
30     Orientation  from TopAbs,
31     Pnt2d        from gp,
32     Lin2d        from gp,
33     Face         from TopoDS,
34     Explorer     from TopExp,
35     Edge         from BRepClass
36
37 is
38     Create (F : Face from TopoDS) returns FaceExplorer from BRepClass;
39     
40     Reject(me;  P : Pnt2d from gp) returns Boolean
41         ---Purpose: Should  return  True  if the  point  is  outside a
42         --          bounding volume of the face.
43     is static;
44     
45 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
46 --    Segment(me;  P :  Pnt2d from gp;
47     Segment(me: in out;  P :  Pnt2d from gp;
48 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
49                  L : out Lin2d from gp; Par : out  Real)
50          ---Purpose: Returns  in <L>, <Par>  a segment having at least
51          --          one  intersection  with  the   face  boundary  to
52          --          compute  intersections. 
53     returns Boolean from Standard  -- skv OCC12627
54     is static;
55     
56 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
57     OtherSegment(me: in out;  P :  Pnt2d from gp;
58                               L : out Lin2d from gp; Par : out  Real)
59          ---Purpose: Returns  in <L>, <Par>  a segment having at least
60          --          one  intersection  with  the   face  boundary  to
61          --          compute  intersections. Each call gives another segment.
62     returns Boolean from Standard
63     is static;
64     
65 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
66     InitWires(me : in out)
67         ---Purpose: Starts an exploration of the wires.
68     is static;
69     
70     MoreWires(me) returns Boolean
71         ---Purpose: Returns True if there is  a current wire.
72         --          
73         ---C++: inline
74     is static;
75         
76     NextWire(me : in out)
77         ---Purpose: Sets the explorer  to the  next  wire.
78         --          
79         ---C++: inline
80     is static;
81     
82     RejectWire(me; L :  Lin2d from gp; Par : Real) returns Boolean
83         ---Purpose: Returns True  if the wire  bounding volume does not
84         --          intersect the segment.
85     is static;
86     
87     InitEdges(me : in out)
88         ---Purpose: Starts an exploration of the  edges of the current
89         --          wire.
90     is static;
91     
92     MoreEdges(me) returns Boolean
93         ---Purpose: Returns True if there is a current edge.
94         --          
95         ---C++: inline
96     is static;
97     
98     NextEdge(me  : in out)
99         ---Purpose: Sets the explorer  to the  next  edge.
100         --          
101         ---C++: inline
102     is static;
103
104     RejectEdge(me; L :  Lin2d from gp; Par : Real) returns Boolean
105         ---Purpose: Returns True  if the edge  bounding volume does not
106         --          intersect the segment.
107     is static;
108     
109     CurrentEdge(me; E : out Edge from BRepClass;
110                    Or : out Orientation from TopAbs)
111         ---Purpose: Current edge in current wire and its orientation.
112     is static;
113
114 fields
115     myFace      : Face from TopoDS;
116     myWExplorer : Explorer from TopExp;
117     myEExplorer : Explorer from TopExp; 
118 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
119     myCurEdgeInd: Integer  from Standard;
120     myCurEdgePar: Real     from Standard;
121 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
122
123 end FaceExplorer;