All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
var.h
Go to the documentation of this file.
1 //
2 // Copyright 2016 Pixar
3 //
4 // Licensed under the Apache License, Version 2.0 (the "Apache License")
5 // with the following modification; you may not use this file except in
6 // compliance with the Apache License and the following modification to it:
7 // Section 6. Trademarks. is deleted and replaced with:
8 //
9 // 6. Trademarks. This License does not grant permission to use the trade
10 // names, trademarks, service marks, or product names of the Licensor
11 // and its affiliates, except as required to comply with Section 4(c) of
12 // the License and to reproduce the content of the NOTICE file.
13 //
14 // You may obtain a copy of the Apache License at
15 //
16 // http://www.apache.org/licenses/LICENSE-2.0
17 //
18 // Unless required by applicable law or agreed to in writing, software
19 // distributed under the Apache License with the above modification is
20 // distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21 // KIND, either express or implied. See the Apache License for the specific
22 // language governing permissions and limitations under the Apache License.
23 //
24 #ifndef USDRENDER_GENERATED_VAR_H
25 #define USDRENDER_GENERATED_VAR_H
26 
28 
29 #include "pxr/pxr.h"
30 #include "pxr/usd/usdRender/api.h"
31 #include "pxr/usd/usd/typed.h"
32 #include "pxr/usd/usd/prim.h"
33 #include "pxr/usd/usd/stage.h"
35 
36 #include "pxr/base/vt/value.h"
37 
38 #include "pxr/base/gf/vec3d.h"
39 #include "pxr/base/gf/vec3f.h"
40 #include "pxr/base/gf/matrix4d.h"
41 
42 #include "pxr/base/tf/token.h"
43 #include "pxr/base/tf/type.h"
44 
45 PXR_NAMESPACE_OPEN_SCOPE
46 
47 class SdfAssetPath;
48 
49 // -------------------------------------------------------------------------- //
50 // RENDERVAR //
51 // -------------------------------------------------------------------------- //
52 
72 class UsdRenderVar : public UsdTyped
73 {
74 public:
79 
84  explicit UsdRenderVar(const UsdPrim& prim=UsdPrim())
85  : UsdTyped(prim)
86  {
87  }
88 
92  explicit UsdRenderVar(const UsdSchemaBase& schemaObj)
93  : UsdTyped(schemaObj)
94  {
95  }
96 
98  USDRENDER_API
99  virtual ~UsdRenderVar();
100 
104  USDRENDER_API
105  static const TfTokenVector &
106  GetSchemaAttributeNames(bool includeInherited=true);
107 
117  USDRENDER_API
118  static UsdRenderVar
119  Get(const UsdStagePtr &stage, const SdfPath &path);
120 
143  USDRENDER_API
144  static UsdRenderVar
145  Define(const UsdStagePtr &stage, const SdfPath &path);
146 
147 protected:
151  USDRENDER_API
152  UsdSchemaKind _GetSchemaKind() const override;
153 
154 private:
155  // needs to invoke _GetStaticTfType.
156  friend class UsdSchemaRegistry;
157  USDRENDER_API
158  static const TfType &_GetStaticTfType();
159 
160  static bool _IsTypedSchema();
161 
162  // override SchemaBase virtuals.
163  USDRENDER_API
164  const TfType &_GetTfType() const override;
165 
166 public:
167  // --------------------------------------------------------------------- //
168  // DATATYPE
169  // --------------------------------------------------------------------- //
178  USDRENDER_API
180 
186  USDRENDER_API
187  UsdAttribute CreateDataTypeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
188 
189 public:
190  // --------------------------------------------------------------------- //
191  // SOURCENAME
192  // --------------------------------------------------------------------- //
202  USDRENDER_API
204 
210  USDRENDER_API
211  UsdAttribute CreateSourceNameAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
212 
213 public:
214  // --------------------------------------------------------------------- //
215  // SOURCETYPE
216  // --------------------------------------------------------------------- //
243  USDRENDER_API
245 
251  USDRENDER_API
252  UsdAttribute CreateSourceTypeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
253 
254 public:
255  // ===================================================================== //
256  // Feel free to add custom code below this line, it will be preserved by
257  // the code generator.
258  //
259  // Just remember to:
260  // - Close the class declaration with };
261  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
262  // - Close the include guard with #endif
263  // ===================================================================== //
264  // --(BEGIN CUSTOM CODE)--
265 };
266 
267 PXR_NAMESPACE_CLOSE_SCOPE
268 
269 #endif
Scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time.
Definition: attribute.h:176
USDRENDER_API UsdAttribute GetDataTypeAttr() const
The type of this channel, as a USD attribute type.
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:127
static USDRENDER_API UsdRenderVar Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdRenderVar holding the prim adhering to this schema at path on stage.
Represents a concrete typed schema.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:132
The base class for all typed schemas (those that can impart a typeName to a UsdPrim), and therefore the base class for all instantiable and "IsA" schemas.
Definition: typed.h:47
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:442
USDRENDER_API UsdAttribute CreateSourceTypeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSourceTypeAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
UsdRenderVar(const UsdSchemaBase &schemaObj)
Construct a UsdRenderVar on the prim held by schemaObj .
Definition: var.h:92
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:288
A UsdRenderVar describes a custom data variable for a render to produce.
Definition: var.h:72
USDRENDER_API UsdAttribute CreateSourceNameAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetSourceNameAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: var.h:78
USDRENDER_API UsdAttribute GetSourceTypeAttr() const
Indicates the type of the source.
Contains an asset path and an optional resolved path.
Definition: assetPath.h:47
virtual USDRENDER_API ~UsdRenderVar()
Destructor.
USDRENDER_API UsdAttribute CreateDataTypeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetDataTypeAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
TfType represents a dynamic runtime type.
Definition: type.h:64
Singleton registry that provides access to schema type information and the prim definitions for regis...
static USDRENDER_API UsdRenderVar Define(const UsdStagePtr &stage, const SdfPath &path)
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefin...
The base class for all schema types in Usd.
Definition: schemaBase.h:56
USDRENDER_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:168
USDRENDER_API UsdAttribute GetSourceNameAttr() const
The renderer should look for an output of this name as the computed value for the RenderVar...
UsdRenderVar(const UsdPrim &prim=UsdPrim())
Construct a UsdRenderVar on UsdPrim prim .
Definition: var.h:84
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
static USDRENDER_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...