Loading...
Searching...
No Matches
UsdResolveInfo Class Reference

Container for information about the source of an attribute's value, i.e. More...

#include <resolveInfo.h>

Public Member Functions

UsdResolveInfoSource GetSource () const
 Return some information about the source of the associated attribute's value.
 
bool HasAuthoredValueOpinion () const
 Return true if this UsdResolveInfo represents an attribute that has an authored value opinion.
 
bool HasAuthoredValue () const
 Return true if this UsdResolveInfo represents an attribute that has an authored value that is not blocked.
 
PcpNodeRef GetNode () const
 Return the node within the containing PcpPrimIndex that provided the resolved value opinion.
 
bool ValueIsBlocked () const
 Return true if this UsdResolveInfo represents an attribute whose value is blocked.
 
bool ValueSourceMightBeTimeVarying () const
 Return true if the resolve info value source might be time-varying; false otherwise.
 
bool HasNextWeakerInfo () const
 If this object was returned by a call to the UsdAttribute::GetResolve() overload that takes a time, then this function returns true if the attribute's value comes from more than a single source.
 
UsdResolveInfo const * GetNextWeakerInfo () const
 If this object was returned by a call to the UsdAttribute::GetResolve() overload that takes a time and the attribute's value comes from more than a single source, return a pointer to a UsdResolveInfo indicating the next weaker source.
 

Friends

class UsdAttribute
 
class UsdAttributeQuery
 
class UsdStage
 
class UsdStage_ResolveInfoAccess
 

Detailed Description

Container for information about the source of an attribute's value, i.e.

the 'resolved' location of the attribute.

For more details, see TimeSamples, Defaults, and Value Resolution.

Definition at line 54 of file resolveInfo.h.

Constructor & Destructor Documentation

◆ UsdResolveInfo()

UsdResolveInfo ( )
inline

Definition at line 57 of file resolveInfo.h.

Member Function Documentation

◆ GetNextWeakerInfo()

UsdResolveInfo const * GetNextWeakerInfo ( ) const
inline

If this object was returned by a call to the UsdAttribute::GetResolve() overload that takes a time and the attribute's value comes from more than a single source, return a pointer to a UsdResolveInfo indicating the next weaker source.

If many sources are involved, the chain will continue to indicate all the value sources.

Definition at line 162 of file resolveInfo.h.

◆ GetNode()

PcpNodeRef GetNode ( ) const
inline

Return the node within the containing PcpPrimIndex that provided the resolved value opinion.

Definition at line 110 of file resolveInfo.h.

◆ GetSource()

UsdResolveInfoSource GetSource ( ) const
inline

Return some information about the source of the associated attribute's value.

Note that if the attribute's value composes over other values, there may be more than a single source that varies over time. For example, a VtArray-valued attribute may have a resolved value composed of a stronger VtArrayEdit over a weaker VtArray.

A call to UsdAttribute::GetResolveInfo() with no arguments produces a UsdResolveInfo that only contains the proximal potential value source. In many cases this is the only source, but for more complex scenarios, call the overload of UsdAttribute::GetResolveInfo() that takes a time. Then if there is more than one source, the weaker sources can by accessed by calling HasWeakerInfo() and GetNextWeakerInfo().

Spline value types (scalar floating point values) can never compose, so UsdResolveInfoSourceSpline instances never have weaker resolve info.

Definition at line 80 of file resolveInfo.h.

◆ HasAuthoredValue()

bool HasAuthoredValue ( ) const
inline

Return true if this UsdResolveInfo represents an attribute that has an authored value that is not blocked.

Definition at line 100 of file resolveInfo.h.

◆ HasAuthoredValueOpinion()

bool HasAuthoredValueOpinion ( ) const
inline

Return true if this UsdResolveInfo represents an attribute that has an authored value opinion.

This will return true if there is any authored value opinion, including a block

This is equivalent to HasAuthoredValue() || ValueIsBlocked()

Definition at line 89 of file resolveInfo.h.

◆ HasNextWeakerInfo()

bool HasNextWeakerInfo ( ) const
inline

If this object was returned by a call to the UsdAttribute::GetResolve() overload that takes a time, then this function returns true if the attribute's value comes from more than a single source.

For example, a VtIntArray-valued attribute that has a default authored in a weaker layer, and a VtIntArrayEdit default authored in a stronger layer will return true. This object's value source will indicate the stronger array edit source, and calling GetNextWeakerInfo() will return a pointer to a resolve info indicating the weaker VtArray source.

Definition at line 153 of file resolveInfo.h.

◆ ValueIsBlocked()

bool ValueIsBlocked ( ) const
inline

Return true if this UsdResolveInfo represents an attribute whose value is blocked.

See also
UsdAttribute::Block()

Definition at line 118 of file resolveInfo.h.

◆ ValueSourceMightBeTimeVarying()

bool ValueSourceMightBeTimeVarying ( ) const
inline

Return true if the resolve info value source might be time-varying; false otherwise.

A return of true means that the value may or may not actually be time-varying. A return of false means the the value is definitely not time-varying. This is meant to enable optimizations for scene-data consumers like renderers, when they can handle non-varying values more efficiently.

Note that this is different from UsdAttribute::ValueMightBeTimeVarying() which provides more granular answer since it has additional context from the attribute itself.

Definition at line 132 of file resolveInfo.h.

Friends And Related Function Documentation

◆ UsdAttribute

friend class UsdAttribute
friend

Definition at line 240 of file resolveInfo.h.

◆ UsdAttributeQuery

friend class UsdAttributeQuery
friend

Definition at line 241 of file resolveInfo.h.

◆ UsdStage

friend class UsdStage
friend

Definition at line 242 of file resolveInfo.h.

◆ UsdStage_ResolveInfoAccess

friend class UsdStage_ResolveInfoAccess
friend

Definition at line 243 of file resolveInfo.h.


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