24 #ifndef PXR_USD_USD_ATTRIBUTE_QUERY_H 25 #define PXR_USD_USD_ATTRIBUTE_QUERY_H 28 #include "pxr/usd/usd/api.h" 29 #include "pxr/usd/usd/attribute.h" 33 #include "pxr/usd/usd/resolveTarget.h" 34 #include "pxr/usd/usd/timeCode.h" 40 PXR_NAMESPACE_OPEN_SCOPE
134 explicit operator bool()
const {
158 template <
typename T>
160 static_assert(SdfValueTypeTraits<T>::IsValueType,
161 "T must be an SdfValueType.");
162 return _Get(value, time);
184 std::vector<double>* times)
const;
200 const std::vector<UsdAttributeQuery> &attrQueries,
201 std::vector<double> *times);
216 const std::vector<UsdAttributeQuery> &attrQueries,
218 std::vector<double> *times);
234 bool* hasTimeSamples)
const;
284 template <
typename T>
291 std::unique_ptr<UsdResolveTarget> _resolveTarget;
294 PXR_NAMESPACE_CLOSE_SCOPE
296 #endif // PXR_USD_USD_ATTRIBUTE_QUERY_H USD_API UsdAttributeQuery()
Construct an invalid query object.
USD_API UsdAttributeQuery & operator=(const UsdAttributeQuery &other)
Copy assignment.
Object for efficiently making repeated queries for attribute values.
USD_API bool GetBracketingTimeSamples(double desiredTime, double *lower, double *upper, bool *hasTimeSamples) const
Populate lower and upper with the next greater and lesser value relative to the desiredTime.
USD_API bool HasValue() const
Return true if the attribute associated with this query has an authored default value,...
USD_API bool GetTimeSamples(std::vector< double > *times) const
Populates a vector with authored sample times.
static USD_API bool GetUnionedTimeSamplesInInterval(const std::vector< UsdAttributeQuery > &attrQueries, const GfInterval &interval, std::vector< double > *times)
Populates the given vector, times with the union of all the authored sample times in the GfInterval,...
Container for information about the source of an attribute's value, i.e.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
USD_API size_t GetNumTimeSamples() const
Returns the number of time samples that have been authored.
USD_API const UsdAttribute & GetAttribute() const
Return the attribute associated with this query.
USD_API bool HasAuthoredValue() const
Return true if this attribute has either an authored default value or authored time samples.
Token for efficient comparison, assignment, and hashing of known strings.
static USD_API std::vector< UsdAttributeQuery > CreateQueries(const UsdPrim &prim, const TfTokenVector &attrNames)
Construct new queries for the attributes named in attrNames under the prim prim.
USD_API bool ValueMightBeTimeVarying() const
Return true if it is possible, but not certain, that this attribute's value changes over time,...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
USD_API bool HasAuthoredValueOpinion() const
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
std::vector< TfToken > TfTokenVector
Convenience types.
A basic mathematical interval class.
bool IsValid() const
Return true if this query is valid (i.e.
bool Get(T *value, UsdTimeCode time=UsdTimeCode::Default()) const
Perform value resolution to fetch the value of the attribute associated with this query at the reques...
USD_API bool HasFallbackValue() const
Return true if the attribute associated with this query has a fallback value provided by a registered...
static constexpr UsdTimeCode Default()
Produce a UsdTimeCode representing the sentinel value for 'default'.
USD_API bool GetTimeSamplesInInterval(const GfInterval &interval, std::vector< double > *times) const
Populates a vector with authored sample times in interval.
bool IsValid() const
Return true if this is a valid object, false otherwise.
static USD_API bool GetUnionedTimeSamples(const std::vector< UsdAttributeQuery > &attrQueries, std::vector< double > *times)
Populates the given vector, times with the union of all the authored sample times on all of the given...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
Defines a subrange of nodes and layers within a prim's prim index to consider when performing value r...