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"
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 // RILIGHTFILTERAPI //
51 // -------------------------------------------------------------------------- //
52 
63 {
64 public:
69 
74  explicit UsdRiLightFilterAPI(const UsdPrim& prim=UsdPrim())
75  : UsdAPISchemaBase(prim)
76  {
77  }
78 
82  explicit UsdRiLightFilterAPI(const UsdSchemaBase& schemaObj)
83  : UsdAPISchemaBase(schemaObj)
84  {
85  }
86 
88  USDRI_API
89  virtual ~UsdRiLightFilterAPI();
90 
94  USDRI_API
95  static const TfTokenVector &
96  GetSchemaAttributeNames(bool includeInherited=true);
97 
107  USDRI_API
108  static UsdRiLightFilterAPI
109  Get(const UsdStagePtr &stage, const SdfPath &path);
110 
111 
124  USDRI_API
125  static UsdRiLightFilterAPI
126  Apply(const UsdPrim &prim);
127 
128 protected:
132  USDRI_API
133  UsdSchemaType _GetSchemaType() const override;
134 
135 private:
136  // needs to invoke _GetStaticTfType.
137  friend class UsdSchemaRegistry;
138  USDRI_API
139  static const TfType &_GetStaticTfType();
140 
141  static bool _IsTypedSchema();
142 
143  // override SchemaBase virtuals.
144  USDRI_API
145  const TfType &_GetTfType() const override;
146 
147 public:
148  // --------------------------------------------------------------------- //
149  // RICOMBINEMODE
150  // --------------------------------------------------------------------- //
177  USDRI_API
179 
185  USDRI_API
186  UsdAttribute CreateRiCombineModeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
187 
188 public:
189  // --------------------------------------------------------------------- //
190  // RIDENSITY
191  // --------------------------------------------------------------------- //
199  USDRI_API
201 
207  USDRI_API
208  UsdAttribute CreateRiDensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
209 
210 public:
211  // --------------------------------------------------------------------- //
212  // RIINVERT
213  // --------------------------------------------------------------------- //
221  USDRI_API
223 
229  USDRI_API
230  UsdAttribute CreateRiInvertAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
231 
232 public:
233  // --------------------------------------------------------------------- //
234  // RIINTENSITY
235  // --------------------------------------------------------------------- //
243  USDRI_API
245 
251  USDRI_API
252  UsdAttribute CreateRiIntensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
253 
254 public:
255  // --------------------------------------------------------------------- //
256  // RIEXPOSURE
257  // --------------------------------------------------------------------- //
265  USDRI_API
267 
273  USDRI_API
274  UsdAttribute CreateRiExposureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
275 
276 public:
277  // --------------------------------------------------------------------- //
278  // RIDIFFUSE
279  // --------------------------------------------------------------------- //
288  USDRI_API
290 
296  USDRI_API
297  UsdAttribute CreateRiDiffuseAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
298 
299 public:
300  // --------------------------------------------------------------------- //
301  // RISPECULAR
302  // --------------------------------------------------------------------- //
311  USDRI_API
313 
319  USDRI_API
320  UsdAttribute CreateRiSpecularAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
321 
322 public:
323  // ===================================================================== //
324  // Feel free to add custom code below this line, it will be preserved by
325  // the code generator.
326  //
327  // Just remember to:
328  // - Close the class declaration with };
329  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
330  // - Close the include guard with #endif
331  // ===================================================================== //
332  // --(BEGIN CUSTOM CODE)--
333 };
334 
335 PXR_NAMESPACE_CLOSE_SCOPE
336 
337 #endif
virtual USDRI_API ~UsdRiLightFilterAPI()
Destructor.
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
Renderman-specific attributes for light filters.
USDRI_API UsdAttribute GetRiInvertAttr() const
When true, inverts the output of the light filter.
USDRI_API UsdSchemaType _GetSchemaType() const override
Returns the type of schema this class belongs to.
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...
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...
UsdSchemaType
An enum representing which type of schema a given schema class belongs to.
Definition: common.h:127
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:433
Single Apply API schema.
USDRI_API UsdAttribute GetRiExposureAttr() const
Exposure control for the multiplier.
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:287
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:43
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:70
Singleton registry that provides access to prim and property definition information for registered Us...
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:182
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 .
static const UsdSchemaType schemaType
Compile time constant representing what kind of schema this class is.
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...