122        ogt_vox_transform translate{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1};
 
  123        ogt_vox_transform scale{10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 1};
 
  124        ogt_vox_transform translate2{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1};
 
  128        std::cout << v[0] << 
' ' << v[1] << 
' ' << v[2] << 
'\n';
 
  136            auto acc = grid.getAccessor();
 
  138            auto processModelFn = [&](
int modelIndex, 
const ogt_vox_transform& xform) {
 
  139                const auto* model = scene->models[modelIndex];
 
  141                uint32_t voxel_index = 0;
 
  142                for (uint32_t z = 0; z < model->size_z; ++z) {
 
  143                    for (uint32_t y = 0; y < model->size_y; ++y) {
 
  144                        for (uint32_t x = 0; x < model->size_x; ++x, ++voxel_index) {
 
  145                            if (uint8_t color_index = model->voxel_data[voxel_index]) {
 
  146                                ogt_vox_rgba rgba = scene->palette.color[color_index];
 
  148                                acc.setValue(nanovdb::Coord(ijk[0], ijk[2], -ijk[1]), *
reinterpret_cast<nanovdb::math::Rgba8*
>(&rgba));
 
  155            if (scene->num_instances > 0) {
 
  156                printf(
"scene processing begin... %d instances\n", scene->num_instances);
 
  158                for (uint32_t instanceIndex = 0; instanceIndex < scene->num_instances; instanceIndex++) {
 
  159                    const auto& instance = scene->instances[instanceIndex];
 
  160                    uint32_t    modelIndex = instance.model_index;
 
  171                    auto xform = instance.transform;
 
  173                    processModelFn(modelIndex, xform);
 
  176                printf(
"scene processing begin... %d models\n", scene->num_models);
 
  178                ogt_vox_transform xform{1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};
 
  180                for (uint32_t modelIndex = 0; modelIndex < scene->num_models; modelIndex++) {
 
  181                    processModelFn(modelIndex, xform);
 
  186            printf(
"scene processing end.\n");
 
  187            ogt_vox_destroy_scene(scene);
 
  188            return nanovdb::tools::createNanoGrid(grid);
 
  190            std::ostringstream ss;
 
  191            ss << 
"Invalid file \"" << inFilename << 
"\"";
 
  192            throw std::runtime_error(ss.str());
 
  195    catch (
const std::exception& e) {
 
  196        std::cerr << 
"An exception occurred: \"" << e.what() << 
"\"" << std::endl;