File indexing completed on 2025-01-18 10:05:27
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepTool_BoxSort_HeaderFile
0018 #define _TopOpeBRepTool_BoxSort_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <Bnd_Box.hxx>
0025 #include <Bnd_BoundSortBox.hxx>
0026 #include <TColStd_ListIteratorOfListOfInteger.hxx>
0027 #include <TopoDS_Shape.hxx>
0028 #include <Bnd_HArray1OfBox.hxx>
0029 #include <TColStd_HArray1OfInteger.hxx>
0030 #include <TopAbs_ShapeEnum.hxx>
0031 #include <Standard_Integer.hxx>
0032 class TopOpeBRepTool_HBoxTool;
0033
0034
0035
0036 class TopOpeBRepTool_BoxSort
0037 {
0038 public:
0039
0040 DEFINE_STANDARD_ALLOC
0041
0042
0043 Standard_EXPORT TopOpeBRepTool_BoxSort();
0044
0045 Standard_EXPORT TopOpeBRepTool_BoxSort(const Handle(TopOpeBRepTool_HBoxTool)& T);
0046
0047 Standard_EXPORT void SetHBoxTool (const Handle(TopOpeBRepTool_HBoxTool)& T);
0048
0049 Standard_EXPORT const Handle(TopOpeBRepTool_HBoxTool)& HBoxTool() const;
0050
0051 Standard_EXPORT void Clear();
0052
0053 Standard_EXPORT void AddBoxes (const TopoDS_Shape& S, const TopAbs_ShapeEnum TS, const TopAbs_ShapeEnum TA = TopAbs_SHAPE);
0054
0055 Standard_EXPORT void MakeHAB (const TopoDS_Shape& S, const TopAbs_ShapeEnum TS, const TopAbs_ShapeEnum TA = TopAbs_SHAPE);
0056
0057 Standard_EXPORT const Handle(Bnd_HArray1OfBox)& HAB() const;
0058
0059 Standard_EXPORT static void MakeHABCOB (const Handle(Bnd_HArray1OfBox)& HAB, Bnd_Box& COB);
0060
0061 Standard_EXPORT const TopoDS_Shape& HABShape (const Standard_Integer I) const;
0062
0063 Standard_EXPORT void MakeCOB (const TopoDS_Shape& S, const TopAbs_ShapeEnum TS, const TopAbs_ShapeEnum TA = TopAbs_SHAPE);
0064
0065 Standard_EXPORT void AddBoxesMakeCOB (const TopoDS_Shape& S, const TopAbs_ShapeEnum TS, const TopAbs_ShapeEnum TA = TopAbs_SHAPE);
0066
0067 Standard_EXPORT const TColStd_ListIteratorOfListOfInteger& Compare (const TopoDS_Shape& S);
0068
0069 Standard_EXPORT const TopoDS_Shape& TouchedShape (const TColStd_ListIteratorOfListOfInteger& I) const;
0070
0071 Standard_EXPORT const Bnd_Box& Box (const TopoDS_Shape& S) const;
0072
0073 Standard_EXPORT ~TopOpeBRepTool_BoxSort();
0074
0075 private:
0076
0077
0078
0079 Bnd_Box myCOB;
0080 Bnd_BoundSortBox myBSB;
0081 TColStd_ListIteratorOfListOfInteger myIterator;
0082 TopoDS_Shape myLastCompareShape;
0083 Bnd_Box myLastCompareShapeBox;
0084 Handle(TopOpeBRepTool_HBoxTool) myHBT;
0085 Handle(Bnd_HArray1OfBox) myHAB;
0086 Handle(TColStd_HArray1OfInteger) myHAI;
0087
0088
0089 };
0090
0091
0092
0093
0094
0095
0096
0097 #endif