All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
lightFilterAPI.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_LIGHTFILTERAPI_H
25 #define USDRI_GENERATED_LIGHTFILTERAPI_H
26 
28 
29 #include "pxr/pxr.h"
30 #include "pxr/usd/usdRi/api.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 // RILIGHTFILTERAPI //
51 // -------------------------------------------------------------------------- //
52 
67 {
68 public:
73 
78  explicit UsdRiLightFilterAPI(const UsdPrim& prim=UsdPrim())
79  : UsdAPISchemaBase(prim)
80  {
81  }
82 
86  explicit UsdRiLightFilterAPI(const UsdSchemaBase& schemaObj)
87  : UsdAPISchemaBase(schemaObj)
88  {
89  }
90 
92  USDRI_API
93  virtual ~UsdRiLightFilterAPI();
94 
98  USDRI_API
99  static const TfTokenVector &
100  GetSchemaAttributeNames(bool includeInherited=true);
101 
111  USDRI_API
112  static UsdRiLightFilterAPI
113  Get(const UsdStagePtr &stage, const SdfPath &path);
114 
115 
132  USDRI_API
133  static bool
134  CanApply(const UsdPrim &prim, std::string *whyNot=nullptr);
135 
151  USDRI_API
152  static UsdRiLightFilterAPI
153  Apply(const UsdPrim &prim);
154 
155 protected:
159  USDRI_API
160  UsdSchemaKind _GetSchemaKind() const override;
161 
162 private:
163  // needs to invoke _GetStaticTfType.
164  friend class UsdSchemaRegistry;
165  USDRI_API
166  static const TfType &_GetStaticTfType();
167 
168  static bool _IsTypedSchema();
169 
170  // override SchemaBase virtuals.
171  USDRI_API
172  const TfType &_GetTfType() const override;
173 
174 public:
175  // --------------------------------------------------------------------- //
176  // RICOMBINEMODE
177  // --------------------------------------------------------------------- //
204  USDRI_API
206 
212  USDRI_API
213  UsdAttribute CreateRiCombineModeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
214 
215 public:
216  // --------------------------------------------------------------------- //
217  // RIDENSITY
218  // --------------------------------------------------------------------- //
226  USDRI_API
228 
234  USDRI_API
235  UsdAttribute CreateRiDensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
236 
237 public:
238  // --------------------------------------------------------------------- //
239  // RIINVERT
240  // --------------------------------------------------------------------- //
248  USDRI_API
250 
256  USDRI_API
257  UsdAttribute CreateRiInvertAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
258 
259 public:
260  // --------------------------------------------------------------------- //
261  // RIINTENSITY
262  // --------------------------------------------------------------------- //
270  USDRI_API
272 
278  USDRI_API
279  UsdAttribute CreateRiIntensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
280 
281 public:
282  // --------------------------------------------------------------------- //
283  // RIEXPOSURE
284  // --------------------------------------------------------------------- //
292  USDRI_API
294 
300  USDRI_API
301  UsdAttribute CreateRiExposureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
302 
303 public:
304  // --------------------------------------------------------------------- //
305  // RIDIFFUSE
306  // --------------------------------------------------------------------- //
315  USDRI_API
317 
323  USDRI_API
324  UsdAttribute CreateRiDiffuseAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
325 
326 public:
327  // --------------------------------------------------------------------- //
328  // RISPECULAR
329  // --------------------------------------------------------------------- //
338  USDRI_API
340 
346  USDRI_API
347  UsdAttribute CreateRiSpecularAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
348 
349 public:
350  // ===================================================================== //
351  // Feel free to add custom code below this line, it will be preserved by
352  // the code generator.
353  //
354  // Just remember to:
355  // - Close the class declaration with };
356  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
357  // - Close the include guard with #endif
358  // ===================================================================== //
359  // --(BEGIN CUSTOM CODE)--
360 };
361 
362 PXR_NAMESPACE_CLOSE_SCOPE
363 
364 #endif
static USDRI_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.
virtual USDRI_API ~UsdRiLightFilterAPI()
Destructor.
USDRI_API UsdSchemaKind _GetSchemaKind() const override
Returns the kind of schema this class belongs to.
USDRI_API UsdAttribute CreateRiDensityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiDensityAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDRI_API UsdAttribute GetRiCombineModeAttr() const
Specifies how this filter combines with others.
USDRI_API UsdAttribute GetRiSpecularAttr() const
A multiplier for the effect of this light on the specular response of materials.
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
USDRI_API UsdAttribute GetRiInvertAttr() const
When true, inverts the output of the light filter.
UsdSchemaKind
An enum representing which kind of schema a given schema class belongs to.
Definition: common.h:127
USDRI_API UsdAttribute CreateRiIntensityAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiIntensityAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
Single Apply API schema.
static USDRI_API UsdRiLightFilterAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdRiLightFilterAPI holding the prim adhering to this schema at path on stage.
USDRI_API UsdAttribute CreateRiDiffuseAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiDiffuseAttr(), 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.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:132
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:442
USDRI_API UsdAttribute GetRiExposureAttr() const
Exposure control for the multiplier.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:288
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...
USDRI_API UsdAttribute GetRiDiffuseAttr() const
A multiplier for the effect of this light on the diffuse response of materials.
static USDRI_API UsdRiLightFilterAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
Contains an asset path and an optional resolved path.
Definition: assetPath.h:47
UsdRiLightFilterAPI(const UsdSchemaBase &schemaObj)
Construct a UsdRiLightFilterAPI on the prim held by schemaObj .
USDRI_API UsdAttribute CreateRiCombineModeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiCombineModeAttr(), 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...
The base class for all schema types in Usd.
Definition: schemaBase.h:56
USDRI_API UsdAttribute GetRiDensityAttr() const
Scales the strength of the filter.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:168
USDRI_API UsdAttribute CreateRiSpecularAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiSpecularAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDRI_API UsdAttribute GetRiIntensityAttr() const
Multipier for the diffuse and specular result.
UsdRiLightFilterAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdRiLightFilterAPI on UsdPrim prim .
TfToken class for efficient string referencing and hashing, plus conversions to and from stl string c...
USDRI_API UsdAttribute CreateRiInvertAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiInvertAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDRI_API UsdAttribute CreateRiExposureAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetRiExposureAttr(), and also Create vs Get Property Methods for when to use Get vs Create...