File indexing completed on 2026-10-02 09:11:44
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef _BRepMesh_UVParamRangeSplitter_HeaderFile
0017 #define _BRepMesh_UVParamRangeSplitter_HeaderFile
0018
0019 #include <BRepMesh_DefaultRangeSplitter.hxx>
0020 #include <IMeshData_Types.hxx>
0021
0022
0023 class BRepMesh_UVParamRangeSplitter : public BRepMesh_DefaultRangeSplitter
0024 {
0025 public:
0026
0027 BRepMesh_UVParamRangeSplitter()
0028 : myAllocator(new NCollection_IncAllocator(IMeshData::MEMORY_BLOCK_SIZE_HUGE)),
0029 myUParams(1, myAllocator),
0030 myVParams(1, myAllocator)
0031 {
0032 }
0033
0034
0035 ~BRepMesh_UVParamRangeSplitter() override = default;
0036
0037
0038 void Reset(const IMeshData::IFaceHandle& theDFace,
0039 const IMeshTools_Parameters& theParameters) override
0040 {
0041 BRepMesh_DefaultRangeSplitter::Reset(theDFace, theParameters);
0042 myUParams.Clear();
0043 myVParams.Clear();
0044 myAllocator->Reset(false);
0045 }
0046
0047 public:
0048
0049 const IMeshData::IMapOfReal& GetParametersU() const { return myUParams; }
0050
0051
0052 IMeshData::IMapOfReal& GetParametersU() { return myUParams; }
0053
0054
0055 const IMeshData::IMapOfReal& GetParametersV() const { return myVParams; }
0056
0057
0058 IMeshData::IMapOfReal& GetParametersV() { return myVParams; }
0059
0060 private:
0061 occ::handle<NCollection_IncAllocator> myAllocator;
0062 IMeshData::IMapOfReal myUParams;
0063 IMeshData::IMapOfReal myVParams;
0064 };
0065
0066 #endif