OpenVDB
12.1.0
|
Utility classes and functions for OpenVDB plugins. More...
#include <GU/GU_PrimVDB.h>
#include <OP/OP_Node.h>
#include <UT/UT_SharedPtr.h>
#include <UT/UT_Interrupt.h>
#include <UT/UT_Version.h>
#include <openvdb/openvdb.h>
#include <openvdb/util/NullInterrupter.h>
#include <functional>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | VdbPrimCIterator |
Iterator over const VDB primitives on a geometry detail. More... | |
class | VdbPrimIterator |
Iterator over non-const VDB primitives on a geometry detail. More... | |
class | HoudiniInterrupter |
Wrapper class that adapts a Houdini UT_Interrupt object for use with OpenVDB library routines. More... | |
class | Interrupter |
Deprecated wrapper class with the same interface as HoudiniInterrupter, however it does not derive from openvdb::util::NullInterrupter. Intended for backwards-compatibility only. More... | |
Namespaces | |
openvdb_houdini | |
Typedefs | |
using | OP_InputIdx = unsigned |
using | OP_OutputIdx = unsigned |
using | Grid = openvdb::GridBase |
using | GridPtr = openvdb::GridBase::Ptr |
using | GridCPtr = openvdb::GridBase::ConstPtr |
using | GridRef = openvdb::GridBase & |
using | GridCRef = const openvdb::GridBase & |
using | ScalarGridTypes = openvdb::TypeList< openvdb::BoolGrid, openvdb::FloatGrid, openvdb::DoubleGrid, openvdb::Int32Grid, openvdb::Int64Grid > |
using | NumericGridTypes = openvdb::TypeList< openvdb::FloatGrid, openvdb::DoubleGrid, openvdb::Int32Grid, openvdb::Int64Grid > |
using | RealGridTypes = openvdb::TypeList< openvdb::FloatGrid, openvdb::DoubleGrid > |
using | Vec3GridTypes = openvdb::TypeList< openvdb::Vec3SGrid, openvdb::Vec3DGrid, openvdb::Vec3IGrid > |
using | PointGridTypes = openvdb::TypeList< openvdb::points::PointDataGrid > |
using | VolumeGridTypes = ScalarGridTypes::Append< Vec3GridTypes > |
using | AllGridTypes = VolumeGridTypes::Append< PointGridTypes > |
Functions | |
OPENVDB_HOUDINI_API GU_PrimVDB * | createVdbPrimitive (GU_Detail &gdp, GridPtr grid, const char *name=nullptr) |
Store a VDB grid in a new VDB primitive and add the primitive to a geometry detail. More... | |
OPENVDB_HOUDINI_API GU_PrimVDB * | replaceVdbPrimitive (GU_Detail &gdp, GridPtr grid, GEO_PrimVDB &src, const bool copyAttrs=true, const char *name=nullptr) |
Replace an existing VDB primitive with a new primitive that contains the given grid. More... | |
OPENVDB_HOUDINI_API bool | evalGridBBox (GridCRef grid, UT_Vector3 corners[8], bool expandHalfVoxel=false) |
Return in corners the corners of the given grid's active voxel bounding box. More... | |
OPENVDB_HOUDINI_API openvdb::CoordBBox | makeCoordBBox (const UT_BoundingBox &, const openvdb::math::Transform &) |
Construct an index-space CoordBBox from a UT_BoundingBox. More... | |
template<typename GridTypeListT , typename OpT > | |
bool | GEOvdbApply (const GEO_PrimVDB &vdb, OpT &op) |
If the given primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid. More... | |
template<typename GridTypeListT , typename OpT > | |
bool | GEOvdbApply (GEO_PrimVDB &vdb, OpT &op, bool makeUnique=true) |
If the given primitive's grid resolves to one of the listed grid types, invoke the functor op on the resolved grid. More... | |
OPENVDB_HOUDINI_API void | startLogForwarding (OP_OpTypeId) |
Start forwarding OpenVDB log messages to the Houdini error manager for all operators of the given type. More... | |
OPENVDB_HOUDINI_API void | stopLogForwarding (OP_OpTypeId) |
Stop forwarding OpenVDB log messages to the Houdini error manager for all operators of the given type. More... | |
OPENVDB_HOUDINI_API bool | isLogForwarding (OP_OpTypeId) |
Return true if OpenVDB messages logged by operators of the given type are forwarded to the Houdini error manager. More... | |
Utility classes and functions for OpenVDB plugins.
using OP_InputIdx = unsigned |
using OP_OutputIdx = unsigned |