OpenVDB 11.0.0

Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
Utils.h File Reference

Utility classes and functions for OpenVDB plugins. More...

`#include "GU_PrimVDB.h"`
`#include <OP/OP_Node.h>`
`#include <UT/UT_SharedPtr.h>`
`#include <UT/UT_Interrupt.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
namespace | openvdb_houdini

## Typedefs
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.
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.
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.
OPENVDB_HOUDINI_API openvdb::CoordBBox | makeCoordBBox (const UT_BoundingBox &, const openvdb::math::Transform &)
| Construct an index-space CoordBBox from a UT_BoundingBox.
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.
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.
OPENVDB_HOUDINI_API void | startLogForwarding (OP_OpTypeId)
| Start forwarding OpenVDB log messages to the Houdini error manager for all operators of the given type.
OPENVDB_HOUDINI_API void | stopLogForwarding (OP_OpTypeId)
| Stop forwarding OpenVDB log messages to the Houdini error manager for all operators of the given type.
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.

## Detailed Description

Utility classes and functions for OpenVDB plugins.

Author
  FX R&D Simulation team