HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EfLeafNode Class Referencefinal

A terminal node, which is never executed. More...

#include <leafNode.h>

+ Inheritance diagram for EfLeafNode:

Public Member Functions

EF_API EfLeafNode (VdfNetwork *network, TfType inputType)
 
- 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 Public Member Functions

static bool IsALeafNode (const VdfNode &node)
 
static EfLeafNodeAsALeafNode (VdfNode *const node)
 
static const EfLeafNodeAsALeafNode (const VdfNode *const node)
 
static const VdfOutputGetSourceOutput (const VdfNode &node)
 
static VdfMaskedOutput GetSourceMaskedOutput (const VdfNode &node)
 
- Static Public Member Functions inherited from VdfNode
static VdfIndex GetIndexFromId (const VdfId id)
 
static VdfVersion GetVersionFromId (const VdfId id)
 

Additional Inherited Members

- 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)
 
- Static Protected Member Functions inherited from VdfNode
template<typename BaseClassType , typename ClassType >
static size_t _GetMemoryUsage (const ClassType &c, size_t dynamicSize)
 

Detailed Description

A terminal node, which is never executed.

Leaf nodes are used for creating terminal nodes that are visited during invalidation. Invalidation callbacks on these leaf nodes causes downstream invalidation notification to be sent.

Definition at line 37 of file leafNode.h.

Constructor & Destructor Documentation

EF_API EfLeafNode::EfLeafNode ( VdfNetwork network,
TfType  inputType 
)

Member Function Documentation

static EfLeafNode* EfLeafNode::AsALeafNode ( VdfNode *const  node)
inlinestatic

If node is an EfLeafNode, returns a pointer to it as an EfLeafNode*. Otherwise, return nullptr.

Definition at line 50 of file leafNode.h.

static const EfLeafNode* EfLeafNode::AsALeafNode ( const VdfNode *const  node)
inlinestatic

If node is an EfLeafNode, returns a pointer to it as a const EfLeafNode*. Otherwise, return nullptr.

Definition at line 60 of file leafNode.h.

VdfMaskedOutput EfLeafNode::GetSourceMaskedOutput ( const VdfNode node)
inlinestatic

Returns the single masked output the leaf node sources its value from. Returns an invalid masked output if the leaf node is not connected.

Definition at line 100 of file leafNode.h.

const VdfOutput * EfLeafNode::GetSourceOutput ( const VdfNode node)
inlinestatic

Returns the single output the leaf node sources its value from. Returns nullptr if the leaf node is not connected.

Definition at line 90 of file leafNode.h.

static bool EfLeafNode::IsALeafNode ( const VdfNode node)
inlinestatic

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

Definition at line 43 of file leafNode.h.


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