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  // --------------------------------------------------------------------- //
176  USDRI_API
178 
184  USDRI_API
185  UsdAttribute CreateRiCombineModeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
186 
187 public:
188  // --------------------------------------------------------------------- //
189  // RIDENSITY
190  // --------------------------------------------------------------------- //
197  USDRI_API
199 
205  USDRI_API
206  UsdAttribute CreateRiDensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
207 
208 public:
209  // --------------------------------------------------------------------- //
210  // RIINVERT
211  // --------------------------------------------------------------------- //
218  USDRI_API
220 
226  USDRI_API
227  UsdAttribute CreateRiInvertAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
228 
229 public:
230  // --------------------------------------------------------------------- //
231  // RIINTENSITY
232  // --------------------------------------------------------------------- //
239  USDRI_API
241 
247  USDRI_API
248  UsdAttribute CreateRiIntensityAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
249 
250 public:
251  // --------------------------------------------------------------------- //
252  // RIEXPOSURE
253  // --------------------------------------------------------------------- //
260  USDRI_API
262 
268  USDRI_API
269  UsdAttribute CreateRiExposureAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
270 
271 public:
272  // --------------------------------------------------------------------- //
273  // RIDIFFUSE
274  // --------------------------------------------------------------------- //
282  USDRI_API
284 
290  USDRI_API
291  UsdAttribute CreateRiDiffuseAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
292 
293 public:
294  // --------------------------------------------------------------------- //
295  // RISPECULAR
296  // --------------------------------------------------------------------- //
304  USDRI_API
306 
312  USDRI_API
313  UsdAttribute CreateRiSpecularAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
314 
315 public:
316  // ===================================================================== //
317  // Feel free to add custom code below this line, it will be preserved by
318  // the code generator.
319  //
320  // Just remember to:
321  // - Close the class declaration with };
322  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
323  // - Close the include guard with #endif
324  // ===================================================================== //
325  // --(BEGIN CUSTOM CODE)--
326 };
327 
328 PXR_NAMESPACE_CLOSE_SCOPE
329 
330 #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: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.
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...