| 487 | } |
| 488 | |
| 489 | void fit_field(DebugParams &debugParams) |
| 490 | { |
| 491 | openpgl::cpp::Device device(debugParams.device_type); |
| 492 | openpgl::cpp::FieldConfig fieldSettings; |
| 493 | fieldSettings.Init(PGL_SPATIAL_STRUCTURE_KDTREE, PGL_DIRECTIONAL_DISTRIBUTION_PARALLAX_AWARE_VMM, true, 32000); |
| 494 | |
| 495 | fieldSettings.SetDebugArgFitRegions(true); |
| 496 | openpgl::cpp::Field field(&device, fieldSettings); |
| 497 | |
| 498 | for (int i = 0; i < debugParams.samples_file_names.size(); i++) |
| 499 | { |
| 500 | std::cout << "Validate Samples[" << i << "]:" << std::endl; |
| 501 | openpgl::cpp::SampleStorage sampleStorage(debugParams.samples_file_names[i]); |
| 502 | bool samplesValidate = sampleStorage.Validate(); |
| 503 | std::cout << " -samples: " << debugParams.samples_file_names[i] << " is " << (samplesValidate ? "valid" : "NOT valid") << std::endl; |
| 504 | |
| 505 | field.Update(sampleStorage); |
| 506 | std::cout << "Validate Updated Field[" << i << "]:" << std::endl; |
| 507 | bool fieldUpdatedValid = field.Validate(); |
| 508 | std::cout << " updated field[" << i << "]: is " << (fieldUpdatedValid ? "valid" : "NOT valid") << std::endl; |
| 509 | } |
| 510 | if (debugParams.field_file_name_out != "") |
| 511 | { |
| 512 | std::cout << "stroe field: " << debugParams.field_file_name_out << std::endl; |
| 513 | field.Store(debugParams.field_file_name_out); |
| 514 | } |
| 515 | } |
| 516 | |
| 517 | void update_field(DebugParams &debugParams) |
| 518 | { |