File indexing completed on 2026-09-15 09:17:32
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepDS_GapFiller_HeaderFile
0018 #define _TopOpeBRepDS_GapFiller_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TopOpeBRepDS_Interference.hxx>
0025 #include <NCollection_List.hxx>
0026 #include <Standard_Integer.hxx>
0027 #include <NCollection_Map.hxx>
0028 class TopOpeBRepDS_HDataStructure;
0029 class TopOpeBRepDS_GapTool;
0030 class TopOpeBRepDS_Association;
0031 class TopOpeBRepDS_Interference;
0032 class TopoDS_Shape;
0033 class TopoDS_Face;
0034 class TopoDS_Edge;
0035
0036 class TopOpeBRepDS_GapFiller
0037 {
0038 public:
0039 DEFINE_STANDARD_ALLOC
0040
0041 Standard_EXPORT TopOpeBRepDS_GapFiller(const occ::handle<TopOpeBRepDS_HDataStructure>& HDS);
0042
0043 Standard_EXPORT void Perform();
0044
0045
0046
0047 Standard_EXPORT void FindAssociatedPoints(
0048 const occ::handle<TopOpeBRepDS_Interference>& I,
0049 NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0050
0051
0052
0053
0054
0055 Standard_EXPORT bool CheckConnexity(NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0056
0057 Standard_EXPORT void AddPointsOnShape(
0058 const TopoDS_Shape& S,
0059 NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0060
0061
0062
0063 Standard_EXPORT void AddPointsOnConnexShape(
0064 const TopoDS_Shape& F,
0065 const NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0066
0067 Standard_EXPORT void FilterByFace(const TopoDS_Face& F,
0068 NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0069
0070 Standard_EXPORT void FilterByEdge(const TopoDS_Edge& E,
0071 NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0072
0073 Standard_EXPORT void FilterByIncidentDistance(
0074 const TopoDS_Face& F,
0075 const occ::handle<TopOpeBRepDS_Interference>& I,
0076 NCollection_List<occ::handle<TopOpeBRepDS_Interference>>& LI);
0077
0078
0079
0080 Standard_EXPORT bool IsOnFace(const occ::handle<TopOpeBRepDS_Interference>& I,
0081 const TopoDS_Face& F) const;
0082
0083
0084
0085
0086
0087 Standard_EXPORT bool IsOnEdge(const occ::handle<TopOpeBRepDS_Interference>& I,
0088 const TopoDS_Edge& E) const;
0089
0090 Standard_EXPORT void BuildNewGeometries();
0091
0092 Standard_EXPORT void ReBuildGeom(const occ::handle<TopOpeBRepDS_Interference>& I1,
0093 NCollection_Map<int>& Done);
0094
0095 private:
0096 occ::handle<TopOpeBRepDS_HDataStructure> myHDS;
0097 occ::handle<TopOpeBRepDS_GapTool> myGapTool;
0098 occ::handle<TopOpeBRepDS_Association> myAsso;
0099 };
0100
0101 #endif