Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void get_min_max(const char *filename, float *a_min_x, float *a_max_x, float *a_min_y, float *a_max_y, float *a_min_z, float *a_max_z) {
- FILE *f = NULL;
- float
- min_x = FLT_MAX,
- min_y = FLT_MAX,
- min_z = FLT_MAX,
- max_x = -FLT_MAX,
- max_y = -FLT_MAX,
- max_z = -FLT_MAX;
- std::ifstream ifsData(filename, std::ios::binary);
- if (!ifsData.is_open()) {
- std::printf("!!! - Error, cannot open a file %s for reading\n", filename);
- return;
- }
- while(!ifsData.eof())
- {
- float x, y, z;
- int l_type;
- ifsData.read((char*)(&x), sizeof(float));
- ifsData.read((char*)(&y), sizeof(float));
- ifsData.read((char*)(&z), sizeof(float));
- ifsData.read((char*)(&l_type), sizeof(int));
- if (x < min_x) {
- min_x = x;
- }
- if (x > max_x) {
- max_x = x;
- }
- if (y < min_y) {
- min_y = y;
- }
- if (y > max_y) {
- max_y = y;
- }
- if (z < min_z) {
- min_z = z;
- }
- if (z > max_z) {
- max_z = z;
- }
- }
- *a_min_x = min_x;
- *a_max_x = max_x;
- *a_min_y = min_y;
- *a_max_y = max_y;
- *a_min_z = min_z;
- *a_max_z = max_z;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement