This document is for a version of USD that is under development. See this page for the current release.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
typed.h
Go to the documentation of this file.
1//
2// Copyright 2016 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef USD_GENERATED_TYPED_H
8#define USD_GENERATED_TYPED_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usd/api.h"
14#include "pxr/usd/usd/schemaBase.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
17
18#include "pxr/base/vt/value.h"
19
20#include "pxr/base/gf/vec3d.h"
21#include "pxr/base/gf/vec3f.h"
23
24#include "pxr/base/tf/token.h"
25#include "pxr/base/tf/type.h"
26
27PXR_NAMESPACE_OPEN_SCOPE
28
29class SdfAssetPath;
30
31// -------------------------------------------------------------------------- //
32// TYPED //
33// -------------------------------------------------------------------------- //
34
44class UsdTyped : public UsdSchemaBase
45{
46public:
50 static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase;
51
56 explicit UsdTyped(const UsdPrim& prim=UsdPrim())
57 : UsdSchemaBase(prim)
58 {
59 }
60
64 explicit UsdTyped(const UsdSchemaBase& schemaObj)
65 : UsdSchemaBase(schemaObj)
66 {
67 }
68
70 USD_API
71 virtual ~UsdTyped();
72
76 USD_API
77 static const TfTokenVector &
78 GetSchemaAttributeNames(bool includeInherited=true);
79
89 USD_API
90 static UsdTyped
91 Get(const UsdStagePtr &stage, const SdfPath &path);
92
93
94protected:
98 USD_API
99 UsdSchemaKind _GetSchemaKind() const override;
100
101private:
102 // needs to invoke _GetStaticTfType.
103 friend class UsdSchemaRegistry;
104 USD_API
105 static const TfType &_GetStaticTfType();
106
107 static bool _IsTypedSchema();
108
109 // override SchemaBase virtuals.
110 USD_API
111 const TfType &_GetTfType() const override;
112
113public:
114 // ===================================================================== //
115 // Feel free to add custom code below this line, it will be preserved by
116 // the code generator.
117 //
118 // Just remember to:
119 // - Close the class declaration with };
120 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
121 // - Close the include guard with #endif
122 // ===================================================================== //
123 // --(BEGIN CUSTOM CODE)--
124
125protected:
126 USD_API
127 bool _IsCompatible() const override;
128};
129
130PXR_NAMESPACE_CLOSE_SCOPE
131
132#endif
Contains an asset path and an optional resolved path.
Definition: assetPath.h:30
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:274
TfType represents a dynamic runtime type.
Definition: type.h:48
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:117
The base class for all schema types in Usd.
Definition: schemaBase.h:39
Singleton registry that provides access to schema type information and the prim definitions for regis...
The base class for all typed schemas (those that can impart a typeName to a UsdPrim),...
Definition: typed.h:45
UsdTyped(const UsdPrim &prim=UsdPrim())
Construct a UsdTyped on UsdPrim prim .
Definition: typed.h:56
static USD_API UsdTyped Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdTyped holding the prim adhering to this schema at path on stage.
static USD_API const TfTokenVector & GetSchemaAttributeNames(bool includeInherited=true)
Return a vector of names of all pre-declared attributes for this schema class and all its ancestor cl...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: typed.h:50
USD_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
virtual USD_API ~UsdTyped()
Destructor.
UsdTyped(const UsdSchemaBase &schemaObj)
Construct a UsdTyped on the prim held by schemaObj .
Definition: typed.h:64
USD_API bool _IsCompatible() const override
Subclasses may override _IsCompatible to do specific compatibility checking with the given prim,...
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:112
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:440