File indexing completed on 2025-01-18 10:05:25
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _TopOpeBRepBuild_FaceBuilder_HeaderFile
0018 #define _TopOpeBRepBuild_FaceBuilder_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <TopoDS_Face.hxx>
0024 #include <TopOpeBRepBuild_LoopSet.hxx>
0025 #include <TopOpeBRepBuild_BlockIterator.hxx>
0026 #include <TopOpeBRepBuild_BlockBuilder.hxx>
0027 #include <TopOpeBRepBuild_FaceAreaBuilder.hxx>
0028 #include <TopTools_DataMapOfShapeInteger.hxx>
0029 #include <TopTools_IndexedDataMapOfShapeShape.hxx>
0030 #include <TopTools_IndexedMapOfShape.hxx>
0031 #include <Standard_Integer.hxx>
0032 class TopOpeBRepBuild_WireEdgeSet;
0033 class TopoDS_Shape;
0034 class TopOpeBRepBuild_ShapeSet;
0035
0036
0037
0038 class TopOpeBRepBuild_FaceBuilder
0039 {
0040 public:
0041
0042 DEFINE_STANDARD_ALLOC
0043
0044
0045 Standard_EXPORT TopOpeBRepBuild_FaceBuilder();
0046
0047
0048
0049 Standard_EXPORT TopOpeBRepBuild_FaceBuilder(TopOpeBRepBuild_WireEdgeSet& ES, const TopoDS_Shape& F, const Standard_Boolean ForceClass = Standard_False);
0050
0051 Standard_EXPORT void InitFaceBuilder (TopOpeBRepBuild_WireEdgeSet& ES, const TopoDS_Shape& F, const Standard_Boolean ForceClass);
0052
0053
0054
0055
0056
0057 Standard_EXPORT void DetectUnclosedWire (TopTools_IndexedDataMapOfShapeShape& mapVVsameG, TopTools_IndexedDataMapOfShapeShape& mapVon1Edge);
0058
0059
0060
0061 Standard_EXPORT void CorrectGclosedWire (const TopTools_IndexedDataMapOfShapeShape& mapVVref, const TopTools_IndexedDataMapOfShapeShape& mapVon1Edge);
0062
0063
0064
0065
0066
0067 Standard_EXPORT void DetectPseudoInternalEdge (TopTools_IndexedMapOfShape& mapE);
0068
0069
0070 Standard_EXPORT const TopoDS_Shape& Face() const;
0071
0072 Standard_EXPORT Standard_Integer InitFace();
0073
0074 Standard_EXPORT Standard_Boolean MoreFace() const;
0075
0076 Standard_EXPORT void NextFace();
0077
0078 Standard_EXPORT Standard_Integer InitWire();
0079
0080 Standard_EXPORT Standard_Boolean MoreWire() const;
0081
0082 Standard_EXPORT void NextWire();
0083
0084 Standard_EXPORT Standard_Boolean IsOldWire() const;
0085
0086
0087
0088
0089
0090 Standard_EXPORT const TopoDS_Shape& OldWire() const;
0091
0092
0093 Standard_EXPORT void FindNextValidElement();
0094
0095 Standard_EXPORT Standard_Integer InitEdge();
0096
0097 Standard_EXPORT Standard_Boolean MoreEdge() const;
0098
0099 Standard_EXPORT void NextEdge();
0100
0101
0102 Standard_EXPORT const TopoDS_Shape& Edge() const;
0103
0104 Standard_EXPORT Standard_Integer EdgeConnexity (const TopoDS_Shape& E) const;
0105
0106 Standard_EXPORT Standard_Integer AddEdgeWire (const TopoDS_Shape& E, TopoDS_Shape& W) const;
0107
0108
0109
0110
0111 protected:
0112
0113
0114
0115
0116
0117 private:
0118
0119
0120 Standard_EXPORT void MakeLoops (TopOpeBRepBuild_ShapeSet& SS);
0121
0122
0123 TopoDS_Face myFace;
0124 TopOpeBRepBuild_LoopSet myLoopSet;
0125 TopOpeBRepBuild_BlockIterator myBlockIterator;
0126 TopOpeBRepBuild_BlockBuilder myBlockBuilder;
0127 TopOpeBRepBuild_FaceAreaBuilder myFaceAreaBuilder;
0128 TopTools_DataMapOfShapeInteger myMOSI;
0129
0130
0131 };
0132
0133
0134
0135
0136
0137
0138
0139 #endif