Loading...
Searching...
No Matches
motionAPI.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 USDGEOM_GENERATED_MOTIONAPI_H
25#define USDGEOM_GENERATED_MOTIONAPI_H
26
28
29#include "pxr/pxr.h"
30#include "pxr/usd/usdGeom/api.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"
41
42#include "pxr/base/tf/token.h"
43#include "pxr/base/tf/type.h"
44
45PXR_NAMESPACE_OPEN_SCOPE
46
47class SdfAssetPath;
48
49// -------------------------------------------------------------------------- //
50// MOTIONAPI //
51// -------------------------------------------------------------------------- //
52
68{
69public:
73 static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
74
79 explicit UsdGeomMotionAPI(const UsdPrim& prim=UsdPrim())
80 : UsdAPISchemaBase(prim)
81 {
82 }
83
87 explicit UsdGeomMotionAPI(const UsdSchemaBase& schemaObj)
88 : UsdAPISchemaBase(schemaObj)
89 {
90 }
91
93 USDGEOM_API
95
99 USDGEOM_API
100 static const TfTokenVector &
101 GetSchemaAttributeNames(bool includeInherited=true);
102
112 USDGEOM_API
113 static UsdGeomMotionAPI
114 Get(const UsdStagePtr &stage, const SdfPath &path);
115
116
133 USDGEOM_API
134 static bool
135 CanApply(const UsdPrim &prim, std::string *whyNot=nullptr);
136
152 USDGEOM_API
153 static UsdGeomMotionAPI
154 Apply(const UsdPrim &prim);
155
156protected:
160 USDGEOM_API
162
163private:
164 // needs to invoke _GetStaticTfType.
165 friend class UsdSchemaRegistry;
166 USDGEOM_API
167 static const TfType &_GetStaticTfType();
168
169 static bool _IsTypedSchema();
170
171 // override SchemaBase virtuals.
172 USDGEOM_API
173 const TfType &_GetTfType() const override;
174
175public:
176 // --------------------------------------------------------------------- //
177 // MOTIONBLURSCALE
178 // --------------------------------------------------------------------- //
204 USDGEOM_API
206
212 USDGEOM_API
213 UsdAttribute CreateMotionBlurScaleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
214
215public:
216 // --------------------------------------------------------------------- //
217 // VELOCITYSCALE
218 // --------------------------------------------------------------------- //
237 USDGEOM_API
239
245 USDGEOM_API
246 UsdAttribute CreateVelocityScaleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
247
248public:
249 // --------------------------------------------------------------------- //
250 // NONLINEARSAMPLECOUNT
251 // --------------------------------------------------------------------- //
278 USDGEOM_API
280
286 USDGEOM_API
287 UsdAttribute CreateNonlinearSampleCountAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
288
289public:
290 // ===================================================================== //
291 // Feel free to add custom code below this line, it will be preserved by
292 // the code generator.
293 //
294 // Just remember to:
295 // - Close the class declaration with };
296 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
297 // - Close the include guard with #endif
298 // ===================================================================== //
299 // --(BEGIN CUSTOM CODE)--
300
313 USDGEOM_API
315
326 USDGEOM_API
328 UsdTimeCode time = UsdTimeCode::Default()) const;
329
340 USDGEOM_API
342 UsdTimeCode time = UsdTimeCode::Default()) const;
343
344};
345
346PXR_NAMESPACE_CLOSE_SCOPE
347
348#endif
Contains an asset path and an optional resolved path.
Definition: assetPath.h:47
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:290
TfType represents a dynamic runtime type.
Definition: type.h:65
The base class for all API schemas.
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:176
UsdGeomMotionAPI encodes data that can live on any prim that may affect computations involving:
Definition: motionAPI.h:68
static USDGEOM_API UsdGeomMotionAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
static USDGEOM_API UsdGeomMotionAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdGeomMotionAPI holding the prim adhering to this schema at path on stage.
USDGEOM_API float ComputeMotionBlurScale(UsdTimeCode time=UsdTimeCode::Default()) const
Compute the inherited value of motion:blurScale at time, i.e.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
Definition: motionAPI.h:73
static USDGEOM_API bool CanApply(const UsdPrim &prim, std::string *whyNot=nullptr)
Returns true if this single-apply API schema can be applied to the given prim.
USDGEOM_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
USDGEOM_API float ComputeVelocityScale(UsdTimeCode time=UsdTimeCode::Default()) const
static USDGEOM_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...
USDGEOM_API UsdAttribute GetVelocityScaleAttr() const
UsdGeomMotionAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdGeomMotionAPI on UsdPrim prim .
Definition: motionAPI.h:79
virtual USDGEOM_API ~UsdGeomMotionAPI()
Destructor.
USDGEOM_API UsdAttribute GetMotionBlurScaleAttr() const
BlurScale is an inherited float attribute that stipulates the rendered motion blur (as typically spec...
USDGEOM_API UsdAttribute CreateVelocityScaleAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetVelocityScaleAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API UsdAttribute GetNonlinearSampleCountAttr() const
Determines the number of position or transformation samples created when motion is described by attri...
USDGEOM_API UsdAttribute CreateNonlinearSampleCountAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetNonlinearSampleCountAttr(), and also Create vs Get Property Methods for when to use Get vs Cre...
UsdGeomMotionAPI(const UsdSchemaBase &schemaObj)
Construct a UsdGeomMotionAPI on the prim held by schemaObj .
Definition: motionAPI.h:87
USDGEOM_API UsdAttribute CreateMotionBlurScaleAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetMotionBlurScaleAttr(), and also Create vs Get Property Methods for when to use Get vs Create.
USDGEOM_API int ComputeNonlinearSampleCount(UsdTimeCode time=UsdTimeCode::Default()) const
Compute the inherited value of nonlinearSampleCount at time, i.e.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:134
The base class for all schema types in Usd.
Definition: schemaBase.h:56
Singleton registry that provides access to schema type information and the prim definitions for regis...
Represent a time value, which may be either numeric, holding a double value, or a sentinel value UsdT...
Definition: timeCode.h:84
static constexpr UsdTimeCode Default()
Produce a UsdTimeCode representing the sentinel value for 'default'.
Definition: timeCode.h:112
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:164
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:129
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:457