0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / BRepCheck / BRepCheck.cdl
CommitLineData
b311480e 1-- Created on: 1995-12-06
2-- Created by: Jacques GOUSSARD
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
17package BRepCheck
18
949df2b6 19 ---Purpose: This package provides tools to check the validity
20 -- of the BRep.
7fd59977 21
22uses MMgt,
23 StdFail,
24 TCollection,
25 TopAbs,
26 Adaptor3d,
27 TopoDS,
28 BRep,
29 TopTools
30
31is
32
33 deferred class Result; -- inherits TShared from MMgt
34
35 class Vertex; -- inherits Shape
36
37 class Edge; -- inherits Shape
38
39 class Wire; -- inherits Shape
40
41 class Face; -- inherits Shape
42
43 class Shell; -- inherits Shape
949df2b6 44
45 class Solid;
46
7fd59977 47 class Analyzer;
48
49
50 enumeration Status is
51 NoError,
52
53 -- for vertices
54 InvalidPointOnCurve,
55 InvalidPointOnCurveOnSurface,
56 InvalidPointOnSurface,
57
58 -- for edges
59 No3DCurve,
60 Multiple3DCurve,
61 Invalid3DCurve,
62 NoCurveOnSurface,
63 InvalidCurveOnSurface,
64 InvalidCurveOnClosedSurface,
65 InvalidSameRangeFlag,
66 InvalidSameParameterFlag,
67 InvalidDegeneratedFlag,
68
69 FreeEdge,
70 InvalidMultiConnexity,
71 InvalidRange,
72
73
74 -- for wires
75 EmptyWire,
76 RedundantEdge,
77 SelfIntersectingWire, -- on a face
78
79 -- for faces
80 NoSurface,
81 InvalidWire,
82 RedundantWire,
83 IntersectingWires,
84 InvalidImbricationOfWires,
85
86 -- for shells
87 EmptyShell,
88 RedundantFace,
89
949df2b6 90 -- for solids
91 InvalidImbricationOfShells,
7fd59977 92
93 -- for shapes
94 UnorientableShape,
95 NotClosed,
96 NotConnected,
97
98 SubshapeNotInShape,
99
100 BadOrientation,
101 BadOrientationOfSubshape,
102
52d45841 103 InvalidPolygonOnTriangulation,
104
949df2b6 105 InvalidToleranceValue,
106
107 EnclosedRegion,
108
7fd59977 109 -- for exception
110 CheckFail
949df2b6 111
112
7fd59977 113 end Status;
114
115
df8d3970 116 imported ListOfStatus;
117
118
119 imported ListIteratorOfListOfStatus;
120
121 imported DataMapOfShapeListOfStatus;
7fd59977 122
df8d3970 123 imported DataMapIteratorOfDataMapOfShapeListOfStatus;
124
125
126 imported DataMapOfShapeResult;
949df2b6 127
128
df8d3970 129 imported DataMapIteratorOfDataMapOfShapeResult;
949df2b6 130
131
7fd59977 132 -- Package method
133
134 Add(List: in out ListOfStatus from BRepCheck;
135 Stat: Status from BRepCheck);
136
137
138
139 Print(Stat: Status from BRepCheck;
140 OS: in out OStream from Standard);
141
142 SelfIntersection(W : Wire from TopoDS;
949df2b6 143 F : Face from TopoDS;
7fd59977 144 E1 : out Edge from TopoDS;
145 E2 : out Edge from TopoDS)
146 returns Boolean from Standard;
147
148end BRepCheck;