OpenVDB: Fix compilation error against OpenVDB 4
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 25 Sep 2017 09:41:30 +0000 (14:41 +0500)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 25 Sep 2017 09:44:17 +0000 (14:44 +0500)
One crucial thing here: OpenVDB shoudl be compiled WITHOUT
OPENVDB_ENABLE_3_ABI_COMPATIBLE flag. This is how OpenVDB's Makefile is
configured and it's not really possible to detect this for a compiled library.

If we ever want to support that option, we need to add extra CMake argument and
use old version 3 API everywhere.

intern/openvdb/intern/openvdb_writer.cc

index 9237529..e886c5a 100644 (file)
@@ -45,7 +45,11 @@ void OpenVDBWriter::insert(const openvdb::GridBase::Ptr &grid)
 
 void OpenVDBWriter::insert(const openvdb::GridBase &grid)
 {
+#if (OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER == 3)
        m_grids->push_back(grid.copyGrid());
+#else
+       m_grids->push_back(grid.copyGridWithNewTree());
+#endif
 }
 
 void OpenVDBWriter::insertFloatMeta(const openvdb::Name &name, const float value)