Loading...
Searching...
No Matches
EfLeafNodeCache Class Reference

This cache is a thin wrapper around the EfDependencyCache. More...

#include <leafNodeCache.h>

Public Member Functions

EF_API EfLeafNodeCache ()
 Constructor.
 
size_t GetVersion () const
 Returns the current edit version of the leaf node cache.
 
EF_API const VdfOutputToMaskMapFindOutputs (const VdfMaskedOutputVector &outputs, bool updateIncrementally)
 Find outputs dependent on the given outputs.
 
EF_API const std::vector< const VdfNode * > & FindNodes (const VdfMaskedOutputVector &outputs, bool updateIncrementally)
 Find leaf nodes dependent on the given outputs.
 
EF_API const std::vector< const VdfNode * > & FindNodes (const VdfMaskedOutputVector &outputs, const TfBits &outputsMask)
 Find all leaf nodes dependent on the given outputs, but only return the nodes dependent on the requested outputs not filtered out by the outputsMask.
 
EF_API void Clear ()
 Clear the entire cache.
 
EF_API void WillDeleteConnection (const VdfConnection &connection)
 Call this to notify the cache of connections that have been deleted.
 
EF_API void DidConnect (const VdfConnection &connection)
 Call this to notify the cache of newly added connections.
 

Detailed Description

This cache is a thin wrapper around the EfDependencyCache.

It caches node and output dependencies on EfLeafNodes, given an arbitrary input request.

Definition at line 37 of file leafNodeCache.h.

Constructor & Destructor Documentation

◆ EfLeafNodeCache()

EF_API EfLeafNodeCache ( )

Constructor.

Member Function Documentation

◆ Clear()

EF_API void Clear ( )

Clear the entire cache.

◆ DidConnect()

EF_API void DidConnect ( const VdfConnection connection)

Call this to notify the cache of newly added connections.

Note
It is safe to call WillDeleteConnection() and DidConnect() concurrently.

◆ FindNodes() [1/2]

EF_API const std::vector< const VdfNode * > & FindNodes ( const VdfMaskedOutputVector &  outputs,
bool  updateIncrementally 
)

Find leaf nodes dependent on the given outputs.

◆ FindNodes() [2/2]

EF_API const std::vector< const VdfNode * > & FindNodes ( const VdfMaskedOutputVector &  outputs,
const TfBits outputsMask 
)

Find all leaf nodes dependent on the given outputs, but only return the nodes dependent on the requested outputs not filtered out by the outputsMask.

A previously passed in request of outputs will return a cache hit regardless of the value of outputsMask.

◆ FindOutputs()

EF_API const VdfOutputToMaskMap & FindOutputs ( const VdfMaskedOutputVector &  outputs,
bool  updateIncrementally 
)

Find outputs dependent on the given outputs.

◆ GetVersion()

size_t GetVersion ( ) const
inline

Returns the current edit version of the leaf node cache.

This number will be incremented whenever leaf node dependency changes due to network edits, or time dependency modifications. Note, that no assumptions can be made about the absolute value returned from this function. The only guarantee provided is that if two versions compare equal, leaf node dependencies have not changed.

Definition at line 52 of file leafNodeCache.h.

◆ WillDeleteConnection()

EF_API void WillDeleteConnection ( const VdfConnection connection)

Call this to notify the cache of connections that have been deleted.

Note
It is safe to call WillDeleteConnection() and DidConnect() concurrently.

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