8#include "MRPch/MRBindingMacros.h"
24 [[nodiscard]]
size_t heapBytes()
const {
return memUsage(); }
38 return std::make_shared<OpenVdbFloatGrid>( std::move( *p ) );
41MR_BIND_IGNORE
inline Vector3i
fromVdb(
const openvdb::Coord & v )
43 return Vector3i( v.x(), v.y(), v.z() );
46MR_BIND_IGNORE
inline openvdb::Coord
toVdb(
const Vector3i & v )
48 return openvdb::Coord( v.x, v.y, v.z );
51MR_BIND_IGNORE
inline openvdb::CoordBBox
toVdbBox(
const Box3i& box )
53 return openvdb::CoordBBox(
toVdb( box.min ),
toVdb( box.max ) );
56MR_BIND_IGNORE
inline openvdb::CoordBBox
toVdbBox(
const Vector3i& dims )
58 return openvdb::CoordBBox(
toVdb( Vector3i( 0, 0, 0 ) ),
59 toVdb( Vector3i( dims ) - Vector3i::diagonal(1) ) );
#define MRVOXELS_CLASS
Definition MRVoxels/MRVoxelsFwd.h:14
MR_BIND_IGNORE FloatGrid MakeFloatGrid(const FloatGrid &)=delete
prohibit unnecessary conversion
MR_BIND_IGNORE openvdb::FloatGrid & ovdb(OpenVdbFloatGrid &v)
Definition MRVDBFloatGrid.h:27
MR_BIND_IGNORE Vector3i fromVdb(const openvdb::Coord &v)
Definition MRVDBFloatGrid.h:41
MR_BIND_IGNORE openvdb::Coord toVdb(const Vector3i &v)
Definition MRVDBFloatGrid.h:46
MR_BIND_IGNORE openvdb::CoordBBox toVdbBox(const Box3i &box)
Definition MRVDBFloatGrid.h:51
std::shared_ptr< OpenVdbFloatGrid > FloatGrid
Definition MRVoxels/MRVoxelsFwd.h:25
this class just hides very complex type of typedef openvdb::FloatGrid
Definition MRVDBFloatGrid.h:21
OpenVdbFloatGrid() noexcept=default
size_t heapBytes() const
Definition MRVDBFloatGrid.h:24