File indexing completed on 2026-09-28 09:22:00
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRep_ShapeIntersector2d_HeaderFile
0018 #define _TopOpeBRep_ShapeIntersector2d_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022 #include <Standard_Handle.hxx>
0023
0024 #include <TopoDS_Shape.hxx>
0025 #include <TopOpeBRepTool_ShapeExplorer.hxx>
0026 #include <TopOpeBRep_ShapeScanner.hxx>
0027 #include <TopOpeBRep_EdgesIntersector.hxx>
0028 #include <Standard_Boolean.hxx>
0029 #include <Standard_Integer.hxx>
0030 class TopOpeBRepTool_HBoxTool;
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 class TopOpeBRep_ShapeIntersector2d
0052 {
0053 public:
0054 DEFINE_STANDARD_ALLOC
0055
0056 Standard_EXPORT TopOpeBRep_ShapeIntersector2d();
0057
0058
0059 Standard_EXPORT void InitIntersection(const TopoDS_Shape& S1, const TopoDS_Shape& S2);
0060
0061
0062
0063
0064 Standard_EXPORT const TopoDS_Shape& Shape(const int Index) const;
0065
0066
0067
0068 Standard_EXPORT bool MoreIntersection() const;
0069
0070
0071 Standard_EXPORT void NextIntersection();
0072
0073
0074 Standard_EXPORT TopOpeBRep_EdgesIntersector& ChangeEdgesIntersector();
0075
0076
0077
0078 Standard_EXPORT const TopoDS_Shape& CurrentGeomShape(const int Index) const;
0079
0080 Standard_EXPORT void DumpCurrent(const int K) const;
0081
0082 Standard_EXPORT int Index(const int K) const;
0083
0084 private:
0085 Standard_EXPORT void Reset();
0086
0087 Standard_EXPORT void Init(const TopoDS_Shape& S1, const TopoDS_Shape& S2);
0088
0089 Standard_EXPORT void SetIntersectionDone();
0090
0091 Standard_EXPORT void InitFFIntersection();
0092
0093 Standard_EXPORT void FindFFIntersection();
0094
0095 Standard_EXPORT bool MoreFFCouple() const;
0096
0097 Standard_EXPORT void NextFFCouple();
0098
0099 Standard_EXPORT void InitEEFFIntersection();
0100
0101 Standard_EXPORT void FindEEFFIntersection();
0102
0103 Standard_EXPORT bool MoreEEFFCouple() const;
0104
0105 Standard_EXPORT void NextEEFFCouple();
0106
0107 TopoDS_Shape myShape1;
0108 TopoDS_Shape myShape2;
0109 occ::handle<TopOpeBRepTool_HBoxTool> myHBoxTool;
0110 TopOpeBRepTool_ShapeExplorer myFaceExplorer;
0111 TopOpeBRep_ShapeScanner myFaceScanner;
0112 TopOpeBRepTool_ShapeExplorer myEdgeExplorer;
0113 TopOpeBRep_ShapeScanner myEdgeScanner;
0114 TopOpeBRep_EdgesIntersector myEEIntersector;
0115 bool myIntersectionDone;
0116 bool myFFDone;
0117 bool myEEFFDone;
0118 bool myFFInit;
0119 bool myEEFFInit;
0120 };
0121
0122 #endif