0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepOffsetAPI / BRepOffsetAPI_FindContigousEdges.cdl
CommitLineData
b311480e 1-- Created on: 1995-05-02
2-- Created by: Jing Cheng MEI
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--
d5f74e42 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
973c2be1 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
17class FindContigousEdges from BRepOffsetAPI
18
19 ---Purpose: Provides methods to identify contigous boundaries
20 -- for continuity control (C0, C1, ...)
21 --
22 -- Use this function as following:
23 -- - create an object
24 -- - default tolerance 1.E-06
25 -- - with analysis of degenerated faces on
26 -- - define if necessary a new tolerance
27 -- - set if necessary analysis of degenerated shapes off
28 -- - add shapes to be controlled -> Add
29 -- - compute -> Perfom
30 -- - output couples of connected edges for control
31 -- - output the problems if any
32
33uses
34 Edge from TopoDS,
35 Shape from TopoDS,
36 ListOfShape from TopTools,
37 Sewing from BRepBuilderAPI
38
39raises
40 OutOfRange from Standard,
41 NoSuchObject from Standard
42
43
44is
45 Create(tolerance: Real = 1.0e-06; -- tolerance of connexity
46 option: Boolean = Standard_True) -- option for analysis of degenerated shapes
47 ---Purpose: Initializes an algorithm for identifying contiguous edges
48 -- on shapes with tolerance as the tolerance of contiguity
49 -- (defaulted to 1.0e-6). This tolerance value is used to
50 -- determine whether two edges or sections of edges are coincident.
51 -- Use the function Add to define the shapes to be checked.
52 -- Set option to false. This argument (defaulted to true) will
53 -- serve in subsequent software releases for performing an
54 -- analysis of degenerated shapes.
55 returns FindContigousEdges from BRepOffsetAPI;
56
57 Init(me: in out; tolerance: Real; option: Boolean);
58 ---Purpose: Initializes this algorithm for identifying contiguous edges
59 -- on shapes using the tolerance of contiguity tolerance.
60 -- This tolerance value is used to determine whether two
61 -- edges or sections of edges are coincident.
62 -- Use the function Add to define the shapes to be checked.
63 -- Sets <option> to false.
64
65 Add(me: in out; shape: Shape from TopoDS);
66 ---Purpose: Adds the shape shape to the list of shapes to be
67 -- checked by this algorithm.
68 -- Once all the shapes to be checked have been added,
69 -- use the function Perform to find the contiguous edges
70 -- and the function ContigousEdge to return these edges.
71
72 Perform(me: in out);
73 ---Purpose: Finds coincident parts of edges of two or more shapes
74 -- added to this algorithm and breaks down these edges
75 -- into contiguous and non-contiguous sections on copies
76 -- of the initial shapes.
77 -- The function ContigousEdge returns contiguous
78 -- edges. The function Modified can be used to return
79 -- modified copies of the initial shapes where one or more
80 -- edges were broken down into contiguous and non-contiguous sections.
81 -- Warning
82 -- This function must be used once all the shapes to be
83 -- checked have been added. It is not possible to add
84 -- further shapes subsequently and then to repeat the call to Perform.
85 NbEdges(me) returns Integer;
86 ---Purpose: Gives the number of edges (free edges + contigous
87 -- edges + multiple edge)
88
89 NbContigousEdges(me) returns Integer;
90 ---Purpose: Returns the number of contiguous edges found by the
91 -- function Perform on the shapes added to this algorithm.
92
93 ContigousEdge(me; index: Integer) returns Edge from TopoDS
94 ---Purpose: Returns the contiguous edge of index index found by
95 -- the function Perform on the shapes added to this algorithm.
96 -- Exceptions
97 -- Standard_OutOfRange if:
98 -- - index is less than 1, or
99 -- - index is greater than the number of contiguous
100 -- edges found by the function Perform on the shapes added to this algorithm.
101 ---C++: return const &
102 raises
103 OutOfRange from Standard;
104
105 ContigousEdgeCouple(me; index: Integer) returns ListOfShape from TopTools
106 ---Purpose: Returns a list of edges coincident with the contiguous
107 -- edge of index index found by the function Perform.
108 -- There are as many edges in the list as there are faces
109 -- adjacent to this contiguous edge.
110 -- Exceptions
111 -- Standard_OutOfRange if:
112 -- - index is less than 1, or
113 -- - index is greater than the number of contiguous edges
114 -- found by the function Perform on the shapes added to this algorithm.
115 ---C++: return const &
116 raises
117 OutOfRange from Standard;
118
119 SectionToBoundary(me; section: Edge from TopoDS) returns Edge from TopoDS
120 ---Purpose: Returns the edge on the initial shape, of which the
121 -- modified copy contains the edge section.
122 -- section is coincident with a contiguous edge found by
123 -- the function Perform. Use the function
124 -- ContigousEdgeCouple to obtain a valid section.
125 -- This information is useful for verification purposes, since
126 -- it provides a means of determining the surface to which
127 -- the contiguous edge belongs.
128 -- Exceptions
129 -- Standard_NoSuchObject if section is not coincident
130 -- with a contiguous edge. Use the function
131 -- ContigousEdgeCouple to obtain a valid section.
132 ---C++: return const &
133 raises
134 NoSuchObject from Standard;
135
136 NbDegeneratedShapes(me) returns Integer;
137 ---Purpose: Gives the number of degenerated shapes
138
139 DegeneratedShape(me; index: Integer) returns Shape from TopoDS
140 ---Purpose: Gives a degenerated shape
141 ---C++: return const &
142 raises
143 OutOfRange from Standard;
144 -- raised if index < 1 or > NbDegeneratedShapes
145
146 IsDegenerated(me; shape: Shape from TopoDS) returns Boolean;
147 ---Purpose: Indicates if a input shape is degenerated
148
149 IsModified(me; shape: Shape from TopoDS) returns Boolean;
150 ---Purpose: Returns true if the copy of the initial shape shape was
151 -- modified by the function Perform (i.e. if one or more of
152 -- its edges was broken down into contiguous and non-contiguous sections).
153 -- Warning
154 -- Returns false if shape is not one of the initial shapes
155 -- added to this algorithm.
156
157 Modified(me; shape: Shape from TopoDS) returns Shape from TopoDS
158 ---Purpose: Gives a modifieded shape
159 -- Raises NoSuchObject if shape has not been modified
160 ---C++: return const &
161 raises
162 NoSuchObject from Standard;
163
164 Dump(me);
165 ---Purpose: Dump properties of resulting shape.
166
167fields
168 mySewing : Sewing from BRepBuilderAPI;
169
170end FindContigousEdges;