usdrt/scenegraph/usd/usdLux/diskLight.h
File members: usdrt/scenegraph/usd/usdLux/diskLight.h
// Copyright (c) 2022-2024, NVIDIA CORPORATION. All rights reserved.
//
// NVIDIA CORPORATION and its licensors retain all intellectual property
// and proprietary rights in and to this software, related documentation
// and any modifications thereto. Any use, reproduction, disclosure or
// distribution of this software and related documentation without an express
// license agreement from NVIDIA CORPORATION is strictly prohibited.
//
// TODO USD COPYRIGHT AS WELL?
#pragma once
// GENERATED FILE DO NOT EDIT
#include "usdrt/scenegraph/usd/usdLux/boundableLightBase.h"
#include "usdrt/scenegraph/usd/usdLux/tokens.h"
// ===================================================================== //
// Feel free to add custom includes between BEGIN and END CUSTOM INCLUDES
// below this line. It will be preserved by the code generator.
// We are using this instead of the `extraIncludes` in the pxr schema.usda
// files to allow for implementation differences in the custom code.
// ===================================================================== //
// --(BEGIN CUSTOM INCLUDES)--
// --(END CUSTOM INCLUDES)--
#include <omni/core/IObject.h>
#include <usdrt/scenegraph/base/tf/token.h>
#include <usdrt/scenegraph/base/vt/array.h>
#include <usdrt/scenegraph/interface/IRtAttribute.h>
#include <usdrt/scenegraph/interface/IRtPrim.h>
#include <usdrt/scenegraph/interface/IRtPrimRange.h>
#include <usdrt/scenegraph/interface/IRtRelationship.h>
#include <usdrt/scenegraph/interface/IRtStage.h>
#include <usdrt/scenegraph/usd/sdf/path.h>
#include <usdrt/scenegraph/usd/sdf/types.h>
#include <usdrt/scenegraph/usd/sdf/valueTypeName.h>
#include <usdrt/scenegraph/usd/usd/attribute.h>
#include <usdrt/scenegraph/usd/usd/common.h>
#include <usdrt/scenegraph/usd/usd/prim.h>
#include <usdrt/scenegraph/usd/usd/timeCode.h>
namespace usdrt
{
// -------------------------------------------------------------------------- //
// DISKLIGHT //
// -------------------------------------------------------------------------- //
class UsdLuxDiskLight : public UsdLuxBoundableLightBase
{
public:
static const UsdSchemaType schemaType = UsdSchemaType::ConcreteTyped;
explicit UsdLuxDiskLight(const UsdPrim& prim = UsdPrim()) : UsdLuxBoundableLightBase(prim)
{
}
explicit UsdLuxDiskLight(const UsdSchemaBase& schemaObj) : UsdLuxBoundableLightBase(schemaObj)
{
}
virtual ~UsdLuxDiskLight()
{
}
static UsdLuxDiskLight Define(const UsdStageRefPtr& stage, const SdfPath& path);
static const TfToken _GetStaticTfType();
private:
/* virtual */
const TfToken _GetTfTypeToken() const override;
public:
// --------------------------------------------------------------------- //
// LIGHTSHADERID
// --------------------------------------------------------------------- //
UsdAttribute GetLightShaderIdAttr() const;
UsdAttribute CreateLightShaderIdAttr() const;
public:
// --------------------------------------------------------------------- //
// RADIUS
// --------------------------------------------------------------------- //
UsdAttribute GetRadiusAttr() const;
UsdAttribute CreateRadiusAttr() const;
// ===================================================================== //
// Feel free to add custom code for the class definition between BEGIN
// and END CUSTOM DECLARATION CODE below this line. It will be preserved by
// the code generator.
// ===================================================================== //
// --(BEGIN CUSTOM DECLARATION CODE)--
// --(END CUSTOM DECLARATION CODE)--
};
inline const TfToken UsdLuxDiskLight::_GetStaticTfType()
{
const static TfToken token("UsdLuxDiskLight");
return token;
}
/* virtual */
inline const TfToken UsdLuxDiskLight::_GetTfTypeToken() const
{
const static TfToken token("UsdLuxDiskLight");
return token;
}
/* static */
inline UsdLuxDiskLight UsdLuxDiskLight::Define(const UsdStageRefPtr& stage, const SdfPath& path)
{
if (!stage)
{
// TODO error
return UsdLuxDiskLight();
}
return UsdLuxDiskLight(stage->DefinePrim(path, _GetStaticTfType()));
}
inline UsdAttribute UsdLuxDiskLight::GetLightShaderIdAttr() const
{
return GetPrim().GetAttribute(TfToken(UsdLuxTokens->lightShaderId));
}
inline UsdAttribute UsdLuxDiskLight::CreateLightShaderIdAttr() const
{
return GetPrim().CreateAttribute(TfToken(UsdLuxTokens->lightShaderId), SdfValueTypeNames->Token,
/* custom = */ false);
}
inline UsdAttribute UsdLuxDiskLight::GetRadiusAttr() const
{
return GetPrim().GetAttribute(TfToken(UsdLuxTokens->inputsRadius));
}
inline UsdAttribute UsdLuxDiskLight::CreateRadiusAttr() const
{
return GetPrim().CreateAttribute(TfToken(UsdLuxTokens->inputsRadius), SdfValueTypeNames->Float,
/* custom = */ false);
}
} // namespace usdrt
// ===================================================================== //
// Feel free to add custom code below this line. It will be preserved by
// the code generator.
//
// Just remember to wrap code in the appropriate delimiters:
// 'namespace usdrt {', '}'.
// ===================================================================== //
// --(BEGIN CUSTOM CODE)--