openvdb icon indicating copy to clipboard operation
openvdb copied to clipboard

Added PointReplicate for duplicating points and attributes

Open Idclip opened this issue 3 years ago • 2 comments

Idclip avatar May 21 '22 12:05 Idclip

Seems that we're running out of disk space for the windows debug builds :neutral_face:

Idclip avatar May 21 '22 14:05 Idclip

@danrbailey bump!

Idclip avatar Jul 19 '22 18:07 Idclip

Hi Nick, I took a look at the code last week and this looks good to me in general. Sorry for the delay in reviewing.

When attempting to build and run the unit tests, I did run into an issue on Mac where it was segfaulting for me in the testReplicateZero unit test though. It only seems to do it in release mode and not debug mode and I haven't attempted to try and reproduce on Linux yet. I suspect it's a separate issue, because empty point leaf nodes are a little odd in how they work due to having arrays of minimum size 1, but would be good to find the source of the problem before merging this to be sure.

danrbailey avatar Nov 29 '22 17:11 danrbailey

Hi Nick, I took a look at the code last week and this looks good to me in general. Sorry for the delay in reviewing.

When attempting to build and run the unit tests, I did run into an issue on Mac where it was segfaulting for me in the testReplicateZero unit test though. It only seems to do it in release mode and not debug mode and I haven't attempted to try and reproduce on Linux yet. I suspect it's a separate issue, because empty point leaf nodes are a little odd in how they work due to having arrays of minimum size 1, but would be good to find the source of the problem before merging this to be sure.

Thanks a lot @danrbailey! Hmm interesting, was it deterministic (i.e. segfaulted consistently)? The CI is all passsing, I'll rebase this and take a look

Idclip avatar Nov 29 '22 17:11 Idclip

Hi Nick, I took a look at the code last week and this looks good to me in general. Sorry for the delay in reviewing. When attempting to build and run the unit tests, I did run into an issue on Mac where it was segfaulting for me in the testReplicateZero unit test though. It only seems to do it in release mode and not debug mode and I haven't attempted to try and reproduce on Linux yet. I suspect it's a separate issue, because empty point leaf nodes are a little odd in how they work due to having arrays of minimum size 1, but would be good to find the source of the problem before merging this to be sure.

Thanks a lot @danrbailey! Hmm interesting, was it deterministic (i.e. segfaulted consistently)? The CI is all passsing, I'll rebase this and take a look

It seems to be deterministic. I built with debug symbols enabled, but it wasn't anything obvious as far as I could tell.

danrbailey avatar Nov 29 '22 17:11 danrbailey

Don't seem to be able to reproduce this. Here's my CMake command:

