blender/intern
Jacques Lucke 522f9c9834 Volumes: improve tree access token api
There was one functional issue with the previous API which was its
use in `VolumeGrid<T>::grid_for_write(tree_token)`. The issue was
that the tree token had to be received before the grid is accessed.
However, this `grid_for_write` method might create a copy of the
`VolumeGridData` internally and if it does, the passed in `tree_token`
corresponds to the wrong tree.

The solution is to output the token as part of the method. This has two
additional benefits:
* The API is more safe, because one can't pass an r-value into the methods
  anymore. This generally shouldn't be done, because the token should
  live at least as long as the OpenVDB tree is used and shouldn't be freed
  immediatly.
* The API is a bit simpler, because it's not necessary to call the
  `VolumeGrid.tree_access_token()` method anymore.
2024-01-10 15:20:29 +01:00
..
atomic Cleanup: move CMake test utility functions into testing.cmake 2024-01-03 14:49:11 +01:00
audaspace Cleanup: use braces for sources in intern/ 2023-09-17 09:05:40 +10:00
clog Cleanup: CMake: Modernize bf_intern_clog dependencies 2023-11-24 17:12:24 +01:00
cycles Volumes: improve tree access token api 2024-01-10 15:20:29 +01:00
dualcon Mesh: Rename MLoopTri variable names, and functions 2023-12-19 14:57:49 +01:00
eigen Cleanup: remove redundant define checks 2023-12-07 10:39:03 +11:00
ffmpeg Tests: add option to build one binary per GTest file 2024-01-03 18:35:50 +01:00
ghost Fix #1092563: invalid event timestamps on X11 after 49 days uptime 2024-01-09 12:05:31 +11:00
guardedalloc Tests: add option to build one binary per GTest file 2024-01-03 18:35:50 +01:00
iksolver Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
itasc License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
libc_compat License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
libmv Cleanup: move CMake test utility functions into testing.cmake 2024-01-03 14:49:11 +01:00
locale License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
mantaflow Cleanup: use braces for sources in intern/ 2023-09-17 09:05:40 +10:00
memutil Cleanup: use braces in headers 2023-09-24 14:52:38 +10:00
mikktspace Cleanup: use braces in headers 2023-09-24 14:52:38 +10:00
opencolorio Build: support OpenColorIO 2.3 2023-10-02 19:31:19 +02:00
opensubdiv Cleanup: Remove unnecessary keywords from C++ headers 2024-01-04 15:07:48 -05:00
openvdb Volumes: refactor volume grid storage 2023-12-20 15:32:52 +01:00
quadriflow Cleanup: Replace MVertTri type with C++ vector 2023-12-20 20:59:11 -05:00
renderdoc_dynload CMake: include missing files in source files 2023-08-24 11:51:25 +10:00
rigidbody Clang Format: bump to version 17 2024-01-03 13:38:14 +01:00
sky License Headers: Set copyright to "Blender Authors", add AUTHORS 2023-08-16 00:20:26 +10:00
utfconv CMake: Fix Compiling Shader Builder on macOS 2023-12-08 15:47:14 +01:00
wayland_dynload Fix #115878: build error with LIBDECOR & WITH_GHOST_WAYLAND_DYNLOAD=OFF 2023-12-13 10:17:07 +11:00
CMakeLists.txt CMake: Fix Compiling Shader Builder on macOS 2023-12-08 15:47:14 +01:00