7fd59977 |
1 | -- File: BRepCheck_Wire.cdl |
2 | -- Created: Tue Dec 12 17:47:00 1995 |
3 | -- Author: Jacques GOUSSARD |
4 | -- <jag@bravox> |
5 | ---Copyright: Matra Datavision 1995 |
6 | -- |
7 | -- modified by eap Fri Dec 21 12:17:40 2001 (bug OCC35) |
8 | -- Closed2d() added |
9 | |
10 | |
11 | class Wire from BRepCheck inherits Result from BRepCheck |
12 | |
13 | ---Purpose: |
14 | |
15 | uses Shape from TopoDS, |
16 | Face from TopoDS, |
17 | Wire from TopoDS, |
18 | Edge from TopoDS, |
19 | IndexedDataMapOfShapeListOfShape from TopTools, |
20 | Status from BRepCheck |
21 | |
22 | is |
23 | |
24 | Create(W: Wire from TopoDS) |
25 | |
26 | returns mutable Wire from BRepCheck; |
27 | |
28 | |
29 | InContext(me: mutable; ContextShape: Shape from TopoDS); |
30 | ---Purpose: if <ContextShape> is a face, consequently checks |
31 | -- SelfIntersect(), Closed(), Orientation() and |
32 | -- Closed2d until faulty is found |
33 | |
34 | Minimum(me: mutable); |
35 | ---Purpose: checks that the wire is not empty and "connex". |
36 | -- Called by constructor |
37 | |
38 | Blind(me: mutable); |
39 | ---Purpose: Does nothing |
40 | |
41 | |
42 | |
43 | Closed(me: mutable; Update: Boolean from Standard = Standard_False) |
44 | ---Purpose: Checks if the oriented edges of the wire give a |
45 | -- closed wire. If the wire is closed, returns |
46 | -- BRepCheck_NoError. Warning : if the first and |
47 | -- last edge are infinite, the wire will be |
48 | -- considered as a closed one. If <Update> is set to |
49 | -- Standard_True, registers the status in the list. |
50 | -- May return (and registers): |
51 | -- **BRepCheck_NotConnected, if wire is not |
52 | -- topologically closed |
53 | -- **BRepCheck_RedundantEdge, if an edge is in wire |
54 | -- more than 3 times or in case of 2 occurences if |
55 | -- not with FORWARD and REVERSED orientation. |
56 | -- **BRepCheck_NoError |
57 | returns Status from BRepCheck |
58 | is static; |
59 | |
60 | Closed2d(me: mutable; F : Face from TopoDS; |
61 | Update: Boolean from Standard = Standard_False) |
62 | ---Purpose: Checks if edges of the wire give a wire closed in |
63 | -- 2d space. |
64 | -- Returns BRepCheck_NoError, or BRepCheck_NotClosed |
65 | -- If <Update> is set to Standard_True, registers the |
66 | -- status in the list. |
67 | returns Status from BRepCheck |
68 | is static; |
69 | |
70 | Orientation(me: mutable; F : Face from TopoDS; |
71 | Update: Boolean from Standard = Standard_False) |
72 | ---Purpose: Checks if the oriented edges of the wire are |
73 | -- correctly oriented. An internal call is made to |
74 | -- the method Closed. If no face exists, call the |
75 | -- method with a null face (TopoDS_face()). If |
76 | -- <Update> is set to Standard_True, registers the |
77 | -- status in the list. |
78 | -- May return (and registers): |
79 | -- BRepCheck_InvalidDegeneratedFlag, |
80 | -- BRepCheck_BadOrientationOfSubshape, |
81 | -- BRepCheck_NotClosed, |
82 | -- BRepCheck_NoError |
83 | returns Status from BRepCheck |
84 | is static; |
85 | |
86 | SelfIntersect(me: mutable; F : Face from TopoDS; |
87 | E1,E2 : out Edge from TopoDS; |
88 | Update: Boolean from Standard = Standard_False) |
89 | |
90 | ---Purpose: Checks if the wire intersect itself on the face |
91 | -- <F>. <E1> and <E2> are the first intersecting |
92 | -- edges found. <E2> may be a null edge when a |
93 | -- self-intersecting edge is found.If <Update> is set |
94 | -- to Standard_True, registers the status in the |
95 | -- list. |
96 | -- May return (and register): |
97 | -- BRepCheck_EmptyWire, |
98 | -- BRepCheck_SelfIntersectingWire, |
99 | -- BRepCheck_NoCurveOnSurface, |
100 | -- BRepCheck_NoError |
101 | returns Status from BRepCheck |
102 | is static; |
103 | |
104 | |
105 | |
106 | GeometricControls(me) |
107 | ---Purpose: report SelfIntersect() check would be (is) done |
108 | returns Boolean from Standard |
109 | is static; |
110 | |
111 | GeometricControls(me: mutable; B: Boolean from Standard) |
112 | ---Purpose: set SelfIntersect() to be checked |
113 | is static; |
114 | |
115 | |
116 | |
117 | fields |
118 | |
119 | -- myNbori : Integer from Standard; -- not used (eap) |
120 | myCdone : Boolean from Standard; -- Closed() or Oriented() is done |
121 | myCstat : Status from BRepCheck; -- result of Closed() or Oriented() |
122 | myMapVE : IndexedDataMapOfShapeListOfShape from TopTools; |
123 | myGctrl : Boolean from Standard; -- do check SelfIntersect() or not |
124 | |
125 | end Wire; |
126 | |
127 | |
128 | |