Loading...
Searching...
No Matches
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
using | NumericGridTypes
using | RealGridTypes
using | Vec3GridTypes
using | PointGridTypes
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