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