HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VdfRootNode Class Reference

#include <rootNode.h>

+ Inheritance diagram for VdfRootNode:

Static Public Member Functions

static bool IsARootNode (const VdfNode &node)
 
- Static Public Member Functions inherited from VdfNode
static VdfIndex GetIndexFromId (const VdfId id)
 
static VdfVersion GetVersionFromId (const VdfId id)
 

Protected Member Functions

 VdfRootNode (VdfNetwork *network, const VdfOutputSpecs &outputSpecs)
 
VDF_API ~VdfRootNode () override
 
- Protected Member Functions inherited from VdfNode
VDF_API VdfNode (VdfNetwork *network)
 
VDF_API void _AppendInputs (const VdfInputSpecs &inputSpecs, std::vector< VdfInput * > *resultingInputs=NULL)
 
VDF_API void _AppendOutputs (const VdfOutputSpecs &outputSpecs, std::vector< VdfOutput * > *resultingOutputs=NULL)
 
virtual VDF_API bool _IsDerivedEqual (const VdfNode &rhs) const
 
virtual VDF_API void _DidAddInputConnection (const VdfConnection *c, int atIndex)
 
virtual VDF_API void _WillRemoveInputConnection (const VdfConnection *c)
 
virtual VDF_API ~VdfNode ()
 
void _SetId (const VdfVersion version, const VdfIndex index)
 
virtual VDF_API VdfMask _ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const
 
virtual VDF_API bool _ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const
 
virtual VDF_API
VdfConnectionAndMaskVector 
_ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const
 
virtual VDF_API VdfMask::Bits _ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const
 
virtual VDF_API
VdfConnectionAndMaskVector 
_ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const
 
virtual VDF_API const
VdfInputAndOutputSpecs
_AcquireInputAndOutputSpecsPointer (const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs)
 
virtual VDF_API void _ReleaseInputAndOutputSpecsPointer (const VdfInputAndOutputSpecs *specs)
 
VDF_API void _InitializeInputAndOutputSpecs (const VdfInputAndOutputSpecs *specs)
 
VDF_API void _ClearInputAndOutputSpecsPointer ()
 
VDF_API void _ReplaceInputSpecs (const VdfInputSpecs &inputSpecs)
 

Additional Inherited Members

- Public Member Functions inherited from VdfNode
 TF_MALLOC_TAG_NEW ("Vdf","new VdfNode")
 
VDF_API VdfNode (VdfNetwork *network, const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs)
 
VdfId GetId () const
 
const VdfNetworkGetNetwork () const
 
VdfNetworkGetNetwork ()
 
template<typename TYPE >
bool IsA () const
 
VDF_API bool IsEqual (const VdfNode &rhs) const
 
const VdfInputSpecsGetInputSpecs () const
 
const VdfInputGetInput (const TfToken &inputName) const
 
VDF_API VdfInputGetInput (const TfToken &inputName)
 
const InputMapIterator GetInputsIterator () const
 
bool HasInputConnections () const
 
bool HasOutputConnections () const
 
VDF_API VdfConnectionVector GetInputConnections () const
 
VDF_API VdfConnectionVector GetOutputConnections () const
 
const VdfOutputSpecsGetOutputSpecs () const
 
const VdfOutputGetOutput (const TfToken &name) const
 
VDF_API VdfOutputGetOutput (const TfToken &name)
 
VDF_API VdfOutputGetOptionalOutput (const TfToken &name)
 
const VdfOutputGetOptionalOutput (const TfToken &name) const
 
const VdfOutputGetOutput () const
 
VDF_API VdfOutputGetOutput ()
 
const OutputMapIterator GetOutputsIterator () const
 
size_t GetNumOutputs () const
 
size_t GetNumInputs () const
 
VDF_API void SetDebugName (const std::string &name)
 
template<class F >
void SetDebugNameCallback (F &&f)
 
VDF_API void SetDebugNameCallback (VdfNodeDebugNameCallback &&callback)
 
VDF_API const std::string GetDebugName () const
 
virtual VDF_API size_t GetMemoryUsage () const
 
virtual VDF_API bool IsSpeculationNode () const
 
virtual VDF_API
VdfRequiredInputsPredicate 
GetRequiredInputsPredicate (const VdfContext &context) const
 
VDF_API VdfMask ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const
 
VDF_API void ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const
 
VDF_API VdfMask::Bits ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const
 
VDF_API VdfConnectionAndMaskVector ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const
 
VDF_API VdfConnectionAndMaskVector ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const
 
- Static Protected Member Functions inherited from VdfNode
template<typename BaseClassType , typename ClassType >
static size_t _GetMemoryUsage (const ClassType &c, size_t dynamicSize)
 

Detailed Description

Base class for root nodes.

A root node is a node that does not have any inputs and Compute() method. Instead it has output(s) that are manually initialized. As such, the outputs can never be passed. Downstream nodes might see no data (ie. VdfContext::HasInputValue() will return false), if outputs have not been initialized manually.

Definition at line 29 of file rootNode.h.

Constructor & Destructor Documentation

VdfRootNode::VdfRootNode ( VdfNetwork network,
const VdfOutputSpecs outputSpecs 
)
inlineprotected

Note that VdfRootNodes don't have inputs.

Definition at line 44 of file rootNode.h.

VDF_API VdfRootNode::~VdfRootNode ( )
overrideprotected

Member Function Documentation

static bool VdfRootNode::IsARootNode ( const VdfNode node)
inlinestatic

Returns true if the given node is a VdfRootNode. This method is an accelerated alternative to IsA<VdfRootNode>() or dynamic_cast.

Definition at line 36 of file rootNode.h.


The documentation for this class was generated from the following file: