Loading...
Searching...
No Matches
particleFieldSphericalHarmonicsAttributeAPI.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 USDVOL_GENERATED_PARTICLEFIELDSPHERICALHARMONICSATTRIBUTEAPI_H
8#define USDVOL_GENERATED_PARTICLEFIELDSPHERICALHARMONICSATTRIBUTEAPI_H
9
11
12#include "pxr/pxr.h"
13#include "pxr/usd/usdVol/api.h"
15#include "pxr/usd/usd/prim.h"
16#include "pxr/usd/usd/stage.h"
18
20
21
22#include "pxr/base/vt/value.h"
23
24#include "pxr/base/gf/vec3d.h"
25#include "pxr/base/gf/vec3f.h"
27
28#include "pxr/base/tf/token.h"
29#include "pxr/base/tf/type.h"
30
31PXR_NAMESPACE_OPEN_SCOPE
32
33class SdfAssetPath;
34
35// -------------------------------------------------------------------------- //
36// PARTICLEFIELDSPHERICALHARMONICSATTRIBUTEAPI //
37// -------------------------------------------------------------------------- //
38
64{
65public:
69 static const UsdSchemaKind schemaKind = UsdSchemaKind::SingleApplyAPI;
70
76 : UsdAPISchemaBase(prim)
77 {
78 }
79
84 : UsdAPISchemaBase(schemaObj)
85 {
86 }
87
89 USDVOL_API
91
95 USDVOL_API
96 static const TfTokenVector &
97 GetSchemaAttributeNames(bool includeInherited=true);
98
108 USDVOL_API
110 Get(const UsdStagePtr &stage, const SdfPath &path);
111
112
129 USDVOL_API
130 static bool
131 CanApply(const UsdPrim &prim, std::string *whyNot=nullptr);
132
148 USDVOL_API
150 Apply(const UsdPrim &prim);
151
152protected:
156 USDVOL_API
158
159private:
160 // needs to invoke _GetStaticTfType.
161 friend class UsdSchemaRegistry;
162 USDVOL_API
163 static const TfType &_GetStaticTfType();
164
165 static bool _IsTypedSchema();
166
167 // override SchemaBase virtuals.
168 USDVOL_API
169 const TfType &_GetTfType() const override;
170
171public:
172 // --------------------------------------------------------------------- //
173 // RADIANCESPHERICALHARMONICSDEGREE
174 // --------------------------------------------------------------------- //
186 USDVOL_API
188
194 USDVOL_API
195 UsdAttribute CreateRadianceSphericalHarmonicsDegreeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
196
197public:
198 // --------------------------------------------------------------------- //
199 // RADIANCESPHERICALHARMONICSCOEFFICIENTS
200 // --------------------------------------------------------------------- //
213 USDVOL_API
215
221 USDVOL_API
222 UsdAttribute CreateRadianceSphericalHarmonicsCoefficientsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
223
224public:
225 // --------------------------------------------------------------------- //
226 // RADIANCESPHERICALHARMONICSCOEFFICIENTSH
227 // --------------------------------------------------------------------- //
242 USDVOL_API
244
250 USDVOL_API
251 UsdAttribute CreateRadianceSphericalHarmonicsCoefficientshAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
252
253public:
259
262 USDVOL_API
264
266public:
267 // ===================================================================== //
268 // Feel free to add custom code below this line, it will be preserved by
269 // the code generator.
270 //
271 // Just remember to:
272 // - Close the class declaration with };
273 // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
274 // - Close the include guard with #endif
275 // ===================================================================== //
276 // --(BEGIN CUSTOM CODE)--
277};
278
279PXR_NAMESPACE_CLOSE_SCOPE
280
281#endif
Contains an asset path and optional evaluated and resolved paths.
Definition: assetPath.h:79
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:281
TfType represents a dynamic runtime type.
Definition: type.h:48
The base class for all API schemas.
Definition: apiSchemaBase.h:95
Scenegraph object for authoring and retrieving numeric, string, and array valued data,...
Definition: attribute.h:183
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...
Defines a base-class type applied schema that all applied schema that provides a ParticleField radian...
A ParticleField related applied schema that provides spherical harmonics attributes to define the rad...
static USDVOL_API UsdVolParticleFieldSphericalHarmonicsAttributeAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
virtual USDVOL_API ~UsdVolParticleFieldSphericalHarmonicsAttributeAPI()
Destructor.
USDVOL_API UsdAttribute GetRadianceSphericalHarmonicsCoefficientshAttr() const
Flattened array of SH coefficients.
USDVOL_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
static const UsdSchemaKind schemaKind
Compile time constant representing what kind of schema this class is.
USDVOL_API UsdAttribute CreateRadianceSphericalHarmonicsDegreeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadianceSphericalHarmonicsDegreeAttr(), and also Create vs Get Property Methods for when to us...
static USDVOL_API UsdVolParticleFieldSphericalHarmonicsAttributeAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdVolParticleFieldSphericalHarmonicsAttributeAPI holding the prim adhering to this schema a...
static USDVOL_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 USDVOL_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.
USDVOL_API UsdAttribute GetRadianceSphericalHarmonicsCoefficientsAttr() const
Flattened array of SH coefficients.
UsdVolParticleFieldSphericalHarmonicsAttributeAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdVolParticleFieldSphericalHarmonicsAttributeAPI on UsdPrim prim .
USDVOL_API UsdAttribute GetRadianceSphericalHarmonicsDegreeAttr() const
The highest degree of the spherical harmonics.
UsdVolParticleFieldSphericalHarmonicsAttributeAPI(const UsdSchemaBase &schemaObj)
Construct a UsdVolParticleFieldSphericalHarmonicsAttributeAPI on the prim held by schemaObj .
USDVOL_API UsdAttribute CreateRadianceSphericalHarmonicsCoefficientshAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadianceSphericalHarmonicsCoefficientshAttr(), and also Create vs Get Property Methods for whe...
USDVOL_API UsdVolParticleFieldRadianceBaseAPI ParticleFieldRadianceBaseAPI() const
Constructs and returns a UsdVolParticleFieldRadianceBaseAPI object.
USDVOL_API UsdAttribute CreateRadianceSphericalHarmonicsCoefficientsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRadianceSphericalHarmonicsCoefficientsAttr(), and also Create vs Get Property Methods for when...
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:90
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