mirror of https://github.com/CGAL/cgal
cheap fix of the use of floor(double)
This commit is contained in:
parent
36b68c936f
commit
b344412fa7
|
|
@ -67,10 +67,22 @@ public:
|
|||
NT x_tmp = p.x() / pixel_size;
|
||||
NT y_tmp = p.y() / pixel_size;
|
||||
|
||||
double x_floor = std::floor(CGAL::to_double(x_tmp));
|
||||
double y_floor = std::floor(CGAL::to_double(y_tmp));
|
||||
x = NT(x_floor) * pixel_size + pixel_size / NT(2.0);
|
||||
y = NT(y_floor) * pixel_size + pixel_size / NT(2.0);
|
||||
NT x_floor = std::floor(CGAL::to_double(x_tmp));
|
||||
NT y_floor = std::floor(CGAL::to_double(y_tmp));
|
||||
|
||||
//fix the double floor
|
||||
while(x_floor>x_tmp) x_floor-=NT(1);
|
||||
while(y_floor>y_tmp) y_floor-=NT(1);
|
||||
while(x_floor+1<=x_tmp) x_floor+=NT(1);
|
||||
while(y_floor+1<=y_tmp) y_floor+=NT(1);
|
||||
|
||||
CGAL_assertion(x_floor<=x_tmp);
|
||||
CGAL_assertion(y_floor<=y_tmp);
|
||||
CGAL_assertion(x_floor+1>x_tmp);
|
||||
CGAL_assertion(y_floor+1>y_tmp);
|
||||
|
||||
x = x_floor * pixel_size + pixel_size / NT(2.0);
|
||||
y = y_floor * pixel_size + pixel_size / NT(2.0);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue