0024023: Revamp the OCCT Handle -- general
[occt.git] / src / BRepTools / BRepTools_WireExplorer.cdl
1 -- Created on: 1993-01-21
2 -- Created by: Remi LEQUETTE
3 -- Copyright (c) 1993-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 class WireExplorer from BRepTools
18
19         ---Purpose: The WireExplorer is a tool to explore the edges of
20         --          a wire in a connection order.
21         --          
22         --          i.e. each edge is connected to the previous one by
23         --          its origin.
24         --      If a wire is not closed returns only a segment of edges which
25 -- length depends on started in exploration edge. If wire has
26 -- singularities (for example, loops) WireExplorer can return not all
27 -- edges in a wire. it depends on type of singularity.
28
29 uses
30
31     Orientation from TopAbs,
32     Wire        from TopoDS,
33     Edge        from TopoDS,
34     Vertex      from TopoDS,
35     Face        from TopoDS,
36     DataMapOfShapeListOfShape from TopTools,
37     MapOfShape                from TopTools
38 raises
39     DomainError  from Standard,
40     NoSuchObject from Standard,
41     NoMoreObject from Standard
42
43 is
44     Create returns WireExplorer from BRepTools;
45 ---Purpose: Constructs an empty explorer (which can be initialized using Init)
46     
47     Create(W : Wire from TopoDS ) returns WireExplorer from BRepTools
48         ---Purpose: IInitializes an exploration  of the wire <W>. 
49     raises DomainError from Standard;
50     
51     Create(W : Wire from TopoDS;
52            F : Face from TopoDS) returns WireExplorer from BRepTools
53         ---Purpose: Initializes an exploration  of the wire <W>.
54         --          F is used to select the edge connected to the 
55         --          previous in the parametric representation of <F>.
56     raises DomainError from Standard;
57
58     Init(me : in out; W  : Wire from TopoDS)
59         ---Purpose: Initializes an exploration of the wire <W>.
60     raises DomainError from Standard
61     is static;
62     
63     Init(me : in out; W  : Wire from TopoDS;
64                       F  : Face from TopoDS)
65         ---Purpose: Initializes an exploration of the wire <W>.
66         --          F is used to select the edge connected to the 
67         --          previous in the parametric representation of <F>.
68         --          
69     raises DomainError from Standard
70     is static;
71     
72     More(me) returns Boolean
73         ---Purpose: Returns True if there  is a current  edge.
74     is static;
75     
76     Next(me : in out)
77         ---Purpose: Proceeds to the next edge.
78     raises
79         NoMoreObject from Standard 
80     is static;
81     
82     Current(me) returns Edge from TopoDS
83         ---Purpose: Returns the current edge. 
84     raises
85         NoSuchObject from Standard
86         ---C++: return const &
87     is static;
88     
89     Orientation(me) returns Orientation from TopAbs
90         ---Purpose: Returns an Orientation for the current edge.
91     is static;
92     
93     CurrentVertex(me) returns Vertex from TopoDS
94         ---Purpose: Returns the vertex connecting the current  edge to
95         --          the previous one.
96     raises
97         NoSuchObject from Standard
98         --          
99         ---C++: return const &
100     is static;
101     
102    Clear(me : in out)
103         ---Purpose: Clears the content of the explorer.
104     is static;
105     
106 fields
107     myMap    : DataMapOfShapeListOfShape from TopTools;
108     myEdge   : Edge   from TopoDS;
109     myVertex : Vertex from TopoDS;
110     myFace   : Face   from TopoDS;
111     myDoubles: MapOfShape from TopTools;
112     myReverse: Boolean from Standard; 
113     myTolU   : Real  from  Standard; 
114     myTolV   : Real  from  Standard; 
115
116 end WireExplorer;