OpenVDB  6.2.1
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 SpareDataMapgetOperatorSpareData (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

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

Function Documentation

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_errorif the given operator does not support spare data (only operators created with OpFactory will have spare data)
See also
getOperatorSpareData, OpFactory::addSpareData
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.
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

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.
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