OpenVDB
12.0.0
|
OpenVDB is now licensed under the Apache 2.0 license, instead of the MPL 2.0 license.
This version introduces ABI changes relative to older major releases, so to preserve ABI compatibility it might be necessary to define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 10 for Houdini 20.0 and 11 for Houdini 20.5.
GCC 9 is no longer supported.
OPENVDB_ENABLE_ASSERTS
cmake argument/compile define to toggle assertions in OpenVDB code, independantly of NDEBUG. Asserts are no longer enabled by default in when NDEBUG is absent (e.g. Debug builds).OPENVDB_USE_DELAYED_LOADING
is OFF [Reported by Brian McKinnon]NANOVDB_DISABLE_SYNC_CUDA_MALLOC
that maps cudaMallocAsync and cudaFreeAsync to cudaMalloc and cudaFree respectively.UINT64_C
.CpuTimer.h
to Timer.h
.util/GridHandle.h
to GridHandle.h
.util/BuildGrid.h
to tools/GridBuilder.h
.util/GridBuilder.h
to tools/GridBuilder.h
.util/IO.h
to io/IO.h
.util/CSampleFromVoxels.h
to math/CSampleFromVoxels.h
.util/DitherLUT.h
to math/DitherLUT.h
.util/HDDA.h
to math/HDDA.h
.util/Ray.h
to math/Ray.h
.util/SampleFromVoxels.h
to math/SampleFromVoxels.h
.util/Stencils.h
to nanovdb/math/Stencils.h
.util/CreateNanoGrid.h
to tools/CreateNanoGrid.h
.util/Primitives.h
to tools/CreatePrimitives.h
.util/GridChecksum.h
to tools/GridChecksum.h
.util/GridStats.h
to tools/GridStats.h
.util/GridChecksum.h
to tools/GridChecksum.h
.util/GridValidator.h
to tools/GridValidator.h
.util/NanoToOpenVDB.h
to tools/NanoToOpenVDB.h
.util/cuda/CudaGridChecksum.cuh
to tools/cuda/CudaGridChecksum.cuh
.util/cuda/CudaGridStats.cuh
to tools/cuda/CudaGridStats.cuh
.util/cuda/CudaGridValidator.cuh
to tools/cuda/CudaGridValidator.cuh
.util/cuda/CudaIndexToGrid.cuh
to tools/cuda/CudaIndexToGrid.cuh
.util/cuda/CudaPointsToGrid.cuh
to tools/cuda/PointsToGrid.cuh
.util/cuda/CudaSignedFloodFill.cuh
to tools/cuda/CudaSignedFloodFill.cuh
.util/cuda/CudaDeviceBuffer.h
to cuda/DeviceBuffer.h
.util/cuda/CudaGridHandle.cuh
to cuda/GridHandle.cuh
.util/cuda/CudaUtils.h
to util/cuda/Util.h
.util/cuda/GpuTimer.h
to util/cuda/Timer.h
.OPENVDB_ENABLE_RPATH
is ON
, the location of libopenvdb_houdini is now added to the rpath of all Houdini dsos.USE_EXPLICIT_INSTANTIATION
is now disabled on Windows by default due to OOM linker issues.CONCURRENT_MALLOC
is set to Auto.This version introduces ABI changes relative to older major releases, so to preserve ABI compatibility it might be necessary to define the macro
OPENVDB_ABI_VERSION_NUMBER=
N.
OpenEXR 2 and Python 2 are no longer supported.
boost::any
in favor of std::any
. [Contributed by Brian McKinnon]GridClass::IndexGrid
that separates values from treeIndex
, OnIndex
, IndexMask
, OnIndexMask
) used by IndexGridcreateNanoGrid
that replaces older conversion methods in GridBuilder.h
, IndexGridBuilder.h
and OpenToNanoVDB.h
cudaPointsToGrid
that constructs a point device grid from a list of points.cudaVoxelsToGrid
that constructs a voxel device grid from a list of voxels.cuda/CudaUtils.h
with several cuda utility functions.GpuTimer
for timing of kernels in a specific cuda stream.cudaIndexToGrid
that converts IndexGrids into regular Grids.cudaSignedFloodFill
that performs signed-flood filling on the GPU.cudaAddBlindData
that adds blind data to an existing grid on the GPU.cudaGridChecksum
that computes checksums of device grids.cudaGridHandle
that handles grids on the GPU.cudaNodeManager
that constructs a NodeManager on the GPU.Points
and GridType::PointIndex
for point grids.GridType::Vec3u16
and GridType::Vec3u8
for compressed coordinates.PrefixSum.h
for concurrent computation of prefix sum on the CPU.GridBuilder.h
that allows construction of grids on CPU.CudaDeviceBuffer.h
to cuda/CudaDeviceBuffer.h
.BBox::expandAtomic
and BBox::intersectAtomic
.Coord::expandAtomic
.Mask::DenseIterator
, Mask::setOnAtomic
, and Mask::setOffAtomic
.InternalNode::ChildIterator
is now const-correct.PNanoVDB.h
with NanoVDB.h
.OpenEXR 2.X
has been removed.CMAKE_FIND_PACKAGE_PREFER_CONFIG=ON
.vdb_ax
command line tool where the default optimization level was set to NONE instead of O3 (issue introduced in 10.0.0).This version introduces ABI changes relative to older major releases, so to preserve ABI compatibility it might be necessary to define the macro
OPENVDB_ABI_VERSION_NUMBER=
N.
This version introduces ABI changes relative to older major releases, so to preserve ABI compatibility it might be necessary to define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 7 for Houdini 18.5 and 8 for Houdini 19.0.
Official release of NanoVDB, which for the first time offers GPU support for static sparse volumes in OpenVDB. See the documentation for details.
Added support for TBB 2021.
Added support for OpenEXR 3. This is contributed by Cary Phillips.
As of this release, support for grid ABI=5 has been removed.
This version introduces ABI changes relative to older major releases, so to preserve ABI compatibility it might be necessary to define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 6 for Houdini 18.0 and 7 for Houdini 18.5.
Official release of OpenVDB AX, a new C++ library that implements a domain specific JIT (just-in-time) compiled expression language, providing users with a new way of interacting with OpenVDB data. AX is tailored towards writing highly parallelizable and customizable OpenVDB volume and point kernel operations. See the documentation for more.
[[deprecated]]
attribute.As of this release, support for grid ABI=4 has been removed.
evalActiveVoxelBoundingBox
is called. The correct behavior is to only return true if the grid contains any active values.GEO_Detail::getBBox()
instead of GEO_Detail::computeQuickBounds()
as the latter was incorrectly using the point of the VDB when computing bounding box. SOPs affected include Clip, Fill, Points Group, Rasterize Points, Read, Remove Divergence. [Contributed by Kuba Roth]_CRT_NONSTDC_NO_WARNINGS
and _CRT_SECURE_NO_WARNINGS
are now enabled by default with MSVC.OPENVDB_BUILD_PYTHON_UNITTESTS
to disable or enable the python module tests and fixed the required environment for them on Windows. The python interpreter is no longer required by default if the tests are disabled.BLOSC_USE_EXTERNAL_SOURCES
to FindBlosc to include blosc dependencies as interface libraries.USE_STATIC_DEPENDENCIES
to force CMake to only locate static libraries on UNIX. On Windows, if enabled, located libraries are assumed to be static.CMAKE_MSVC_RUNTIME_LIBRARY
for compilers that target the MSVC ABI. Requires CMake 3.15 or greater.OPENVDB_OPENEXR_STATICLIB
was not being defined and OPENEXR_DLL
was being defined when linking against static builds of OpenEXR/IlmBase on Windows.OPENVDB_2_ABI_COMPATIBLE
and OPENVDB_3_ABI_COMPATIBLE
macros.CONCURRENT_MALLOC
CMake option now only applies to the executables.OpenVDB::openvdb_je
interface target through the FindOpenVDB CMake module which adds Jemalloc as a link time dependency.Some changes in this release (see ABI changes below) alter the grid ABI so that it is incompatible with earlier versions of the OpenVDB library, such as the ones built into Houdini up to and including Houdini 18. To preserve ABI compatibility, when compiling OpenVDB or any dependent code define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 5 for Houdini 17.0 and 17.5 and 6 for Houdini 18.0.As of this release, a C++14 compiler is required and the oldest supported Houdini version is 17.0.
Xxx_ROOT
variables.USE_SYSTEM_LIBRARY_PATHS
option with DISABLE_CMAKE_SEARCH_PATHS
and removed the hard coded list of SYSTEM_LIBRARY_PATHS
in favor of using CMake's default search procedure. SYSTEM_LIBRARY_PATHS
can still be used as a global list of paths for all dependency searches.FindJemalloc.cmake
where paths were not being handled correctly.CMakeLists.txt
. [Reported by Daniel Elliott]FindOpenVDB.cmake
now correctly propagates CXX
version requirements.USE_COLORED_OUTPUT
option to CMake to display compiler output in color.OPENVDB_CODE_COVERAGE
option to CMake.OPENVDB_USE_DEPRECATED_ABI
(or set the CMake OPENVDB_USE_DEPRECATED_ABI
option to ON
) to suppress deprecation messages when compiling OpenVDB or dependent code..so
for the Python module on Linux and Unix platforms.opsparedata
HScript command and hou.NodeType.spareData
and hou.NodeType.spareDataDict
methods to retrieve spare data associated with operator types.pythonrc.py
startup script to set the tab menu visibility of nodes and their native Houdini equivalents, based on an OPENVDB_OPHIDE_POLICY
environment variable."vdb6.2.0 houdini18.0.222"
.As of this release, the oldest supported Houdini version is 16.5.
vdb_print
, etc.) now include the library ABI version in their -version
output.[[1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,0,1]]
).Some changes in this release (see ABI changes below) alter the grid ABI so that it is incompatible with earlier versions of the OpenVDB library, such as the ones built into Houdini up to and including Houdini 17. To preserve ABI compatibility, when compiling OpenVDB or any dependent code define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 3 for Houdini 15, 15.5 and 16, 4 for Houdini 16.5 and 5 for Houdini 17.0.
leafmode
, internalmode
, tilemode
and voxelmode
parameters to leafstyle
, internalstyle
, etc. and converted them from ordinals to strings.header_test
Makefile target that checks library header files for dependencies on missing or indirectly included headers. [Contributed by Dan Bailey]matchGroup(*gdp, evalStdString("group", time))
.const_cast
the GU_Detail. [Contributed by Jeff Lait]final
(that is, non-overridable) to facilitate the implementation of compilable SOPs. Override SOP_NodeVDB::cookVDBSop instead. (In most cases, it suffices to rename cookMySop to cookVDBSop.)Some changes in this release (see ABI changes below) alter the grid ABI so that it is incompatible with earlier versions of the OpenVDB library, such as the ones built into Houdini up to and including Houdini 16. To preserve ABI compatibility, when compiling OpenVDB or any dependent code define the macro
OPENVDB_ABI_VERSION_NUMBER=
N, where, for example, N is 3 for Houdini 15, 15.5 and 16 and 4 for Houdini 16.5.
"5.0.0abi3"
..vdb
file, and although their values are not printable, they can be written back to disk.DESTDIR_LIB_DIR
Makefile variable for Linux multiarch support. [Contributed by Mathieu Malaterre]OPENVDB_2_ABI_COMPATIBLE
and OPENVDB_3_ABI_COMPATIBLE
macros in favor of a new OPENVDB_ABI_VERSION_NUMBER
macro. The new macro defaults to the library major version number but can be set at compile time to an earlier version number to disable ABI changes since that version. (Older ABIs will not be supported indefinitely, however.) For example, compile OpenVDB and any dependent code with -DOPENVDB_ABI_VERSION_NUMBER=4
to use the 4.x ABI.vdb_test -f
option that reads a list of tests to be run from a text file.vdb_view
. [Contributed by Nick Avramoussis]vdb_view
.for
loops.Note: To preserve ABI compatibility, this fix is currently enabled only on platforms for which the alignment of a
tbb::atomic<uint32_t>
is the same as for auint32_t
. On other platforms, warnings will be logged during OpenVDB initialization, and it is recommended to disable delayed loading in that case (for example, by defining the environment variableOPENVDB_DISABLE_DELAYED_LOAD
).
.vdb
file UUIDs to avoid duplicate IDs. [Reported by Jason Lefley]houdini_utils::OpFactory
can generate help cards for operators automatically. New OpFactory::setDocumentation
and ParmFactory::setDocumentation
methods allow one to add custom help text in wiki markup format.-shuffle
option that causes vdb_test
to run unit tests in random order, which can help to identify unintended dependencies between tests.vdb_lod
, a command-line tool to generate volume mipmaps for level-of-detail effects.install_lib
build target to the Makefile. [Contributed by Double Negative]getLoggingLevel
, setLoggingLevel
, and setProgramName
, to allow configuration of the logging system.houdini_utils::ParmFactory::setGroupChoiceList
, a convenience method for the creation of menus of primitive groups.hython
to report a DSO error. [Reported by Double Negative]install_lib
build target to the Makefile.openvdb_houdini::startLogForwarding
, openvdb_houdini::stopLogForwarding
and openvdb_houdini::isLogForwarding
, which control the forwarding of log messages to Houdini’s error manager. Forwarding of library warnings and error messages is now enabled by default for SOPs when OpenVDB is built with log4cplus..vdb
files are now as much as 20% smaller.Note: This change and other changes in this release (see ABI changes below) alter the grid ABI so that it is incompatible with earlier versions of the OpenVDB library, such as the ones built into Houdini 15, 15.5 and 16. To disable these changes and preserve ABI compatibility, define the macro
OPENVDB_3_ABI_COMPATIBLE
when compiling OpenVDB or any code that depends on OpenVDB.
io::File::readGridPartial
. [Reported by Nick Avramoussis]boost::shared_ptr
with std::shared_ptr
.LeafManager::getPreFixSum
to LeafManager::getPrefixSum.LeafNode::Buffer
a top-level class and renamed it to LeafBuffer. [Contributed by Double Negative]io::File::readGridPartial
in favor of delayed loading.tools::ClosestSurfacePoint::initialize
now returns a boolean indicating whether initialization was successful.CopyPolicy
enum and added GridBase::copyGridWithNewTree and Grid::copyWithNewTree in order to close const-correctness holes that allowed newly-constructed, non-const
grids to share their trees with existing const
grids. (Where that behavior is still required, use a ConstPtrCast.)OPENVDB_3_ABI_COMPATIBLE
when compiling OpenVDB or any code that depends on OpenVDB.bool
were ignored during equality comparisons.math::Mat3::setBasis
and math::Mat4::setBasis
.GudonovsNormSqrd
to GodunovsNormSqrd [Contributed by Branislav Radjenovic]ValueType
to PosType
in the PointArray interface.TestPoissonSolver::testSolveWithSegmentDomain
for an example in which this tool is used to identify regions of trapped fluid when solving for pressure in a volume of incompressible fluid.)-version
option to vdb_print
, vdb_render
and vdb_view
.OPENVDB_USE_BLOSC
was #define
d when compiling client code.vdb_view
issue whereby the frame buffer size did not necessarily match the window size. [Contributed by Rafael Campos]math::Hermite
class since it was no longer used and caused build issues for some.pscale
attribute.openvdb_houdini::SOP_NodeVDB::duplicateSourceStealable()
, which in conjunction with the Unload flag can help to minimize deep copying of grids between nodes. The Advect, Convert, Fill, Filter, Fracture, Noise, Offset Level Set, Prune, Remap, Remove Divergence, Renormalize Level Set, Resize Narrow Band, Smooth Level Set and Transform SOPs all have this optimization enabled, meaning that they can potentially steal, rather than copy, data from upstream nodes that have the Unload flag enabled. [Contributed by Double Negative].vdb
files, meaning that memory is not allocated for voxel values until the values are actually accessed. (This feature is enabled by default.) Until a grid has been fully loaded, its source .vdb
file must not be modified or deleted, so for safety, File::open automatically makes private copies of source files that are smaller than a user-specified limit (see io::File::setCopyMaxBytes()). The limit can be set to zero to disable copying, but if it cannot be guaranteed that a file will not be modified, then it is best not to enable delayed loading for that file..vdb
files can now optionally be compressed with the Blosc LZ4 codec. Blosc compresses almost as well as ZLIB, but it is much faster.Tree::prune
.Tree::signedFloodFill
.Tree::setBackground()
.tools::topologyToLevelSet()
, which generates a level set from the implicit boundary between active and inactive voxels in an arbitrary input grid. [DWA internal]vdb_render
that allows one to specify a reference grid to be used for material color lookups.io::File::readGridPartial
allocates the nodes of a grid’s tree as before, but it now allocates leaf nodes without data buffers. (This feature is mainly for internal use. Partially-read grids should be used with care if at all, and they should be treated as read-only.)unittest_util::CpuTimer
from unittest/util.h
.getopt
for command-line argument parsing in vdb_test
.vdb_view
is now compatible with both GLFW 2 and GLFW 3.HALF_INCL_DIR
and HALF_LIB_DIR
Makefile variables with ILMBASE_INCL_DIR
and ILMBASE_LIB_DIR
and added ILMBASE_LIB
, to match OpenEXR’s library organization. [Contributed by Double Negative]OPENVDB_2_ABI_COMPATIBLE
when compiling OpenVDB to disable these changes and preserve ABI compatibility.uint32_t
argument indicating the type of compression instead of a bool
indicating whether compression is enabled.io::Archive::isCompressionEnabled()
and io::Archive::setCompressionEnabled()
and renamed io::Archive::compressionFlags()
and io::Archive::setCompressionFlags()
to io::Archive::compression and io::Archive::setCompression.pruneInactive
and pruneLevelSet
methods from the Tree and various node classes. These methods have been replaced by the much faster pruning functions found in tools/Prune.h.signedFloodFill
methods from the Grid, Tree and various node classes. These methods have been replaced by the much faster functions found in tools/SignedFloodFill.h.Grid::setBackground()
and Tree::setBackground()
(use the faster changeBackground tool instead), and removed the default argument from RootNode::setBackground.convertToPolygons()
and convertToQuads()
, which convert volumes to meshes, and createLevelSetFromPolygons()
, which converts meshes to volumes. NumPy is required.INSTALL
file for details.vdb_render
command-line renderer.vdb_render
to specify the isovalue of the level set..vdb
files could not be read correctly if they contained grids with more than two distinct inactive values..vdb
files. The first unnamed grid in a file is now retrieved using the name “[0]
”, instead of “[1]
”.int
to distinguish tile vs. voxel hits. Instead, it now returns false
if no intersection is detected and true
otherwise. Also, t0 and t1 might now correspond to the first and last hits of multiple adjacent leaf nodes and/or active tiles..vdb
file format has changed slightly. Tools built with older versions of OpenVDB should be recompiled to ensure that they can read files in the new format.ValueType
s of the two trees need not be the same.rand()
(which is not thread-safe), and deprecated math::randUniform()
and added math::Random01 to replace it.NaN
s or other incorrect behavior if certain methods were called on populations of size zero.struct tolerance
to math::Tolerance and negative
to math::negative and removed math::toleranceValue()
.LeafNode::coord2offset()
, LeafNode::offset2coord()
and LeafNode::offset2globalCoord()
to coordToOffset, offsetToLocalCoord, and offsetToGlobalCoord, respectively, and likewise for InternalNode. [Thanks to Rick Hankins for suggesting this change.]setValueOnMin
, setValueOnMax
and setValueOnSum
with tools::setValueOnMin, tools::setValueOnMax and tools::setValueOnSum (and a new tools::setValueOnMult) and added Tree::modifyValue and Tree::modifyValueAndActiveState, which modify voxel values in-place via user-supplied functors. Similarly, replaced ValueAccessor::setValueOnSum()
with ValueAccessor::modifyValue and ValueAccessor::modifyValueAndActiveState, and added a modifyValue method to all value iterators.LeafNode::addValue
and LeafNode::scaleValue
.LeafNode::addValue
and LeafNode::scaleValue
.GU_PrimVDB::buildFromPrimVolume()
, seen during the conversion from Houdini volumes to OpenVDB grids, that could cause signed flood fill to be applied to non-level set grids, resulting in active tiles with incorrect values.CoordBBox
can be used as a blocked iteration range.vdb_view
when stepping through multiple grids after changing render modes.vdb_view
can now render fog volumes and vector fields, and it now features interactively adjustable clipping planes that enable one to view the interior of a volume.true
, the grid’s background value is now also quantized to 16 bits. (Not quantizing the background value caused a mismatch with the values of background tiles.)const
tree, although buffer swapping with const
trees is disabled.vdb_view
.vdb_view
to use the faster and less memory-intensive OpenVDB volume to mesh converter instead of marching cubes, and rewrote the shader to be OpenGL 3.2 and GLSL 1.2 compatible.vdb_view
now displays one grid at a time. The left and right arrow keys cycle between grids.vdb_view
to compile on OS X systems (provided that GLFW is available).
.vdb files are now saved using a mask-based compression scheme that is an order of magnitude faster than ZLIB and produces comparable file sizes for level set and fog volume grids. (ZLIB compression is still enabled by default for other classes of grids).Transform
, Map
and Mat4
classes and deprecated the old accumulation methods.tools::dilateVoxels()
.Hermite
data type and Hermite grids are no longer supported.voxelDimensions
to voxelSize
in transform classes and elsewhere.houdini_utils::ParmFactory::setChoiceList
in favor of houdini_utils::ParmFactory::setChoiceListItems
, which requires a list of token, label string pairs.houdini_utils::getNodeChain()
that caused the Offset Level Set, Smooth Level Set and Renormalize Level Set SOPs to ignore frame changes. [Contributed by SESI]houdini_utils::ParmFactory
can now correctly generate ramp multi-parms.name
attribute unnecessarily (i.e., if its grid’s name is empty), but it now correctly allows the name to be changed to the empty string.getNodeBoundingBox
method to RootNode, InternalNode and LeafNode that returns the index space spanned by a node.houdini_utils
library to facilitate the collection of a chain of adjacent nodes of a particular type so that they can be cooked in a single step. (For example, adjacent xform
SOPs could be collapsed by composing their transformation matrices into a single matrix.)const
tree and transform references without triggering deep copies, as well as const
methods that return const
shared pointers.Grid
methods to populate a grid’s metadata with statistics like the active voxel count, and to retrieve that metadata. By default, statistics are now computed and added to grids whenever they are written to .vdb
files..vdb
file.vdb_view
with the ordering of GL vertex buffer calls. [Contributed by Bill Katz]ParticlesToLevelSet
tool and From Particles SOP can now transfer arbitrary point attribute values from the input particles to output voxels.LeafArray
class. LeafManager
supports dynamic buffers stored as a structure of arrays (SOA), unlike LeafArray
, which supports only static buffers stored as an array of structures (AOS).ParmFactory::setChoiceList()
overload that accepts (token, label) string pairs, and a setDefault()
overload that accepts an STL string.LeafArray
but supports a dynamic buffer count and allocates buffers more efficiently. Useful for temporal integration (e.g., for level set propagation and interface tracking), LeafManager
is meant to replace LeafArray
, which will be deprecated in the next release.Tree::pruneLevelSet()
as a Tree::pruneOp()-compatible functor. Tree::LevelSetPrune is a specialized Tree::pruneInactive for level-set grids and is used in interface tracking.tools::dilate
to tools::dilateVoxels()
and improved its performance. The new name reflects the fact that the current implementation ignores active tiles.processTypedGrid
that resample grids in several different ways.houdini_utils::OpFactory
that allows for customization of operator names, icons, and Help URLs.Mat3
.Tree::pruneLevelSet
method that is similar to but faster than Tree::pruneInactive() for level set grids.LeafArray
for finer control of parallelism.doc
, vdb_test
and vdb_view
targets.houdini/UT_VDBUtils.h
) to convert between Houdini and OpenVDB matrix and vector types. [Contributed by SESI]GEO_PrimVDB
that make it easier to directly access voxel data and that are used by the HScript volume expression functions in Houdini 12.5. [Contributed by SESI]setValue*
() and fill()
methods that could cause neighboring voxels to become inactive.vdb_view
no longer aborts when asked to surface a vector-valued grid—but it still doesn’t render the surface.setValueOn
.tools/FastSweeping.h
. It will be replaced with a much more efficient implementation in the near future..vdb
files is now optional, but enabled by default. [Contributed by SESI]openvdb_houdini::Interrupter::start()
and end()
calls.CopyPolicy
argument to GridBase::copyGrid and to Grid::copy that specifies whether and how the grid’s tree should be copied.librt
to the link dependencies to address build failures on Ubuntu systems."name[1]"
, "name[2]"
, etc. if a file contains multiple grids with the same name.Tree
methods, evalActiveVoxelBoundingBox() and memUsage().GridMap
class. File I/O now uses STL containers of grid pointers instead.