0025109: Check PolygonOnTriangulation contained in edges
[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
19 ---Purpose: This package provides tools to check the validity
20 -- of the BRep.
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
44
45-- class Solid; -- inherits Shape
46
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
90
91 -- for shapes
92 UnorientableShape,
93 NotClosed,
94 NotConnected,
95
96 SubshapeNotInShape,
97
98 BadOrientation,
99 BadOrientationOfSubshape,
100
52d45841 101 InvalidPolygonOnTriangulation,
102
7fd59977 103 InvalidToleranceValue,
104
105 -- for exception
106 CheckFail
107
108 end Status;
109
110
111 class ListOfStatus instantiates List from TCollection
112 (Status from BRepCheck);
113
114 class DataMapOfShapeListOfStatus instantiates DataMap from TCollection
115 (Shape from TopoDS,
116 ListOfStatus from BRepCheck,
117 ShapeMapHasher from TopTools);
118
119
120 class DataMapOfShapeResult instantiates DataMap from TCollection
121 (Shape from TopoDS,
122 Result from BRepCheck,
123 OrientedShapeMapHasher from TopTools);
124
125
126 -- Package method
127
128 Add(List: in out ListOfStatus from BRepCheck;
129 Stat: Status from BRepCheck);
130
131
132
133 Print(Stat: Status from BRepCheck;
134 OS: in out OStream from Standard);
135
136 SelfIntersection(W : Wire from TopoDS;
137 F : Face from TopoDS;
138 E1 : out Edge from TopoDS;
139 E2 : out Edge from TopoDS)
140 returns Boolean from Standard;
141
142end BRepCheck;