Cortex
10.0.0-a4
|
Class representing an OP node acting as a holder for the abstract Parameterised class. More...
#include <ParameterisedHolder.h>
Public Member Functions | |
ParameterisedHolder (OP_Network *net, const char *name, OP_Operator *op) | |
virtual const char * | inputLabel (unsigned pos) const |
virtual unsigned | minInputs () const |
virtual unsigned | maxInputs () const |
ParameterisedHolderInterface implementation | |
virtual void | setParameterised (IECore::RunTimeTypedPtr p) |
virtual void | setParameterised (const std::string &className, int classVersion, const std::string &searchPathEnvVar) |
virtual bool | hasParameterised () |
Returns whether or not this node is holding a valid parameterised object. | |
virtual IECore::RunTimeTypedPtr | getParameterised () |
Returns the parameterised object held by this node. | |
virtual bool | setNodeValues () |
virtual void | setParameterisedValues (double time) |
Sets the values of the parameters of the held Parameterised object to reflect the values. | |
![]() | |
IECore::ParameterisedInterface * | getParameterisedInterface () |
Convenience method to return dynamic_cast<IECore::ParameterisedInterface *>( getParameterised().get() ) | |
Static Public Member Functions | |
className/version UI functions | |
Dynamic menus, callbacks, and helper functions for the className/version parameters. | |
static void | buildClassCategoryMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *) |
static void | buildClassNameMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *) |
static void | buildVersionMenu (void *data, PRM_Name *menu, int maxSize, const PRM_SpareData *, const PRM_Parm *) |
static int | reloadClassCallback (void *data, int index, float time, const PRM_Template *tplate) |
static int | reloadButtonCallback (void *data, int index, float time, const PRM_Template *tplate) |
static void | classNames (const std::string searchPathEnvVar, const std::string &matchString, std::vector< std::string > &names) |
static void | classVersions (const std::string className, const std::string searchPathEnvVar, std::vector< int > &versions) |
static int | defaultClassVersion (const std::string className, const std::string searchPathEnvVar) |
Protected Member Functions | |
virtual bool | load (UT_IStream &is, const char *ext, const char *path) |
virtual IECore::MessageHandler * | getMessageHandler () |
virtual void | setMessageHandler (IECore::MessageHandler *handler) |
void | updateParameter (IECore::ParameterPtr parm, float now, std::string prefix="", bool top_level=false) |
virtual void | setInputParameterValues (float now)=0 |
virtual void | refreshInputConnections ()=0 |
updates the input connections to match the current loaded parameters | |
Protected Attributes | |
IECore::CompoundParameter::ParameterVector | m_inputParameters |
bool | m_dirty |
Determines if the node is dirty. | |
Class representing an OP node acting as a holder for the abstract Parameterised class.
|
static |
|
protectedvirtual |
Load the node from disk. It checks for className/version/searchPath values on the node and attempts to reload the parameterised class from disk
|
protectedpure virtual |
Pushes the data from the incomming connections into the associated Cortex parameters. Derived classes should implement this method in a way appropriate to the context.
Implemented in IECoreHoudini::SOP_ParameterisedHolder.
|
virtual |
Implements IECoreHoudini::ParameterisedHolderInterface.
|
virtual |
Set the node to hold a particular Parameterised object. When using this version of setParameterised the node will not be able to preserve the object across scene save/load - this becomes your responsibility if it's necessary.
Implements IECoreHoudini::ParameterisedHolderInterface.
|
virtual |
Sets the Parameterised object this node is holding. An IECore.ClassLoader object will be used with searchpaths obtained from the specified environment variable to actually load the Parameterised object. This mechanism is used rather than passing a ParameterisedPtr as it allows the Parameterised object to be loaded again when a houdini scene is opened.
Implements IECoreHoudini::ParameterisedHolderInterface.
|
protected |
Update a specific Cortex parameter using values from the corresponding Houdini node parameter.
prefix | A string prefix for the houdini parameter name |
top_level | This should be true if you know the parm is the top-level CompoundParameter |
|
protected |
A vector of IECore::Parameters which are passed through node inputs rather than PRM_Templates Should be filled by refreshInputConnections() if input parameters make sense for this context.