![]() |
|
Base class for root nodes. More...
#include <rootNode.h>
Inheritance diagram for VdfRootNode:Static Public Member Functions | |
| static bool | IsARootNode (const VdfNode &node) |
Returns true if the given node is a VdfRootNode. | |
Static Public Member Functions inherited from VdfNode | |
| static VdfIndex | GetIndexFromId (const VdfId id) |
| Get the node index from the node id. | |
| static VdfVersion | GetVersionFromId (const VdfId id) |
| Get the node version from the node id. | |
Protected Member Functions | |
| VdfRootNode (VdfNetwork *network, const VdfOutputSpecs &outputSpecs) | |
| Note that VdfRootNodes don't have inputs. | |
Protected Member Functions inherited from VdfNode | |
| VDF_API | VdfNode (VdfNetwork *network) |
| Protected constructor. | |
| VDF_API void | _AppendInputs (const VdfInputSpecs &inputSpecs, std::vector< VdfInput * > *resultingInputs=NULL) |
| Builds inputs from the supplied input specs and appends them to the already-existing set of inputs, if any. | |
| VDF_API void | _AppendOutputs (const VdfOutputSpecs &outputSpecs, std::vector< VdfOutput * > *resultingOutputs=NULL) |
| Builds outputs from the supplied output specs and appends them to the already-existing set of outputs, if any. | |
| virtual VDF_API bool | _IsDerivedEqual (const VdfNode &rhs) const |
| Can be overridden by derived classes to facilitate equality comparision. | |
| virtual VDF_API void | _DidAddInputConnection (const VdfConnection *c, int atIndex) |
| Notifies a node that one connection has been added. | |
| virtual VDF_API void | _WillRemoveInputConnection (const VdfConnection *c) |
| Notifies a node that one connection will be removed. | |
| virtual VDF_API | ~VdfNode () |
| Protected Destructor. | |
| void | _SetId (const VdfVersion version, const VdfIndex index) |
| Sets the node id. | |
| virtual VDF_API VdfMask | _ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const |
Returns a mask that indicates which elements of the data that flows along output depend on the elements indicated by inputDependencyMask that flow in via inputConnection. | |
| virtual VDF_API bool | _ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const |
| Vectorized version of _ComputeOutputDependencyMask. | |
| virtual VDF_API VdfConnectionAndMaskVector | _ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const |
| Vectorized version of _ComputeOutputDependencyMasks. | |
| virtual VDF_API VdfMask::Bits | _ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const |
Returns a mask that indicates which elements of the data that flows along inputConnection are needed to compute the data flowing out as indicated by maskedOutput. | |
| virtual VDF_API VdfConnectionAndMaskVector | _ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const |
| Vectorized version of _ComputeInputDependencyMask. | |
| virtual VDF_API const VdfInputAndOutputSpecs * | _AcquireInputAndOutputSpecsPointer (const VdfInputSpecs &inputSpecs, const VdfOutputSpecs &outputSpecs) |
| Gets an input/output specs pointer that the node can use. | |
| virtual VDF_API void | _ReleaseInputAndOutputSpecsPointer (const VdfInputAndOutputSpecs *specs) |
| Releases an input/output specs pointer that was acquired with a previous call to _AcquireInputAndOutputSpecsPointer(). | |
| VDF_API void | _InitializeInputAndOutputSpecs (const VdfInputAndOutputSpecs *specs) |
| Initializes the input/output specs pointer for this node. | |
| VDF_API void | _ClearInputAndOutputSpecsPointer () |
| Clears the input/output specs pointer. | |
| VDF_API void | _ReplaceInputSpecs (const VdfInputSpecs &inputSpecs) |
Replaces the node's input specs with inputSpecs and rebuilds all inputs. | |
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) |
Constructs a node in network with the inputs described by inputSpecs and outputs described by outputSpecs. | |
| VdfId | GetId () const |
| Returns the unique id of this node in its network. | |
| const VdfNetwork & | GetNetwork () const |
| Returns the network to which this node belongs. | |
| VdfNetwork & | GetNetwork () |
| Returns the network to which this node belongs. | |
| template<typename TYPE > | |
| bool | IsA () const |
Returns true, if this node is of type TYPE. | |
| VDF_API bool | IsEqual (const VdfNode &rhs) const |
Returns true, if rhs and this node compute the same value(s). | |
| const VdfInputSpecs & | GetInputSpecs () const |
| Returns the list of input specs. | |
| const VdfInput * | GetInput (const TfToken &inputName) const |
Returns the connector named inputName, returns NULL if no input of that name exists. | |
| VDF_API VdfInput * | GetInput (const TfToken &inputName) |
Returns the input named inputName, returns NULL if no input of that name exists. | |
| const InputMapIterator | GetInputsIterator () const |
| Returns an iterator class that can be used with TF_FOR_ALL to iterate through the inputs. | |
| bool | HasInputConnections () const |
| Returns true if the node has input connections, false otherwise. | |
| bool | HasOutputConnections () const |
| Returns true if the node has output connections, false otherwise. | |
| VDF_API VdfConnectionVector | GetInputConnections () const |
| Returns a flat vector of all input connections. | |
| VDF_API VdfConnectionVector | GetOutputConnections () const |
| Returns a flat vector of all output connections. | |
| const VdfOutputSpecs & | GetOutputSpecs () const |
| Returns the list of output specs. | |
| const VdfOutput * | GetOutput (const TfToken &name) const |
Returns the output object named name. | |
| VDF_API VdfOutput * | GetOutput (const TfToken &name) |
Returns the output object named name. | |
| VDF_API VdfOutput * | GetOptionalOutput (const TfToken &name) |
Returns the output object named name. | |
| const VdfOutput * | GetOptionalOutput (const TfToken &name) const |
Returns the output object named name. | |
| const VdfOutput * | GetOutput () const |
| Returns the only output object that this node contains. | |
| VDF_API VdfOutput * | GetOutput () |
| Returns the only output object that this node contains. | |
| const OutputMapIterator | GetOutputsIterator () const |
| Returns an iterator class that can be used with TF_FOR_ALL to iterator through the output connectors. | |
| size_t | GetNumOutputs () const |
| Returns the number of outputs that this node currently has. | |
| size_t | GetNumInputs () const |
| Returns the number of inputs that this node currently has. | |
| VDF_API void | SetDebugName (const std::string &name) |
| Sets the debug name for this node. | |
| template<class F > | |
| void | SetDebugNameCallback (F &&f) |
| Sets the debug name for this node with a lazily invoked callback. | |
| VDF_API void | SetDebugNameCallback (VdfNodeDebugNameCallback &&callback) |
| Sets the debug name for this node with a lazily invoked callback. | |
| VDF_API const std::string | GetDebugName () const |
| Returns the debug name for this node, if one is registered. | |
| virtual VDF_API size_t | GetMemoryUsage () const |
| Returns the amount of memory used by the node in bytes. | |
| virtual VDF_API bool | IsSpeculationNode () const |
Returns true if this node performs speculation. | |
| virtual VDF_API VdfRequiredInputsPredicate | GetRequiredInputsPredicate (const VdfContext &context) const |
| Returns a predicate, determining whether a given input and its connections are required in order to fulfill this node's input dependencies. | |
| VDF_API VdfMask | ComputeOutputDependencyMask (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, const VdfOutput &output) const |
Returns a mask that indicates which elements of the data that flows along output depend on the elements indicated by inputDependencyMask that flow in via inputConnection. | |
| VDF_API void | ComputeOutputDependencyMasks (const VdfConnection &inputConnection, const VdfMask &inputDependencyMask, VdfMaskedOutputVector *outputDependencies) const |
| Vectorized version of ComputeOutputDependencyMask. | |
| VDF_API VdfMask::Bits | ComputeInputDependencyMask (const VdfMaskedOutput &maskedOutput, const VdfConnection &inputConnection) const |
Returns a mask that indicates which elements of the data that flows along inputConnection are needed to compute the data flowing out as indicated by maskedOutput. | |
| VDF_API VdfConnectionAndMaskVector | ComputeInputDependencyMasks (const VdfMaskedOutput &maskedOutput, bool skipAssociatedInputs) const |
| Vectorized version of ComputeInputDependencyMask. | |
| VDF_API VdfConnectionAndMaskVector | ComputeInputDependencyRequest (const VdfMaskedOutputVector &request) const |
| Vectorized version of ComputeInputDependencyMasks(). | |
Static Protected Member Functions inherited from VdfNode | |
| template<typename BaseClassType , typename ClassType > | |
| static size_t | _GetMemoryUsage (const ClassType &c, size_t dynamicSize) |
| Helper method for determining the amount of memory that a node uses. | |
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.
|
inlineprotected |
Note that VdfRootNodes don't have inputs.
Definition at line 44 of file rootNode.h.
|
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.