7#ifndef PXR_EXEC_EF_LEAF_NODE_H
8#define PXR_EXEC_EF_LEAF_NODE_H
14#include "pxr/exec/ef/api.h"
20PXR_NAMESPACE_OPEN_SCOPE
22#define EF_LEAF_TOKENS \
94 return &(*input)[0].GetSourceOutput();
104 return (*input)[0].GetSourceMaskedOutput();
109PXR_NAMESPACE_CLOSE_SCOPE
A terminal node, which is never executed.
static const EfLeafNode * AsALeafNode(const VdfNode *const node)
If node is an EfLeafNode, returns a pointer to it as a const EfLeafNode*.
static const VdfOutput * GetSourceOutput(const VdfNode &node)
Returns the single output the leaf node sources its value from.
static bool IsALeafNode(const VdfNode &node)
Returns true if the given node is an EfLeafNode.
static EfLeafNode * AsALeafNode(VdfNode *const node)
If node is an EfLeafNode, returns a pointer to it as an EfLeafNode*.
static VdfMaskedOutput GetSourceMaskedOutput(const VdfNode &node)
Returns the single masked output the leaf node sources its value from.
TfType represents a dynamic runtime type.
A context is the parameter bundle passed to callbacks of computations.
Class to hold on to an externally owned output and a mask.
A VdfNetwork is a collection of VdfNodes and their connections.
This is the base class for all nodes in a VdfNetwork.
const InputMapIterator GetInputsIterator() const
Returns an iterator class that can be used with TF_FOR_ALL to iterate through the inputs.
size_t GetNumOutputs() const
Returns the number of outputs that this node currently has.
bool IsA() const
Returns true, if this node is of type TYPE.
virtual void Compute(const VdfContext &context) const =0
This is the method called to perform computation.
A VdfOutput represents an output on a node.
This file defines some macros that are useful for declaring and using static TfTokens.
#define TF_DECLARE_PUBLIC_TOKENS(...)
Macro to define public tokens.