File indexing completed on 2026-09-11 09:19:36
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepDS_GapTool_HeaderFile
0018 #define _TopOpeBRepDS_GapTool_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <Standard_Integer.hxx>
0024 #include <TopOpeBRepDS_Interference.hxx>
0025 #include <NCollection_List.hxx>
0026 #include <NCollection_DataMap.hxx>
0027 #include <TopoDS_Shape.hxx>
0028 #include <Standard_Transient.hxx>
0029 class TopOpeBRepDS_HDataStructure;
0030 class TopOpeBRepDS_Interference;
0031 class TopOpeBRepDS_Curve;
0032 class TopoDS_Shape;
0033
0034 class TopOpeBRepDS_GapTool : public Standard_Transient
0035 {
0036
0037 public:
0038 Standard_EXPORT TopOpeBRepDS_GapTool();
0039
0040 Standard_EXPORT TopOpeBRepDS_GapTool(const occ::handle<TopOpeBRepDS_HDataStructure>& HDS);
0041
0042 Standard_EXPORT void Init(const occ::handle<TopOpeBRepDS_HDataStructure>& HDS);
0043
0044 Standard_EXPORT const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& Interferences(
0045 const int IndexPoint) const;
0046
0047 Standard_EXPORT const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& SameInterferences(
0048 const occ::handle<TopOpeBRepDS_Interference>& I) const;
0049
0050 Standard_EXPORT NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& ChangeSameInterferences(
0051 const occ::handle<TopOpeBRepDS_Interference>& I);
0052
0053 Standard_EXPORT bool Curve(const occ::handle<TopOpeBRepDS_Interference>& I,
0054 TopOpeBRepDS_Curve& C) const;
0055
0056 Standard_EXPORT bool EdgeSupport(const occ::handle<TopOpeBRepDS_Interference>& I,
0057 TopoDS_Shape& E) const;
0058
0059
0060
0061 Standard_EXPORT bool FacesSupport(const occ::handle<TopOpeBRepDS_Interference>& I,
0062 TopoDS_Shape& F1,
0063 TopoDS_Shape& F2) const;
0064
0065 Standard_EXPORT bool ParameterOnEdge(const occ::handle<TopOpeBRepDS_Interference>& I,
0066 const TopoDS_Shape& E,
0067 double& U) const;
0068
0069 Standard_EXPORT void SetPoint(const occ::handle<TopOpeBRepDS_Interference>& I,
0070 const int IndexPoint);
0071
0072 Standard_EXPORT void SetParameterOnEdge(const occ::handle<TopOpeBRepDS_Interference>& I,
0073 const TopoDS_Shape& E,
0074 const double U);
0075
0076 DEFINE_STANDARD_RTTIEXT(TopOpeBRepDS_GapTool, Standard_Transient)
0077
0078 private:
0079 occ::handle<TopOpeBRepDS_HDataStructure> myHDS;
0080 NCollection_DataMap<int, NCollection_List<occ::handle<TopOpeBRepDS_Interference>>> myGToI;
0081 NCollection_DataMap<occ::handle<TopOpeBRepDS_Interference>, TopoDS_Shape> myInterToShape;
0082 };
0083
0084 #endif