use size_t instead of int for max range values

This commit is contained in:
Sébastien Loriot 2024-03-05 16:18:02 +01:00
parent 217de048f0
commit 57a1262117
1 changed files with 3 additions and 4 deletions

View File

@ -88,11 +88,10 @@ read_vtk_image_data(vtkImageData* vtk_image, Image_3::Own owning = Image_3::OWN_
// If there is more than a scalar per point, vtk_image->data is not immediately // If there is more than a scalar per point, vtk_image->data is not immediately
// interpretable in Image_3->data // interpretable in Image_3->data
CGAL_assertion(owning == Image_3::OWN_THE_DATA || cn == 1); CGAL_assertion(owning == Image_3::OWN_THE_DATA || cn == 1);
CGAL_assertion(vtk_image->GetPointData()->GetScalars()->GetNumberOfTuples() == image->xdim*image->ydim*image->zdim);
CGAL_assertion(vtk_image->GetPointData()->GetScalars()->GetNumberOfTuples() == dims[0]*dims[1]*dims[2]);
if(owning == Image_3::OWN_THE_DATA) { if(owning == Image_3::OWN_THE_DATA) {
int dims_n = dims[0]*dims[1]*dims[2]; std::size_t dims_n = image->xdim*image->ydim*image->zdim;
image->data = ::ImageIO_alloc(dims_n * image->wdim); image->data = ::ImageIO_alloc(dims_n * image->wdim);
// std::cerr << "GetNumberOfTuples() = " << vtk_image->GetPointData()->GetScalars()->GetNumberOfTuples() << "\n" // std::cerr << "GetNumberOfTuples() = " << vtk_image->GetPointData()->GetScalars()->GetNumberOfTuples() << "\n"
@ -110,7 +109,7 @@ read_vtk_image_data(vtkImageData* vtk_image, Image_3::Own owning = Image_3::OWN_
char* src = static_cast<char*>(vtk_image->GetPointData()->GetScalars()->GetVoidPointer(0)); char* src = static_cast<char*>(vtk_image->GetPointData()->GetScalars()->GetVoidPointer(0));
char* dest = static_cast<char*>(image->data); char* dest = static_cast<char*>(image->data);
for(int i=0; i<dims_n; ++i) for(std::size_t i=0; i<dims_n; ++i)
{ {
// multiply by image->wdim because we casted to char* and not the actual data type // multiply by image->wdim because we casted to char* and not the actual data type
memcpy(dest + image->wdim*i, src + cn*image->wdim*i, image->wdim); memcpy(dest + image->wdim*i, src + cn*image->wdim*i, image->wdim);