OpenVDB: houdini_utils Namespace Reference

OpenVDB 7.1.0

Classes | Typedefs | Functions | Variables
houdini_utils Namespace Reference

Utilities to collect a chain of adjacent nodes of a particular type so that they can be cooked in a single step. More...

## Classes
class | OP_EvalScope
| Constructing an OP_EvalScope object allows one to temporarily (for the duration of the current scope) set the evaluation context and time for a node other than the one that is currently being cooked. More...
class | OpFactory
| Helper class to simplify operator registration. More...
class | OpPolicy
| An OpPolicy customizes the behavior of an OpFactory. This base class specifies the required interface. More...
class | ParmFactory
| Helper class to simplify construction of PRM_Templates and dynamic user interfaces. More...
class | ParmList
| Parameter template list that is always terminated. More...
class | ScopedInputLock
| Helper class to manage input locking. More...

## Typedefs
using | SpareDataMap = std::map< std::string, std::string >
using | OpPolicyPtr = std::shared_ptr< OpPolicy >

## Functions
template<typename NodeType >
OPENVDB_DEPRECATED std::vector< NodeType * > | getNodeChain (OP_Context &context, NodeType *startNode, bool addInterest=true)
| Return a list of adjacent, uncooked nodes of the given `NodeType`, starting from startNode and traversing the network upstream along input 0 connections. More...
const SpareDataMap & | getOperatorSpareData (const OP_Operator &)
| Return the spare data associated with the given operator. More...
void | addOperatorSpareData (OP_Operator &, const SpareDataMap &)
| Specify (key, value) pairs of spare data for the given operator. More...

## Variables
OPENVDB_HOUDINI_API const PRM_ChoiceList | PrimGroupMenuInput1
OPENVDB_HOUDINI_API const PRM_ChoiceList | PrimGroupMenuInput2
OPENVDB_HOUDINI_API const PRM_ChoiceList | PrimGroupMenuInput3
OPENVDB_HOUDINI_API const PRM_ChoiceList | PrimGroupMenuInput4
OPENVDB_HOUDINI_API const PRM_ChoiceList | PrimGroupMenu

## Detailed Description

Utilities to collect a chain of adjacent nodes of a particular type so that they can be cooked in a single step.

Author
  FX R&D Simulation team

For example, adjacent xform SOPs could be collapsed by composing their transformation matrices into a single matrix.

## Typedef Documentation

## ◆ OpPolicyPtr

using OpPolicyPtr = std::shared_ptr<OpPolicy>

## ◆ SpareDataMap

using SpareDataMap = std::map<std::string, std::string>

## Function Documentation

## ◆ addOperatorSpareData()

void houdini_utils::addOperatorSpareData | ( | OP_Operator & | ,
|  | const SpareDataMap & |
| ) |  |

Specify (key, value) pairs of spare data for the given operator.

For existing keys, the new value replaces the old one.

Exceptions

  std::runtime_error | if the given operator does not support spare data (only operators created with OpFactory will have spare data)

See also
  getOperatorSpareData, OpFactory::addSpareData

## ◆ getNodeChain()

OPENVDB_DEPRECATED std::vector<NodeType*> houdini_utils::getNodeChain | ( | OP_Context & | context,
|  | NodeType * | startNode,
|  | bool | addInterest = `true`
| ) |  |
| inline

Return a list of adjacent, uncooked nodes of the given `NodeType`, starting from startNode and traversing the network upstream along input 0 connections.

The list is ordered from the topmost node to startNode.

Note
  Lock the inputs of the topmost node before cooking the chain.

Deprecated:
  This functionality has been marked as deprecated as OpenVDB is no longer using this due to changes relating to verbification. Please get in touch with the Technical Steering Committee if you are still relying on this code and would like it to remain in the houdini_utils library.

## ◆ getOperatorSpareData()

const SpareDataMap& houdini_utils::getOperatorSpareData | ( | const OP_Operator & |  | ) |

Return the spare data associated with the given operator.

Only operators created with OpFactory will have spare data.

See also
  addOperatorSpareData, OpFactory::addSpareData

## Variable Documentation

## ◆ PrimGroupMenu

OPENVDB_HOUDINI_API const PRM_ChoiceList PrimGroupMenu

Note
  Use this if you have more than 4 inputs, otherwise use the input specific menus instead which automatically handle the appropriate spare data settings.

## ◆ PrimGroupMenuInput1

OPENVDB_HOUDINI_API const PRM_ChoiceList PrimGroupMenuInput1

## ◆ PrimGroupMenuInput2

OPENVDB_HOUDINI_API const PRM_ChoiceList PrimGroupMenuInput2

## ◆ PrimGroupMenuInput3

OPENVDB_HOUDINI_API const PRM_ChoiceList PrimGroupMenuInput3

## ◆ PrimGroupMenuInput4

OPENVDB_HOUDINI_API const PRM_ChoiceList PrimGroupMenuInput4