All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lightAPI.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 USDRI_GENERATED_LIGHTAPI_H
25 #define USDRI_GENERATED_LIGHTAPI_H
26 
28 
29 #include "pxr/pxr.h"
30 #include "pxr/usd/usdRi/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/usdRi/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 // RILIGHTAPI //
51 // -------------------------------------------------------------------------- //
52 
59 {
60 public:
65 
70  explicit UsdRiLightAPI(const UsdPrim& prim=UsdPrim())
71  : UsdAPISchemaBase(prim)
72  {
73  }
74 
78  explicit UsdRiLightAPI(const UsdSchemaBase& schemaObj)
79  : UsdAPISchemaBase(schemaObj)
80  {
81  }
82 
84  USDRI_API
85  virtual ~UsdRiLightAPI();
86 
90  USDRI_API
91  static const TfTokenVector &
92  GetSchemaAttributeNames(bool includeInherited=true);
93 
103  USDRI_API
104  static UsdRiLightAPI
105  Get(const UsdStagePtr &stage, const SdfPath &path);
106 
107 
120  USDRI_API
121  static UsdRiLightAPI
122  Apply(const UsdPrim &prim);
123 
124 protected:
128  USDRI_API
129  UsdSchemaType _GetSchemaType() const override;
130 
131 private:
132  // needs to invoke _GetStaticTfType.
133  friend class UsdSchemaRegistry;
134  USDRI_API
135  static const TfType &_GetStaticTfType();
136 
137  static bool _IsTypedSchema();
138 
139  // override SchemaBase virtuals.
140  USDRI_API
141  const TfType &_GetTfType() const override;
142 
143 public:
144  // --------------------------------------------------------------------- //
145  // RISAMPLINGFIXEDSAMPLECOUNT
146  // --------------------------------------------------------------------- //
158  USDRI_API
160 
166  USDRI_API
167  UsdAttribute CreateRiSamplingFixedSampleCountAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
168 
169 public:
170  // --------------------------------------------------------------------- //
171  // RISAMPLINGIMPORTANCEMULTIPLIER
172  // --------------------------------------------------------------------- //
179  USDRI_API
181 
187  USDRI_API
188  UsdAttribute CreateRiSamplingImportanceMultiplierAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
189 
190 public:
191  // --------------------------------------------------------------------- //
192  // RIINTENSITYNEARDIST
193  // --------------------------------------------------------------------- //
203  USDRI_API
205 
211  USDRI_API
212  UsdAttribute CreateRiIntensityNearDistAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
213 
214 public:
215  // --------------------------------------------------------------------- //
216  // RILIGHTGROUP
217  // --------------------------------------------------------------------- //
226  USDRI_API
228 
234  USDRI_API
235  UsdAttribute CreateRiLightGroupAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
236 
237 public:
238  // --------------------------------------------------------------------- //
239  // RISHADOWTHINSHADOW
240  // --------------------------------------------------------------------- //
251  USDRI_API
253 
259  USDRI_API
260  UsdAttribute CreateRiShadowThinShadowAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
261 
262 public:
263  // --------------------------------------------------------------------- //
264  // RITRACELIGHTPATHS
265  // --------------------------------------------------------------------- //
276  USDRI_API
278 
284  USDRI_API
285  UsdAttribute CreateRiTraceLightPathsAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
286 
287 public:
288  // ===================================================================== //
289  // Feel free to add custom code below this line, it will be preserved by
290  // the code generator.
291  //
292  // Just remember to:
293  // - Close the class declaration with };
294  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
295  // - Close the include guard with #endif
296  // ===================================================================== //
297  // --(BEGIN CUSTOM CODE)--
298 };
299 
300 PXR_NAMESPACE_CLOSE_SCOPE
301 
302 #endif
USDRI_API UsdAttribute GetRiSamplingImportanceMultiplierAttr() const
Importance of this light for noise control.
USDRI_API UsdAttribute CreateRiTraceLightPathsAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiTraceLightPathsAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDRI_API UsdAttribute CreateRiShadowThinShadowAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiShadowThinShadowAttr(), and also Create vs Get Property Methods for when to use Get vs Creat...
USDRI_API UsdAttribute GetRiIntensityNearDistAttr() const
Near distance between the point being illuminated and the light at which the sample doesn't get brigh...
virtual USDRI_API ~UsdRiLightAPI()
Destructor.
The base class for all API schemas.
USDRI_API UsdAttribute CreateRiLightGroupAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiLightGroupAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
Scenegraph object for authoring and retrieving numeric, string, and array valued data, sampled over time.
Definition: attribute.h:176
USDRI_API UsdAttribute CreateRiSamplingImportanceMultiplierAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiSamplingImportanceMultiplierAttr(), and also Create vs Get Property Methods for when to use ...
USDRI_API UsdSchemaType _GetSchemaType() const override
Returns the type of schema this class belongs to.
static USDRI_API UsdRiLightAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdRiLightAPI holding the prim adhering to this schema at path on stage. ...
UsdRiLightAPI(const UsdSchemaBase &schemaObj)
Construct a UsdRiLightAPI on the prim held by schemaObj .
Definition: lightAPI.h:78
UsdRiLightAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdRiLightAPI on UsdPrim prim .
Definition: lightAPI.h:70
static USDRI_API UsdRiLightAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
USDRI_API UsdAttribute GetRiShadowThinShadowAttr() const
Enable thin shadow and disable refraction caustics for this light.
UsdSchemaType
An enum representing which type of schema a given schema class belongs to.
Definition: common.h:149
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
Contains an asset path and an optional resolved path.
Definition: assetPath.h:43
USDRI_API UsdAttribute CreateRiIntensityNearDistAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiIntensityNearDistAttr(), and also Create vs Get Property Methods for when to use Get vs Crea...
static const UsdSchemaType schemaType
Compile time constant representing what kind of schema this class is.
Definition: lightAPI.h:64
USDRI_API UsdAttribute GetRiSamplingFixedSampleCountAttr() const
Specifies an override of the number of light samples to be taken for this light source.
TfType represents a dynamic runtime type.
Definition: type.h:70
USDRI_API UsdAttribute GetRiLightGroupAttr() const
Specify the light group name used for light group LPEs.
Singleton registry that provides access to prim and property definition information for registered Us...
USDRI_API UsdAttribute CreateRiSamplingFixedSampleCountAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiSamplingFixedSampleCountAttr(), and also Create vs Get Property Methods for when to use Get ...
The base class for all schema types in Usd.
Definition: schemaBase.h:56
USDRI_API UsdAttribute GetRiTraceLightPathsAttr() const
Enable light and photon tracing from this light.
RiLightAPI is an API schema that provides an interface to add Renderman-specific attributes to lights...
Definition: lightAPI.h:58
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:182
static USDRI_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...