File indexing completed on 2025-01-18 10:04:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _LocOpe_WiresOnShape_HeaderFile
0018 #define _LocOpe_WiresOnShape_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TopoDS_Shape.hxx>
0024 #include <TopTools_IndexedDataMapOfShapeShape.hxx>
0025 #include <TopTools_MapOfShape.hxx>
0026 #include <TopTools_DataMapOfShapeShape.hxx>
0027 #include <Standard_Integer.hxx>
0028 #include <Standard_Transient.hxx>
0029 #include <TopTools_SequenceOfShape.hxx>
0030
0031 class TopoDS_Wire;
0032 class TopoDS_Face;
0033 class TopoDS_Compound;
0034 class TopoDS_Edge;
0035 class TopoDS_Vertex;
0036
0037
0038 class LocOpe_WiresOnShape;
0039 DEFINE_STANDARD_HANDLE(LocOpe_WiresOnShape, Standard_Transient)
0040
0041
0042 class LocOpe_WiresOnShape : public Standard_Transient
0043 {
0044
0045 public:
0046
0047
0048 Standard_EXPORT LocOpe_WiresOnShape(const TopoDS_Shape& S);
0049
0050 Standard_EXPORT void Init (const TopoDS_Shape& S);
0051
0052
0053
0054
0055 Standard_EXPORT Standard_Boolean Add(const TopTools_SequenceOfShape& theEdges);
0056
0057
0058
0059 void SetCheckInterior (const Standard_Boolean ToCheckInterior);
0060
0061 Standard_EXPORT void Bind (const TopoDS_Wire& W, const TopoDS_Face& F);
0062
0063 Standard_EXPORT void Bind (const TopoDS_Compound& Comp, const TopoDS_Face& F);
0064
0065 Standard_EXPORT void Bind (const TopoDS_Edge& E, const TopoDS_Face& F);
0066
0067 Standard_EXPORT void Bind (const TopoDS_Edge& EfromW, const TopoDS_Edge& EonFace);
0068
0069 Standard_EXPORT void BindAll();
0070
0071 Standard_Boolean IsDone() const;
0072
0073 Standard_EXPORT void InitEdgeIterator();
0074
0075 Standard_EXPORT Standard_Boolean MoreEdge();
0076
0077 Standard_EXPORT TopoDS_Edge Edge();
0078
0079
0080
0081 Standard_EXPORT TopoDS_Face OnFace();
0082
0083
0084
0085
0086 Standard_EXPORT Standard_Boolean OnEdge (TopoDS_Edge& E);
0087
0088 Standard_EXPORT void NextEdge();
0089
0090 Standard_EXPORT Standard_Boolean OnVertex (const TopoDS_Vertex& Vwire, TopoDS_Vertex& Vshape);
0091
0092
0093
0094
0095
0096
0097 Standard_EXPORT Standard_Boolean OnEdge (const TopoDS_Vertex& V, TopoDS_Edge& E, Standard_Real& P);
0098
0099
0100
0101
0102
0103
0104 Standard_EXPORT Standard_Boolean OnEdge (const TopoDS_Vertex& V, const TopoDS_Edge& EdgeFrom, TopoDS_Edge& E, Standard_Real& P);
0105
0106
0107 Standard_Boolean IsFaceWithSection (const TopoDS_Shape& aFace) const;
0108
0109
0110
0111
0112 DEFINE_STANDARD_RTTIEXT(LocOpe_WiresOnShape,Standard_Transient)
0113
0114 protected:
0115
0116
0117
0118
0119 private:
0120
0121
0122 TopoDS_Shape myShape;
0123 TopTools_IndexedDataMapOfShapeShape myMapEF;
0124 TopTools_MapOfShape myFacesWithSection;
0125 Standard_Boolean myCheckInterior;
0126 TopTools_DataMapOfShapeShape myMap;
0127 Standard_Boolean myDone;
0128 Standard_Integer myIndex;
0129
0130
0131 };
0132
0133
0134 #include <LocOpe_WiresOnShape.lxx>
0135
0136
0137
0138
0139
0140 #endif