File indexing completed on 2025-01-18 10:05:24
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
0052 class TopOpeBRep_ShapeIntersector2d
0053 {
0054 public:
0055
0056 DEFINE_STANDARD_ALLOC
0057
0058
0059 Standard_EXPORT TopOpeBRep_ShapeIntersector2d();
0060
0061
0062 Standard_EXPORT void InitIntersection (const TopoDS_Shape& S1, const TopoDS_Shape& S2);
0063
0064
0065
0066
0067 Standard_EXPORT const TopoDS_Shape& Shape (const Standard_Integer Index) const;
0068
0069
0070
0071 Standard_EXPORT Standard_Boolean MoreIntersection() const;
0072
0073
0074 Standard_EXPORT void NextIntersection();
0075
0076
0077 Standard_EXPORT TopOpeBRep_EdgesIntersector& ChangeEdgesIntersector();
0078
0079
0080
0081 Standard_EXPORT const TopoDS_Shape& CurrentGeomShape (const Standard_Integer Index) const;
0082
0083 Standard_EXPORT void DumpCurrent (const Standard_Integer K) const;
0084
0085 Standard_EXPORT Standard_Integer Index (const Standard_Integer K) const;
0086
0087
0088
0089
0090 protected:
0091
0092
0093
0094
0095
0096 private:
0097
0098
0099 Standard_EXPORT void Reset();
0100
0101 Standard_EXPORT void Init (const TopoDS_Shape& S1, const TopoDS_Shape& S2);
0102
0103 Standard_EXPORT void SetIntersectionDone();
0104
0105 Standard_EXPORT void InitFFIntersection();
0106
0107 Standard_EXPORT void FindFFIntersection();
0108
0109 Standard_EXPORT Standard_Boolean MoreFFCouple() const;
0110
0111 Standard_EXPORT void NextFFCouple();
0112
0113 Standard_EXPORT void InitEEFFIntersection();
0114
0115 Standard_EXPORT void FindEEFFIntersection();
0116
0117 Standard_EXPORT Standard_Boolean MoreEEFFCouple() const;
0118
0119 Standard_EXPORT void NextEEFFCouple();
0120
0121
0122 TopoDS_Shape myShape1;
0123 TopoDS_Shape myShape2;
0124 Handle(TopOpeBRepTool_HBoxTool) myHBoxTool;
0125 TopOpeBRepTool_ShapeExplorer myFaceExplorer;
0126 TopOpeBRep_ShapeScanner myFaceScanner;
0127 TopOpeBRepTool_ShapeExplorer myEdgeExplorer;
0128 TopOpeBRep_ShapeScanner myEdgeScanner;
0129 TopOpeBRep_EdgesIntersector myEEIntersector;
0130 Standard_Boolean myIntersectionDone;
0131 Standard_Boolean myFFDone;
0132 Standard_Boolean myEEFFDone;
0133 Standard_Boolean myFFInit;
0134 Standard_Boolean myEEFFInit;
0135
0136
0137 };
0138
0139
0140
0141
0142
0143
0144
0145 #endif