1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
-- File: BRepCheck.cdl
-- Created: Wed Dec 6 17:09:10 1995
-- Author: Jacques GOUSSARD
-- <jag@bravox>
---Copyright: Matra Datavision 1995
package BRepCheck
---Purpose: This package provides tools to check the validity
-- of the BRep.
uses MMgt,
StdFail,
TCollection,
TopAbs,
Adaptor3d,
TopoDS,
BRep,
TopTools
is
deferred class Result; -- inherits TShared from MMgt
class Vertex; -- inherits Shape
class Edge; -- inherits Shape
class Wire; -- inherits Shape
class Face; -- inherits Shape
class Shell; -- inherits Shape
-- class Solid; -- inherits Shape
class Analyzer;
enumeration Status is
NoError,
-- for vertices
InvalidPointOnCurve,
InvalidPointOnCurveOnSurface,
InvalidPointOnSurface,
-- for edges
No3DCurve,
Multiple3DCurve,
Invalid3DCurve,
NoCurveOnSurface,
InvalidCurveOnSurface,
InvalidCurveOnClosedSurface,
InvalidSameRangeFlag,
InvalidSameParameterFlag,
InvalidDegeneratedFlag,
FreeEdge,
InvalidMultiConnexity,
InvalidRange,
-- for wires
EmptyWire,
RedundantEdge,
SelfIntersectingWire, -- on a face
-- for faces
NoSurface,
InvalidWire,
RedundantWire,
IntersectingWires,
InvalidImbricationOfWires,
-- for shells
EmptyShell,
RedundantFace,
-- for shapes
UnorientableShape,
NotClosed,
NotConnected,
SubshapeNotInShape,
BadOrientation,
BadOrientationOfSubshape,
InvalidToleranceValue,
-- for exception
CheckFail
end Status;
class ListOfStatus instantiates List from TCollection
(Status from BRepCheck);
class DataMapOfShapeListOfStatus instantiates DataMap from TCollection
(Shape from TopoDS,
ListOfStatus from BRepCheck,
ShapeMapHasher from TopTools);
class DataMapOfShapeResult instantiates DataMap from TCollection
(Shape from TopoDS,
Result from BRepCheck,
OrientedShapeMapHasher from TopTools);
-- Package method
Add(List: in out ListOfStatus from BRepCheck;
Stat: Status from BRepCheck);
Print(Stat: Status from BRepCheck;
OS: in out OStream from Standard);
SelfIntersection(W : Wire from TopoDS;
F : Face from TopoDS;
E1 : out Edge from TopoDS;
E2 : out Edge from TopoDS)
returns Boolean from Standard;
end BRepCheck;
|