in BestDim(...) changed int -> _int64 to cope with programs with a very large cell number (like plyMC)

This commit is contained in:
Marco Callieri 2008-02-19 12:43:01 +00:00
parent b71c11a0f7
commit 3716a8c6df
1 changed files with 6 additions and 3 deletions

View File

@ -24,6 +24,9 @@
History History
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.11 2008/02/04 19:18:44 ganovelli
typo corrected
Revision 1.10 2006/08/23 15:21:35 marfr960 Revision 1.10 2006/08/23 15:21:35 marfr960
added some comments added some comments
@ -160,9 +163,9 @@ public:
della ratio del bounding box e del numero di elementi della ratio del bounding box e del numero di elementi
*/ */
template<class scalar_type> template<class scalar_type>
void BestDim( const int elems, const Point3<scalar_type> & size, Point3i & dim ) void BestDim( const __int64 elems, const Point3<scalar_type> & size, Point3i & dim )
{ {
const int mincells = 1; // Numero minimo di celle const __int64 mincells = 1; // Numero minimo di celle
const double GFactor = 1; // GridEntry = NumElem*GFactor const double GFactor = 1; // GridEntry = NumElem*GFactor
double diag = size.Norm(); // Diagonale del box double diag = size.Norm(); // Diagonale del box
double eps = diag*1e-4; // Fattore di tolleranza double eps = diag*1e-4; // Fattore di tolleranza
@ -173,7 +176,7 @@ public:
assert(size[2]>=0.0); assert(size[2]>=0.0);
int ncell = int(elems*GFactor); // Calcolo numero di voxel __int64 ncell = __int64(elems*GFactor); // Calcolo numero di voxel
if(ncell<mincells) if(ncell<mincells)
ncell = mincells; ncell = mincells;