7#ifndef PXR_USD_USD_PROPERTY_H
8#define PXR_USD_USD_PROPERTY_H
11#include "pxr/usd/usd/api.h"
16#include "pxr/usd/sdf/path.h"
18#include "pxr/base/vt/value.h"
20PXR_NAMESPACE_OPEN_SCOPE
86 std::vector<std::pair<SdfPropertySpecHandle, SdfLayerOffset>>
157 const std::vector<std::string>& nestedGroups)
const;
246 const TfToken &propName)
const;
258 template <
class Derived>
264 bool _GetTargets(
SdfSpecType specType, SdfPathVector *out,
265 bool *foundErrors =
nullptr)
const;
272 friend class Usd_PrimData;
275 const Usd_PrimDataHandle &prim,
278 :
UsdObject(objType, prim, proxyPrimPath, propName) {}
283PXR_NAMESPACE_CLOSE_SCOPE
A path value used to locate objects in layers or scenegraphs.
Token for efficient comparison, assignment, and hashing of known strings.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Defines a mapping from scene graph paths to Sdf spec paths in a SdfLayer where edits should be direct...
Base class for Usd scenegraph objects, providing common API.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Base class for UsdAttribute and UsdRelationship scenegraph objects.
USD_API std::string GetDisplayGroup() const
Return this property's display group (metadata).
USD_API TfToken GetBaseName() const
Return this property's name with all namespace prefixes removed, i.e.
USD_API SdfPropertySpecHandleVector GetPropertyStack(UsdTimeCode time=UsdTimeCode::Default()) const
Returns a strength-ordered list of property specs that provide opinions for this property.
USD_API bool SetCustom(bool isCustom) const
Set the value for custom at the current EditTarget, return true on success, false if the value can no...
USD_API bool IsDefined() const
Return true if this is a builtin property or if the strongest authored SdfPropertySpec for this prope...
USD_API bool ClearDisplayGroup() const
Clears this property's display group (metadata) in the current EditTarget (only).
UsdProperty()
Construct an invalid property.
USD_API bool SetDisplayGroup(const std::string &displayGroup) const
Sets this property's display group (metadata).
USD_API UsdProperty FlattenTo(const UsdPrim &parent) const
Flattens this property to a property spec with the same name beneath the given parent prim in the edi...
USD_API TfToken GetNamespace() const
Return this property's complete namespace prefix.
USD_API std::vector< std::string > GetNestedDisplayGroups() const
Return this property's displayGroup as a sequence of groups to be nested, or an empty vector if displ...
USD_API bool HasAuthoredDisplayGroup() const
Returns true if displayGroup was explicitly authored and GetMetadata() will return a meaningful value...
USD_API UsdProperty FlattenTo(const UsdProperty &property) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API bool IsAuthored() const
Return true if there are any authored opinions for this property in any layer that contributes to thi...
USD_API bool IsCustom() const
Return true if this is a custom property (i.e., not part of a prim schema).
USD_API bool SetNestedDisplayGroups(const std::vector< std::string > &nestedGroups) const
Sets this property's display group (metadata) to the nested sequence.
USD_API UsdProperty FlattenTo(const UsdPrim &parent, const TfToken &propName) const
This is an overloaded member function, provided for convenience. It differs from the above function o...
USD_API std::vector< std::pair< SdfPropertySpecHandle, SdfLayerOffset > > GetPropertyStackWithLayerOffsets(UsdTimeCode time=UsdTimeCode::Default()) const
Returns a strength-ordered list of property specs that provide opinions for this property paired with...
USD_API bool IsAuthoredAt(const class UsdEditTarget &editTarget) const
Return true if there is an SdfPropertySpec authored for this property at the given editTarget,...
USD_API std::vector< std::string > SplitName() const
Return this property's name elements including namespaces and its base name as the final element.
A UsdRelationship creates dependencies between scenegraph objects by allowing a prim to target other ...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
static constexpr UsdTimeCode Default()
Produce a UsdTimeCode representing the sentinel value for 'default'.
UsdObjType
Enum values to represent the various Usd object types.
SdfSpecType
An enum that specifies the type of an object.