CMake Config
-D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/Users/nicholasa/openvdb_install -D CMAKE_CXX_FLAGS_INIT=-Wno-deprecated-declarations -D OPENVDB_CXX_STRICT=ON -D OPENVDB_CORE_SHARED=ON -D OPENVDB_CORE_STATIC=OFF -D OPENVDB_AX_SHARED=ON -D OPENVDB_AX_STATIC=OFF -D USE_EXPLICIT_INSTANTIATION=OFF -D USE_NUMPY=ON -D OPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON -D OPENVDB_BUILD_PYTHON_UNITTESTS=ON -D LLVM_DIR=/opt/homebrew/opt/llvm@14/lib/cmake/llvm -D HOUDINI_ROOT=/Applications/Houdini/Current -D OPENVDB_BUILD_HOUDINI_PLUGIN=OFF -D OPENVDB_BUILD_DOCS=OFF -D OPENVDB_BUILD_UNITTESTS=ON -D OPENVDB_BUILD_PYTHON_MODULE=ON -D OPENVDB_BUILD_VDB_AX=ON -D OPENVDB_BUILD_AX=ON -D OPENVDB_BUILD_AX_BINARIES=ON -D OPENVDB_BUILD_AX_UNITTESTS=OFF -D OPENVDB_TESTS=PointReplicate
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using ccache: /opt/homebrew/bin/ccache
-- Configuring CXX warnings
-- CMake Build Type: Release
-- Configuring for OpenVDB Version 10.0.1
-- Configuring for OpenVDB ABI Version 10
-- ----------------------------------------------------
-- ------------- Configuring OpenVDBCore --------------
-- ----------------------------------------------------
-- Found Boost: /opt/homebrew/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.73") found components: iostreams 
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Found TBB: /opt/homebrew/include (found suitable version "2021.5", minimum required is "2020.2") found components: tbb 
-- Found Blosc: /opt/homebrew/lib/libblosc.dylib (found suitable version "1.21.1", minimum required is "1.17.0") 
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libz.tbd (found suitable version "1.2.11", minimum required is "1.2.7") 
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- The C compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- ----------------------------------------------------
-- -------------- Configuring OpenVDBAX ---------------
-- ----------------------------------------------------
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libffi.tbd  
-- Performing Test Terminfo_LINKABLE
-- Performing Test Terminfo_LINKABLE - Success
-- Found Terminfo: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libcurses.tbd  
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libz.tbd (found version "1.2.11") 
-- Found LibXml2: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libxml2.tbd (found version "2.9.4") 
-- Found LLVM: /opt/homebrew/opt/llvm@14/lib/cmake/llvm (found suitable version "14.0.6", minimum required is "10.0.0")
-- ----------------------------------------------------
-- ------------ Configuring OpenVDBPython -------------
-- ----------------------------------------------------
-- Found Python: /opt/homebrew/Frameworks/Python.framework/Versions/3.10/bin/python3.10 (found version "3.10.7") found components: Development.Module Interpreter NumPy 
-- Found Python::Module: /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.10/include/python3.10) (found suitable version "3.10.7", minimum required is "3.7")
-- Found Python::NumPy: /opt/homebrew/lib/python3.10/site-packages/numpy/core/include) (found suitable version "1.23.0", minimum required is "1.19.0")
-- Found Boost: /opt/homebrew/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found suitable version "1.80.0", minimum required is "1.73") found components: python310 numpy310 
CMake Deprecation Warning at openvdb_cmd/CMakeLists.txt:25 (message):
  OPENVDB_BUILD_AX_BINARIES is deprecated.  Use OPENVDB_BUILD_VDB_AX.


-- ----------------------------------------------------
-- ----------- Configuring OpenVDBBinaries ------------
-- ----------------------------------------------------
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Found TBB: /opt/homebrew/include (found suitable version "2021.5", minimum required is "2020.2") found components: tbbmalloc 
-- Found TBB: /opt/homebrew/include (found suitable version "2021.5", minimum required is "2020.2") found components: tbbmalloc 
-- ----------------------------------------------------
-- ----------- Configuring OpenVDBUnitTests -----------
-- ----------------------------------------------------
-- Found GTest: /opt/homebrew/lib/cmake/GTest/GTestConfig.cmake (found suitable version "1.11.0", minimum required is "1.10")  
-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
-- Found TBB: /opt/homebrew/include (found suitable version "2021.5", minimum required is "2020.2") found components: tbbmalloc 
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/lib/libz.tbd (found suitable version "1.2.11", minimum required is "1.2.7") 
-- Configuring done
-- Generating done

Just rebased, building @ 1e476667b6562f654b7054670552db5464664b14

Will check the CI has passed too

Idclip avatar Nov 29 '22 17:11 Idclip

@danrbailey sorry, can reproduce this now! Will investigate

Idclip avatar Nov 29 '22 18:11 Idclip

@danrbailey thanks for catching this, I've fixed this now!

Idclip avatar Nov 29 '22 20:11 Idclip

@danrbailey thanks for catching this, I've fixed this now!

Sounds good, thanks! I'll take another look.

danrbailey avatar Nov 29 '22 22:11 danrbailey