AcademySoftwareFoundation / openvdb

OpenVDB - Sparse volume data structure and tools
http://www.openvdb.org/
Apache License 2.0
2.71k stars 660 forks source link

NanoVDB v32.7.0 with DCO Fix #1861

Closed apradhana closed 4 months ago

apradhana commented 4 months ago

PR-1807 contains a DCO sign-off error. This PR is a copy of that PR with the DCO Fix.

From initial comment by @kmuseth: Introducing NanoVDB v32.7.0, which is a major refactoring of v32.6, primarily related to the introduction of new namespaces and an accompanying restructuring of the directory layout of header files. This will likely require changes to client code! To this end I have included a shell script (cmd/updateFiles.sh) that will scan files and make (most) of the required changes.

The motivation for there these changes is twofold: First we want to use the same practice in terms of name spaces as OpenVDB and second the old version (32.6) was getting cluttered and messy. Specifically the main changes are:

  1. Virtually everything in NanoVDB is no using nanovdb as a namespace 2[ Additionally the following nested namespaces are introduced: math, tools, cuda, io
  2. these namespaces are reflected in matching restructures in the directories of header files as well as names of functions, kernels and a classes. Here are some examples of changes:
    nanovdb::CpuTimer -> nanovdb::util::Timer
    nanovdb::GpuTimer -> nanovdb::util::cuda::Timer
    nanovdb::gridStats -> nanovdb::tools::gridStats
    nanovdb::Coord -> nanovdb::math::Coord
apradhana commented 4 months ago

PR-1807 has gone through a thorough code-review process, which should carry over to this PR.