File indexing completed on 2026-09-15 09:15:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _BRepFill_CompatibleWires_HeaderFile
0018 #define _BRepFill_CompatibleWires_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_DefineAlloc.hxx>
0022
0023 #include <BRepFill_ThruSectionErrorStatus.hxx>
0024 #include <TopoDS_Shape.hxx>
0025 #include <NCollection_Sequence.hxx>
0026 #include <NCollection_List.hxx>
0027 #include <TopTools_ShapeMapHasher.hxx>
0028 #include <NCollection_DataMap.hxx>
0029 class TopoDS_Edge;
0030
0031
0032
0033
0034 class BRepFill_CompatibleWires
0035 {
0036 public:
0037 DEFINE_STANDARD_ALLOC
0038
0039 Standard_EXPORT BRepFill_CompatibleWires();
0040
0041 Standard_EXPORT BRepFill_CompatibleWires(const NCollection_Sequence<TopoDS_Shape>& Sections);
0042
0043 Standard_EXPORT void Init(const NCollection_Sequence<TopoDS_Shape>& Sections);
0044
0045 Standard_EXPORT void SetPercent(const double percent = 0.01);
0046
0047
0048
0049 Standard_EXPORT void Perform(const bool WithRotation = true);
0050
0051 Standard_EXPORT bool IsDone() const;
0052
0053 BRepFill_ThruSectionErrorStatus GetStatus() const { return myStatus; }
0054
0055
0056 Standard_EXPORT const NCollection_Sequence<TopoDS_Shape>& Shape() const;
0057
0058
0059
0060 Standard_EXPORT const NCollection_List<TopoDS_Shape>& GeneratedShapes(
0061 const TopoDS_Edge& SubSection) const;
0062
0063 Standard_EXPORT const NCollection_DataMap<TopoDS_Shape,
0064 NCollection_List<TopoDS_Shape>,
0065 TopTools_ShapeMapHasher>&
0066 Generated() const;
0067
0068 Standard_EXPORT bool IsDegeneratedFirstSection() const;
0069
0070 Standard_EXPORT bool IsDegeneratedLastSection() const;
0071
0072 private:
0073
0074
0075
0076 Standard_EXPORT void SameNumberByPolarMethod(const bool WithRotation = true);
0077
0078
0079
0080
0081 Standard_EXPORT void SameNumberByACR(const bool report);
0082
0083
0084
0085
0086
0087 Standard_EXPORT void ComputeOrigin(const bool polar);
0088
0089
0090
0091
0092 Standard_EXPORT void SearchOrigin();
0093
0094 NCollection_Sequence<TopoDS_Shape> myInit;
0095 NCollection_Sequence<TopoDS_Shape> myWork;
0096 double myPercent;
0097 bool myDegen1;
0098 bool myDegen2;
0099 BRepFill_ThruSectionErrorStatus myStatus;
0100 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> myMap;
0101 };
0102
0103 #endif