From cd56f807902eefc17c444ee1e6b014f7c40e8182 Mon Sep 17 00:00:00 2001 From: Daniele Bariletti Date: Mon, 17 Mar 2025 14:19:03 +0100 Subject: [PATCH] - piccola modifica alla mappa dei polinomi di bernstein. --- SurfBezier.cpp | 4 ++-- SurfBezier.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/SurfBezier.cpp b/SurfBezier.cpp index 4efabd5..99c3890 100644 --- a/SurfBezier.cpp +++ b/SurfBezier.cpp @@ -51,7 +51,7 @@ static bool ChangeStartForClosed( PolyLine& plU0, PolyLine& plU1, ICurveComposit static bool ParametrizeByLen( const ICurveComposite* pCurve, DBLVECTOR& vParam) ; static bool BuildCommonParam( const DBLMATRIX& mParam, DBLVECTOR& vCommonParam) ; -static unordered_map, DBLVECTOR, PairHash> m_mBernCache ; // mappa dei polinomi di bernstein +static unordered_map m_mBernCache ; // mappa dei polinomi di bernstein //---------------------------------------------------------------------------- SurfBezier::SurfBezier( void) @@ -319,7 +319,7 @@ SurfBezier::GetCentroid( Point3d& ptCen) const bool SurfBezier::GetBernstein( double dU, int nDegU, DBLVECTOR& vBernU) const { - pair key = std::make_pair( nDegU, int( dU * pow(2,24))) ; + INTINT key( nDegU, int( dU * pow(2,24))) ; if ( m_mBernCache.find( key) == m_mBernCache.end()) { DBLVECTOR vBern( nDegU + 1) ; GetAllBernstein( dU, nDegU, vBern) ; diff --git a/SurfBezier.h b/SurfBezier.h index 5fccf68..691f73f 100644 --- a/SurfBezier.h +++ b/SurfBezier.h @@ -25,10 +25,10 @@ using namespace std ; class Tree ; -struct PairHash { - std::size_t operator()(const std::pair& key) const { +struct PairHashIntInt { + std::size_t operator()(const std::pair& key) const { std::size_t h1 = std::hash{}(key.first); - std::size_t h2 = std::hash{}(key.second); + std::size_t h2 = std::hash{}(key.second); return h1 ^ (h2 << 1); // Combine hashes } };