All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
shapingAPI.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_SHAPINGAPI_H
25 #define USDLUX_GENERATED_SHAPINGAPI_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 // SHAPINGAPI //
51 // -------------------------------------------------------------------------- //
52 
58 {
59 public:
64 
69  explicit UsdLuxShapingAPI(const UsdPrim& prim=UsdPrim())
70  : UsdAPISchemaBase(prim)
71  {
72  }
73 
77  explicit UsdLuxShapingAPI(const UsdSchemaBase& schemaObj)
78  : UsdAPISchemaBase(schemaObj)
79  {
80  }
81 
83  USDLUX_API
84  virtual ~UsdLuxShapingAPI();
85 
89  USDLUX_API
90  static const TfTokenVector &
91  GetSchemaAttributeNames(bool includeInherited=true);
92 
102  USDLUX_API
103  static UsdLuxShapingAPI
104  Get(const UsdStagePtr &stage, const SdfPath &path);
105 
106 
119  USDLUX_API
120  static UsdLuxShapingAPI
121  Apply(const UsdPrim &prim);
122 
123 protected:
127  USDLUX_API
128  UsdSchemaType _GetSchemaType() const override;
129 
130 private:
131  // needs to invoke _GetStaticTfType.
132  friend class UsdSchemaRegistry;
133  USDLUX_API
134  static const TfType &_GetStaticTfType();
135 
136  static bool _IsTypedSchema();
137 
138  // override SchemaBase virtuals.
139  USDLUX_API
140  const TfType &_GetTfType() const override;
141 
142 public:
143  // --------------------------------------------------------------------- //
144  // SHAPINGFOCUS
145  // --------------------------------------------------------------------- //
155  USDLUX_API
157 
163  USDLUX_API
164  UsdAttribute CreateShapingFocusAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
165 
166 public:
167  // --------------------------------------------------------------------- //
168  // SHAPINGFOCUSTINT
169  // --------------------------------------------------------------------- //
178  USDLUX_API
180 
186  USDLUX_API
187  UsdAttribute CreateShapingFocusTintAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
188 
189 public:
190  // --------------------------------------------------------------------- //
191  // SHAPINGCONEANGLE
192  // --------------------------------------------------------------------- //
200  USDLUX_API
202 
208  USDLUX_API
209  UsdAttribute CreateShapingConeAngleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
210 
211 public:
212  // --------------------------------------------------------------------- //
213  // SHAPINGCONESOFTNESS
214  // --------------------------------------------------------------------- //
222  USDLUX_API
224 
230  USDLUX_API
231  UsdAttribute CreateShapingConeSoftnessAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
232 
233 public:
234  // --------------------------------------------------------------------- //
235  // SHAPINGIESFILE
236  // --------------------------------------------------------------------- //
244  USDLUX_API
246 
252  USDLUX_API
253  UsdAttribute CreateShapingIesFileAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
254 
255 public:
256  // --------------------------------------------------------------------- //
257  // SHAPINGIESANGLESCALE
258  // --------------------------------------------------------------------- //
266  USDLUX_API
268 
274  USDLUX_API
275  UsdAttribute CreateShapingIesAngleScaleAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
276 
277 public:
278  // --------------------------------------------------------------------- //
279  // SHAPINGIESNORMALIZE
280  // --------------------------------------------------------------------- //
288  USDLUX_API
290 
296  USDLUX_API
297  UsdAttribute CreateShapingIesNormalizeAttr(VtValue const &defaultValue = VtValue(), bool writeSparsely=false) const;
298 
299 public:
300  // ===================================================================== //
301  // Feel free to add custom code below this line, it will be preserved by
302  // the code generator.
303  //
304  // Just remember to:
305  // - Close the class declaration with };
306  // - Close the namespace with PXR_NAMESPACE_CLOSE_SCOPE
307  // - Close the include guard with #endif
308  // ===================================================================== //
309  // --(BEGIN CUSTOM CODE)--
310 };
311 
312 PXR_NAMESPACE_CLOSE_SCOPE
313 
314 #endif
USDLUX_API UsdAttribute CreateShapingIesNormalizeAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingIesNormalizeAttr(), and also Create vs Get Property Methods for when to use Get vs Crea...
USDLUX_API UsdAttribute CreateShapingFocusAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingFocusAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdAttribute GetShapingFocusAttr() const
A control to shape the spread of 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...
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
USDLUX_API UsdSchemaType _GetSchemaType() const override
Returns the type of schema this class belongs to.
UsdLuxShapingAPI(const UsdSchemaBase &schemaObj)
Construct a UsdLuxShapingAPI on the prim held by schemaObj .
Definition: shapingAPI.h:77
Controls for shaping a light's emission.
Definition: shapingAPI.h:57
USDLUX_API UsdAttribute CreateShapingFocusTintAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingFocusTintAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
USDLUX_API UsdAttribute GetShapingIesAngleScaleAttr() const
Rescales the angular distribution of the IES profile.
UsdSchemaType
An enum representing which type of schema a given schema class belongs to.
Definition: common.h:149
virtual USDLUX_API ~UsdLuxShapingAPI()
Destructor.
UsdPrim is the sole persistent scenegraph object on a UsdStage, and is the embodiment of a "Prim" as ...
Definition: prim.h:131
USDLUX_API UsdAttribute CreateShapingIesAngleScaleAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingIesAngleScaleAttr(), and also Create vs Get Property Methods for when to use Get vs Cre...
std::vector< TfToken > TfTokenVector
Convenience types.
Definition: token.h:438
Single Apply API schema.
USDLUX_API UsdAttribute CreateShapingIesFileAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingIesFileAttr(), and also Create vs Get Property Methods for when to use Get vs Create...
A path value used to locate objects in layers or scenegraphs.
Definition: path.h:287
static const UsdSchemaType schemaType
Compile time constant representing what kind of schema this class is.
Definition: shapingAPI.h:63
USDLUX_API UsdAttribute GetShapingConeAngleAttr() const
Angular limit off the primary axis to restrict the light spread.
static USDLUX_API UsdLuxShapingAPI Get(const UsdStagePtr &stage, const SdfPath &path)
Return a UsdLuxShapingAPI holding the prim adhering to this schema at path on stage.
Contains an asset path and an optional resolved path.
Definition: assetPath.h:43
UsdLuxShapingAPI(const UsdPrim &prim=UsdPrim())
Construct a UsdLuxShapingAPI on UsdPrim prim .
Definition: shapingAPI.h:69
static USDLUX_API UsdLuxShapingAPI Apply(const UsdPrim &prim)
Applies this single-apply API schema to the given prim.
USDLUX_API UsdAttribute GetShapingIesFileAttr() const
An IES (Illumination Engineering Society) light profile describing the angular distribution of light...
USDLUX_API UsdAttribute CreateShapingConeAngleAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingConeAngleAttr(), 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...
USDLUX_API UsdAttribute GetShapingConeSoftnessAttr() const
Controls the cutoff softness for cone angle.
USDLUX_API UsdAttribute GetShapingIesNormalizeAttr() const
Normalizes the IES profile so that it affects the shaping of the light while preserving the overall e...
The base class for all schema types in Usd.
Definition: schemaBase.h:56
USDLUX_API UsdAttribute GetShapingFocusTintAttr() const
Off-axis color tint.
Provides a container which may hold any type, and provides introspection and iteration over array typ...
Definition: value.h:182
USDLUX_API UsdAttribute CreateShapingConeSoftnessAttr(VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
See GetShapingConeSoftnessAttr(), and also Create vs Get Property Methods for when to use Get vs Crea...