24 #ifndef PXR_USD_USD_SCHEMA_BASE_H
25 #define PXR_USD_USD_SCHEMA_BASE_H
28 #include "pxr/usd/usd/api.h"
30 #include "pxr/usd/usd/attribute.h"
31 #include "pxr/usd/usd/relationship.h"
32 #include "pxr/usd/usd/references.h"
34 PXR_NAMESPACE_OPEN_SCOPE
124 if (!_proxyPrimPath.
IsEmpty()) {
125 return _proxyPrimPath;
127 else if (Usd_PrimDataConstPtr p = get_pointer(_primData)) {
148 GetSchemaAttributeNames(
bool includeInherited=
true)
165 explicit operator bool()
const {
191 const TfType &_GetType()
const {
200 bool writeSparsely)
const;
213 virtual const TfType &_GetTfType()
const;
216 Usd_PrimDataHandle _primData;
221 PXR_NAMESPACE_CLOSE_SCOPE
223 #endif //PXR_USD_USD_SCHEMA_BASE_H
virtual USD_API bool _IsCompatible() const
Subclasses may override _IsCompatible to do specific compatibility checking with the given prim...
bool IsTyped() const
Returns whether or not this class inherits from UsdTyped.
bool IsAppliedAPISchema() const
Returns whether this is an applied API schema or not.
Represents a value type name, i.e.
USD_API const UsdPrimDefinition * GetSchemaClassPrimDefinition() const
Return the prim definition associated with this schema instance if one exists, otherwise return null...
Scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time.
UsdSchemaKind GetSchemaKind() const
Returns the kind of schema this class is.
virtual USD_API ~UsdSchemaBase()
Destructor.
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Token for efficient comparison, assignment, and hashing of known strings.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
SdfPath GetPath() const
Shorthand for GetPrim()->GetPath().
Represents a concrete typed schema.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
std::vector< TfToken > TfTokenVector
Convenience types.
bool IsConcrete() const
Returns whether or not this class corresponds to a concrete instantiable prim type in scene descripti...
A path value used to locate objects in layers or scenegraphs.
virtual UsdSchemaKind _GetSchemaKind() const
Returns the kind of schema this class is.
SdfVariability
An enum that identifies variability types for attributes.
Multiple Apply API Schema.
Represents abstract or base schema types that are interface-only and cannot be instantiated.
Class representing the builtin definition of a prim given the schemas registered in the schema regist...
bool IsMultipleApplyAPISchema() const
Returns whether this is an applied API schema or not.
Represents a non-concrete typed schema.
TfType represents a dynamic runtime type.
bool IsAPISchema() const
Returns whether this is an API schema or not.
USD_API UsdSchemaBase(const UsdPrim &prim=UsdPrim())
Construct and store prim as the held prim.
The base class for all schema types in Usd.
bool IsEmpty() const noexcept
Returns true if this is the empty path (SdfPath::EmptyPath()).
static SDF_API const SdfPath & EmptyPath()
The empty path value, equivalent to SdfPath().
virtual UsdSchemaKind _GetSchemaType() const
Provides a container which may hold any type, and provides introspection and iteration over array typ...
UsdPrim GetPrim() const
Return this schema object's held prim.