Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _BlockFix_CheckTool_HeaderFile
00024 #define _BlockFix_CheckTool_HeaderFile
00025
00026 #ifndef _TopoDS_Shape_HeaderFile
00027 #include <TopoDS_Shape.hxx>
00028 #endif
00029 #ifndef _Standard_Boolean_HeaderFile
00030 #include <Standard_Boolean.hxx>
00031 #endif
00032 #ifndef _Standard_Integer_HeaderFile
00033 #include <Standard_Integer.hxx>
00034 #endif
00035 #ifndef _TopTools_SequenceOfShape_HeaderFile
00036 #include <TopTools_SequenceOfShape.hxx>
00037 #endif
00038 #ifndef _Standard_OStream_HeaderFile
00039 #include <Standard_OStream.hxx>
00040 #endif
00041 class TopoDS_Shape;
00042
00043
00044 #ifndef _Standard_HeaderFile
00045 #include <Standard.hxx>
00046 #endif
00047 #ifndef _Standard_Macro_HeaderFile
00048 #include <Standard_Macro.hxx>
00049 #endif
00050
00051 class BlockFix_CheckTool {
00052
00053 public:
00054
00055 void* operator new(size_t,void* anAddress)
00056 {
00057 return anAddress;
00058 }
00059 void* operator new(size_t size)
00060 {
00061 return Standard::Allocate(size);
00062 }
00063 void operator delete(void *anAddress)
00064 {
00065 if (anAddress) Standard::Free((Standard_Address&)anAddress);
00066 }
00067
00068
00069 Standard_EXPORT BlockFix_CheckTool();
00070 Standard_EXPORT void SetShape(const TopoDS_Shape& aShape) ;
00071 Standard_EXPORT void Perform() ;
00072 Standard_EXPORT Standard_Integer NbPossibleBlocks() const;
00073 Standard_EXPORT TopoDS_Shape PossibleBlock(const Standard_Integer num) const;
00074 Standard_EXPORT void DumpCheckResult(Standard_OStream& S) const;
00075
00076
00077
00078
00079
00080 protected:
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090 private:
00091
00092
00093
00094
00095
00096
00097
00098 TopoDS_Shape myShape;
00099 Standard_Boolean myHasCheck;
00100 Standard_Integer myNbSolids;
00101 Standard_Integer myNbBlocks;
00102 TopTools_SequenceOfShape myPossibleBlocks;
00103 Standard_Integer myNbDegen;
00104 Standard_Integer myNbUF;
00105 Standard_Integer myNbUE;
00106 Standard_Integer myNbUFUE;
00107 Standard_Integer myBadRanges;
00108
00109
00110 };
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120 #endif