0024023: Revamp the OCCT Handle -- ambiguity
[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-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 under
9 -- the terms of the GNU Lesser General Public License 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 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627
18
19 class FaceExplorer from BRepClass 
20
21         ---Purpose: Provide an   exploration of a  BRep Face   for the
22         --          classification. Return UV edges.
23
24 uses
25     Orientation  from TopAbs,
26     Pnt2d        from gp,
27     Lin2d        from gp,
28     Face         from TopoDS,
29     Explorer     from TopExp,
30     Edge         from BRepClass
31
32 is
33     Create (F : Face from TopoDS) returns FaceExplorer from BRepClass;
34     
35     Reject(me;  P : Pnt2d from gp) returns Boolean
36         ---Purpose: Should  return  True  if the  point  is  outside a
37         --          bounding volume of the face.
38     is static;
39     
40 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
41 --    Segment(me;  P :  Pnt2d from gp;
42     Segment(me: in out;  P :  Pnt2d from gp;
43 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
44                  L : out Lin2d from gp; Par : out  Real)
45          ---Purpose: Returns  in <L>, <Par>  a segment having at least
46          --          one  intersection  with  the   face  boundary  to
47          --          compute  intersections. 
48     returns Boolean from Standard  -- skv OCC12627
49     is static;
50     
51 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
52     OtherSegment(me: in out;  P :  Pnt2d from gp;
53                               L : out Lin2d from gp; Par : out  Real)
54          ---Purpose: Returns  in <L>, <Par>  a segment having at least
55          --          one  intersection  with  the   face  boundary  to
56          --          compute  intersections. Each call gives another segment.
57     returns Boolean from Standard
58     is static;
59     
60 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
61     InitWires(me : in out)
62         ---Purpose: Starts an exploration of the wires.
63     is static;
64     
65     MoreWires(me) returns Boolean
66         ---Purpose: Returns True if there is  a current wire.
67         --          
68         ---C++: inline
69     is static;
70         
71     NextWire(me : in out)
72         ---Purpose: Sets the explorer  to the  next  wire.
73         --          
74         ---C++: inline
75     is static;
76     
77     RejectWire(me; L :  Lin2d from gp; Par : Real) returns Boolean
78         ---Purpose: Returns True  if the wire  bounding volume does not
79         --          intersect the segment.
80     is static;
81     
82     InitEdges(me : in out)
83         ---Purpose: Starts an exploration of the  edges of the current
84         --          wire.
85     is static;
86     
87     MoreEdges(me) returns Boolean
88         ---Purpose: Returns True if there is a current edge.
89         --          
90         ---C++: inline
91     is static;
92     
93     NextEdge(me  : in out)
94         ---Purpose: Sets the explorer  to the  next  edge.
95         --          
96         ---C++: inline
97     is static;
98
99     RejectEdge(me; L :  Lin2d from gp; Par : Real) returns Boolean
100         ---Purpose: Returns True  if the edge  bounding volume does not
101         --          intersect the segment.
102     is static;
103     
104     CurrentEdge(me; E : out Edge from BRepClass;
105                    Or : out Orientation from TopAbs)
106         ---Purpose: Current edge in current wire and its orientation.
107     is static;
108
109 fields
110     myFace      : Face from TopoDS;
111     myWExplorer : Explorer from TopExp;
112     myEExplorer : Explorer from TopExp; 
113 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 Begin
114     myCurEdgeInd: Integer  from Standard;
115     myCurEdgePar: Real     from Standard;
116 -- Modified by skv - Wed Jul 12 10:05:54 2006 OCC12627 End
117
118 end FaceExplorer;