EgtGeomKernel :

- aggiunta HashGrids3d a SurfTm con lazy evaluation
- in CAvTool aggiunta verifica utensile ben definito.
This commit is contained in:
Dario Sassi
2018-12-10 07:50:42 +00:00
parent 9a27864087
commit b3d868bcc9
23 changed files with 349 additions and 297 deletions
+10 -10
View File
@@ -174,7 +174,7 @@ PointGrid3d::RemovePoint( const Point3d& ptP, int nId)
//----------------------------------------------------------------------------
bool
PointGrid3d::Find( const Point3d& ptTest, double dTol, INTVECTOR& vnIds)
PointGrid3d::Find( const Point3d& ptTest, double dTol, INTVECTOR& vnIds) const
{
// pulisco il risultato
vnIds.clear() ;
@@ -200,7 +200,7 @@ PointGrid3d::Find( const Point3d& ptTest, double dTol, INTVECTOR& vnIds)
//----------------------------------------------------------------------------
bool
PointGrid3d::Find( const BBox3d& b3Test, INTVECTOR& vnIds)
PointGrid3d::Find( const BBox3d& b3Test, INTVECTOR& vnIds) const
{
// pulisco il risultato
vnIds.clear() ;
@@ -226,7 +226,7 @@ PointGrid3d::Find( const BBox3d& b3Test, INTVECTOR& vnIds)
//----------------------------------------------------------------------------
bool
PointGrid3d::Find( const Point3d& ptTest, double dTol, int& nId)
PointGrid3d::Find( const Point3d& ptTest, double dTol, int& nId) const
{
// determino il range di celle sui tre assi
IBox iBox ;
@@ -252,7 +252,7 @@ PointGrid3d::Find( const Point3d& ptTest, double dTol, int& nId)
//----------------------------------------------------------------------------
bool
PointGrid3d::FindNearest( const Point3d& ptTest, INTVECTOR& vnIds)
PointGrid3d::FindNearest( const Point3d& ptTest, INTVECTOR& vnIds) const
{
const double NEAR_TOL = 100 * EPS_SMALL ;
const int SIZE_LIMIT = 1000 ;
@@ -356,7 +356,7 @@ PointGrid3d::FindNearest( const Point3d& ptTest, INTVECTOR& vnIds)
//----------------------------------------------------------------------------
bool
PointGrid3d::FindNearest( const Point3d& ptTest, double dTol, int& nId)
PointGrid3d::FindNearest( const Point3d& ptTest, double dTol, int& nId) const
{
// determino il range di celle sui tre assi
IBox iBox ;
@@ -386,7 +386,7 @@ PointGrid3d::FindNearest( const Point3d& ptTest, double dTol, int& nId)
//----------------------------------------------------------------------------
bool
PointGrid3d::First( int& nId)
PointGrid3d::First( int& nId) const
{
// se vuoto
if ( m_MMap.empty())
@@ -398,14 +398,14 @@ PointGrid3d::First( int& nId)
//----------------------------------------------------------------------------
int
PointGrid3d::Get1dCellNbr( double dCoord)
PointGrid3d::Get1dCellNbr( double dCoord) const
{
return static_cast<int>( floor( dCoord * m_dInvCellDim)) ;
}
//----------------------------------------------------------------------------
bool
PointGrid3d::Get3dRangeNbr( const BBox3d& b3Test, IBox& iBox)
PointGrid3d::Get3dRangeNbr( const BBox3d& b3Test, IBox& iBox) const
{
// calcolo intersezione tra box
BBox3d b3Int ;
@@ -423,7 +423,7 @@ PointGrid3d::Get3dRangeNbr( const BBox3d& b3Test, IBox& iBox)
//----------------------------------------------------------------------------
bool
PointGrid3d::Get3dRangeNbr( const Point3d& ptTest, double dTol, IBox& iBox)
PointGrid3d::Get3dRangeNbr( const Point3d& ptTest, double dTol, IBox& iBox) const
{
// calcolo intersezione tra box
BBox3d b3Int ;
@@ -441,7 +441,7 @@ PointGrid3d::Get3dRangeNbr( const Point3d& ptTest, double dTol, IBox& iBox)
//----------------------------------------------------------------------------
int
PointGrid3d::PointHash( int nX, int nY, int nZ)
PointGrid3d::PointHash( int nX, int nY, int nZ) const
{
return ( nX * 73856093 ^ nY * 19349653 ^ nZ * 83492791) ;
}