0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- automatic
[occt.git] / src / BRepCheck / BRepCheck_Solid.hxx
CommitLineData
42cf5bc1 1// Created by: Peter KURNEV
2// Copyright (c) 2014 OPEN CASCADE SAS
3//
4// This file is part of Open CASCADE Technology software library.
5//
6// This library is free software; you can redistribute it and/or modify it under
7// the terms of the GNU Lesser General Public License version 2.1 as published
8// by the Free Software Foundation, with special exception defined in the file
9// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10// distribution for complete text of the license and disclaimer of any warranty.
11//
12// Alternatively, this file may be used under the terms of Open CASCADE
13// commercial license or contractual agreement.
14
15#ifndef _BRepCheck_Solid_HeaderFile
16#define _BRepCheck_Solid_HeaderFile
17
18#include <Standard.hxx>
19#include <Standard_Type.hxx>
20
21#include <BRepCheck_Result.hxx>
22class TopoDS_Solid;
23class TopoDS_Shape;
24
25
26class BRepCheck_Solid;
27DEFINE_STANDARD_HANDLE(BRepCheck_Solid, BRepCheck_Result)
28
29//! The class is to check a solid.
30class BRepCheck_Solid : public BRepCheck_Result
31{
32
33public:
34
35
36
37 //! Constructor
38 //! <theS> is the solid to check
39 Standard_EXPORT BRepCheck_Solid(const TopoDS_Solid& theS);
40
41
42 //! Checks the solid in context of
43 //! the shape <theContextShape>
44 Standard_EXPORT virtual void InContext (const TopoDS_Shape& theContextShape) Standard_OVERRIDE;
45
46
47 //! Checks the solid per se.
48 //!
49 //! The scan area is:
50 //! 1. Shells that overlaps each other
51 //! Status: BRepCheck_InvalidImbricationOfShells
52 //!
53 //! 2. Detached parts of the solid (vertices, edges)
54 //! that have non-internal orientation
55 //! Status: BRepCheck_BadOrientationOfSubshape
56 //!
57 //! 3. For closed, non-internal shells:
58 //! 3.1 Shells containing entities of the solid that
59 //! are outside towards the shells
60 //! Status: BRepCheck_SubshapeNotInShape
61 //!
62 //! 3.2 Shells that encloses other Shells
63 //! (for non-holes)
64 //! Status: BRepCheck_EnclosedRegion
65 Standard_EXPORT virtual void Minimum() Standard_OVERRIDE;
66
67
68 //! see the parent class for more details
69 Standard_EXPORT virtual void Blind() Standard_OVERRIDE;
70
71
72
73
92efcf78 74 DEFINE_STANDARD_RTTIEXT(BRepCheck_Solid,BRepCheck_Result)
42cf5bc1 75
76protected:
77
78
79
80
81private:
82
83
84
85
86};
87
88
89
90
91
92
93
94#endif // _BRepCheck_Solid_HeaderFile