All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
shadowAPI.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 USDLUX_GENERATED_SHADOWAPI_H
25 #define USDLUX_GENERATED_SHADOWAPI_H
26 
28 
29 #include "pxr/pxr.h"
30 #include "pxr/usd/usdLux/api.h"
31 #include "pxr/usd/usd/apiSchemaBase.h"
32 #include "pxr/usd/usd/prim.h"
33 #include "pxr/usd/usd/stage.h"
34 #include "pxr/usd/usdLux/tokens.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 // SHADOWAPI //
51 // -------------------------------------------------------------------------- //
52 
59 {
60 public:
65 
70  explicit UsdLuxShadowAPI(const UsdPrim& prim=UsdPrim())
71  : UsdAPISchemaBase(prim)
72  {
73  }
74 
78  explicit UsdLuxShadowAPI(const UsdSchemaBase& schemaObj)
79  : UsdAPISchemaBase(schemaObj)
80  {
81  }
82 
84  USDLUX_API
85  virtual ~UsdLuxShadowAPI();
86 
90  USDLUX_API
91  static const TfTokenVector &
92  GetSchemaAttributeNames(bool includeInherited=true);
93 
103  USDLUX_API
104  static UsdLuxShadowAPI
105  Get(const UsdStagePtr &stage, const SdfPath &path);
106 
107 
120  USDLUX_API
121  static UsdLuxShadowAPI
122  Apply(const UsdPrim &prim);
123 
124 protected:
128  USDLUX_API
129  UsdSchemaType _GetSchemaType() const override;
130 
131 private:
132  // needs to invoke _GetStaticTfType.
133  friend class UsdSchemaRegistry;
134  USDLUX_API
135  static const TfType &_GetStaticTfType();
136 
137  static bool _IsTypedSchema();
138 
139  // override SchemaBase virtuals.
140  USDLUX_API
141  const TfType &_GetTfType() const override;
142 
143 public:
144  // --------------------------------------------------------------------- //
145  // SHADOWENABLE
146  // --------------------------------------------------------------------- //
153  USDLUX_API
155 
161  USDLUX_API
162  UsdAttribute CreateShadowEnableAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
163 
164 public:
165  // --------------------------------------------------------------------- //
166  // SHADOWCOLOR
167  // --------------------------------------------------------------------- //
175  USDLUX_API
177 
183  USDLUX_API
184  UsdAttribute CreateShadowColorAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
185 
186 public:
187  // --------------------------------------------------------------------- //
188  // SHADOWDISTANCE
189  // --------------------------------------------------------------------- //
198  USDLUX_API
200 
206  USDLUX_API
207  UsdAttribute CreateShadowDistanceAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
208 
209 public:
210  // --------------------------------------------------------------------- //
211  // SHADOWFALLOFF
212  // --------------------------------------------------------------------- //
221  USDLUX_API
223 
229  USDLUX_API
230  UsdAttribute CreateShadowFalloffAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
231 
232 public:
233  // --------------------------------------------------------------------- //
234  // SHADOWFALLOFFGAMMA
235  // --------------------------------------------------------------------- //
244  USDLUX_API
246 
252  USDLUX_API
253  UsdAttribute CreateShadowFalloffGammaAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
254 
255 public:
256  // --------------------------------------------------------------------- //
257  // SHADOWINCLUDE
258  // --------------------------------------------------------------------- //
261  USDLUX_API
263 
266  USDLUX_API
268 
269 public:
270  // --------------------------------------------------------------------- //
271  // SHADOWEXCLUDE
272  // --------------------------------------------------------------------- //
275  USDLUX_API
277 
280  USDLUX_API
282 
283 public:
284  // ===================================================================== //
285  // Feel free to add custom code below this line, it will be preserved by
286  // the code generator.
287  //
288  // Just remember to:
289  // - Close the class declaration with };
290  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
291  // - Close the include guard with #endif
292  // ===================================================================== //
293  // --(BEGIN CUSTOM CODE)--
294 };
295 
296 PXR_NAMESPACE_CLOSE_SCOPE
297 
298 #endif
UsdLuxShadowAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdLuxShadowAPI on UsdPrim prim .
Definition: shadowAPI.h:70
static USDLUX_API UsdLuxShadowAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdLuxShadowAPI holding the prim adhering to this schema at path on stage.
USDLUX_API UsdAttribute CreateShadowDistanceAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShadowDistanceAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdAttribute CreateShadowColorAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShadowColorAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdAttribute GetShadowColorAttr() const
The color of shadows cast by the light.
UsdLuxShadowAPI(const UsdSchemaBase &schemaObj)
Construct a UsdLuxShadowAPI on the prim held by schemaObj .
Definition: shadowAPI.h:78
USDLUX_API UsdRelationship GetShadowIncludeRel() const
Set of geometry to consider for the purpose of casting shadows from a light.
static USDLUX_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...
USDLUX_API UsdAttribute GetShadowFalloffAttr() const
The near distance at which shadow falloff begins.
static USDLUX_API UsdLuxShadowAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
USDLUX_API UsdSchemaType _GetSchemaType() const override
Returns the type of schema this class belongs to.
The base class for all API schemas.
Scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time.
Definition: attribute.h:176
virtual USDLUX_API ~UsdLuxShadowAPI()
Destructor.
USDLUX_API UsdAttribute CreateShadowFalloffAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShadowFalloffAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
Controls to refine a light's shadow behavior.
Definition: shadowAPI.h:58
USDLUX_API UsdAttribute CreateShadowEnableAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShadowEnableAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdAttribute GetShadowEnableAttr() const
Enables shadows to be cast by this light.
UsdSchemaType
An enum representing which type of schema a given schema class belongs to.
Definition: common.h:149
static const UsdSchemaType schemaType
Compile time constant representing what kind of schema this class is.
Definition: shadowAPI.h:64
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:131
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:438
Single Apply API schema.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:287
USDLUX_API UsdRelationship CreateShadowIncludeRel() const
See GetShadowIncludeRel(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdRelationship GetShadowExcludeRel() const
Set of geometry to ignore for the purpose of casting shadows from a light.
A UsdRelationship creates dependencies between scenegraph objects by allowing a prim to target other ...
Definition: relationship.h:128
USDLUX_API UsdAttribute GetShadowFalloffGammaAttr() const
A gamma (i.e., exponential) control over shadow strength with linear distance within the falloff zone...
Contains an asset path and an optional resolved path.
Definition: assetPath.h:43
USDLUX_API UsdAttribute CreateShadowFalloffGammaAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShadowFalloffGammaAttr(), and also Create vs Get Property Methods for when to use Get vs Creat...
TfType represents a dynamic runtime type.
Definition: type.h:70
Singleton registry that provides access to prim and property definition information for registered Us...
USDLUX_API UsdAttribute GetShadowDistanceAttr() const
The maximum distance shadows are cast.
USDLUX_API UsdRelationship CreateShadowExcludeRel() const
See GetShadowExcludeRel(), and also Create vs Get Property Methods for when to use Get vs Create...
The base class for all schema types in Usd.
Definition: schemaBase.h:56
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:182