HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UsdLuxLightFilter Class Reference

#include <lightFilter.h>

+ Inheritance diagram for UsdLuxLightFilter:

Public Member Functions

 UsdLuxLightFilter (const UsdPrim &prim=UsdPrim())
 
 UsdLuxLightFilter (const UsdSchemaBase &schemaObj)
 
virtual USDLUX_API ~UsdLuxLightFilter ()
 Destructor. More...
 
USDLUX_API UsdAttribute GetShaderIdAttr () const
 
USDLUX_API UsdAttribute CreateShaderIdAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDLUX_API UsdCollectionAPI GetFilterLinkCollectionAPI () const
 
USDLUX_API UsdAttribute GetShaderIdAttrForRenderContext (const TfToken &renderContext) const
 
USDLUX_API UsdAttribute CreateShaderIdAttrForRenderContext (const TfToken &renderContext, VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDLUX_API TfToken GetShaderId (const TfTokenVector &renderContexts) const
 
Conversion to and from UsdShadeConnectableAPI
USDLUX_API UsdLuxLightFilter (const UsdShadeConnectableAPI &connectable)
 
USDLUX_API UsdShadeConnectableAPI ConnectableAPI () const
 
Outputs API

Outputs represent a typed attribute on a light filter whose value is computed externally.

USDLUX_API UsdShadeOutput CreateOutput (const TfToken &name, const SdfValueTypeName &typeName)
 
USDLUX_API UsdShadeOutput GetOutput (const TfToken &name) const
 
USDLUX_API std::vector
< UsdShadeOutput
GetOutputs (bool onlyAuthored=true) const
 
Inputs API

Inputs are connectable attribute with a typed value.

Light filter parameters are encoded as inputs.

USDLUX_API UsdShadeInput CreateInput (const TfToken &name, const SdfValueTypeName &typeName)
 
USDLUX_API UsdShadeInput GetInput (const TfToken &name) const
 
USDLUX_API std::vector
< UsdShadeInput
GetInputs (bool onlyAuthored=true) const
 
- Public Member Functions inherited from UsdGeomXformable
 UsdGeomXformable (const UsdPrim &prim=UsdPrim())
 
 UsdGeomXformable (const UsdSchemaBase &schemaObj)
 
virtual USDGEOM_API ~UsdGeomXformable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetXformOpOrderAttr () const
 
USDGEOM_API UsdAttribute CreateXformOpOrderAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdGeomXformOp AddXformOp (UsdGeomXformOp::Type const opType, UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddTranslateOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddScaleOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXYZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateXZYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYXZOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateYZXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZXYOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddRotateZYXOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddOrientOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionFloat, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API UsdGeomXformOp AddTransformOp (UsdGeomXformOp::Precision const precision=UsdGeomXformOp::PrecisionDouble, TfToken const &opSuffix=TfToken(), bool isInverseOp=false) const
 
USDGEOM_API bool SetResetXformStack (bool resetXform) const
 
USDGEOM_API bool GetResetXformStack () const
 
USDGEOM_API bool SetXformOpOrder (std::vector< UsdGeomXformOp > const &orderedXformOps, bool resetXformStack=false) const
 
USDGEOM_API std::vector
< UsdGeomXformOp
GetOrderedXformOps (bool *resetsXformStack) const
 
USDGEOM_API bool ClearXformOpOrder () const
 Clears the local transform stack. More...
 
USDGEOM_API UsdGeomXformOp MakeMatrixXform () const
 
USDGEOM_API bool TransformMightBeTimeVarying () const
 
USDGEOM_API bool TransformMightBeTimeVarying (const std::vector< UsdGeomXformOp > &ops) const
 
USDGEOM_API bool GetTimeSamples (std::vector< double > *times) const
 
USDGEOM_API bool GetTimeSamplesInInterval (const GfInterval &interval, std::vector< double > *times) const
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const UsdTimeCode time=UsdTimeCode::Default()) const
 
USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, bool *resetsXformStack, const std::vector< UsdGeomXformOp > &ops, const UsdTimeCode time=UsdTimeCode::Default()) const
 
- Public Member Functions inherited from UsdGeomImageable
 UsdGeomImageable (const UsdPrim &prim=UsdPrim())
 
 UsdGeomImageable (const UsdSchemaBase &schemaObj)
 
virtual USDGEOM_API ~UsdGeomImageable ()
 Destructor. More...
 
USDGEOM_API UsdAttribute GetVisibilityAttr () const
 
USDGEOM_API UsdAttribute CreateVisibilityAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdAttribute GetPurposeAttr () const
 
USDGEOM_API UsdAttribute CreatePurposeAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const
 
USDGEOM_API UsdRelationship GetProxyPrimRel () const
 
USDGEOM_API UsdRelationship CreateProxyPrimRel () const
 
USDGEOM_API void MakeVisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API void MakeInvisible (const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API TfToken ComputeVisibility (UsdTimeCode const &time=UsdTimeCode::Default()) const
 
USDGEOM_API UsdAttribute GetPurposeVisibilityAttr (const TfToken &purpose=UsdGeomTokens->default_) const
 
USDGEOM_API TfToken ComputeEffectiveVisibility (const TfToken &purpose=UsdGeomTokens->default_, const UsdTimeCode &time=UsdTimeCode::Default()) const
 
USDGEOM_API PurposeInfo ComputePurposeInfo () const
 
USDGEOM_API PurposeInfo ComputePurposeInfo (const PurposeInfo &parentPurposeInfo) const
 
USDGEOM_API TfToken ComputePurpose () const
 
USDGEOM_API UsdPrim ComputeProxyPrim (UsdPrim *renderPrim=NULL) const
 
USDGEOM_API bool SetProxyPrim (const UsdPrim &proxy) const
 
USDGEOM_API bool SetProxyPrim (const UsdSchemaBase &proxy) const
 
USDGEOM_API GfBBox3d ComputeWorldBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfBBox3d ComputeLocalBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfBBox3d ComputeUntransformedBound (UsdTimeCode const &time, TfToken const &purpose1=TfToken(), TfToken const &purpose2=TfToken(), TfToken const &purpose3=TfToken(), TfToken const &purpose4=TfToken()) const
 
USDGEOM_API GfMatrix4d ComputeLocalToWorldTransform (UsdTimeCode const &time) const
 
USDGEOM_API GfMatrix4d ComputeParentToWorldTransform (UsdTimeCode const &time) const
 
- Public Member Functions inherited from UsdTyped
 UsdTyped (const UsdPrim &prim=UsdPrim())
 
 UsdTyped (const UsdSchemaBase &schemaObj)
 
virtual USD_API ~UsdTyped ()
 Destructor. More...
 
- Public Member Functions inherited from UsdSchemaBase
bool IsConcrete () const
 
bool IsTyped () const
 
bool IsAPISchema () const
 Returns whether this is an API schema or not. More...
 
bool IsAppliedAPISchema () const
 
bool IsMultipleApplyAPISchema () const
 
UsdSchemaKind GetSchemaKind () const
 Returns the kind of schema this class is. More...
 
USD_API UsdSchemaBase (const UsdPrim &prim=UsdPrim())
 Construct and store prim as the held prim. More...
 
USD_API UsdSchemaBase (const UsdSchemaBase &otherSchema)
 Construct and store for the same prim held by otherSchema. More...
 
virtual USD_API ~UsdSchemaBase ()
 Destructor. More...
 
USD_API operator bool () const
 
UsdPrim GetPrim () const
 Return this schema object's held prim. More...
 
SdfPath GetPath () const
 Shorthand for GetPrim()->GetPath(). More...
 
USD_API const UsdPrimDefinitionGetSchemaClassPrimDefinition () const
 

Static Public Member Functions

static USDLUX_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDLUX_API UsdLuxLightFilter Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDLUX_API UsdLuxLightFilter Define (const UsdStagePtr &stage, const SdfPath &path)
 
- Static Public Member Functions inherited from UsdGeomXformable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDGEOM_API UsdGeomXformable Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDGEOM_API bool GetTimeSamples (std::vector< UsdGeomXformOp > const &orderedXformOps, std::vector< double > *times)
 
static USDGEOM_API bool GetTimeSamplesInInterval (std::vector< UsdGeomXformOp > const &orderedXformOps, const GfInterval &interval, std::vector< double > *times)
 
static USDGEOM_API bool GetLocalTransformation (GfMatrix4d *transform, std::vector< UsdGeomXformOp > const &ops, const UsdTimeCode time)
 
static USDGEOM_API bool IsTransformationAffectedByAttrNamed (const TfToken &attrName)
 
- Static Public Member Functions inherited from UsdGeomImageable
static USDGEOM_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USDGEOM_API UsdGeomImageable Get (const UsdStagePtr &stage, const SdfPath &path)
 
static USDGEOM_API const
TfTokenVector
GetOrderedPurposeTokens ()
 
- Static Public Member Functions inherited from UsdTyped
static USD_API const
TfTokenVector
GetSchemaAttributeNames (bool includeInherited=true)
 
static USD_API UsdTyped Get (const UsdStagePtr &stage, const SdfPath &path)
 
- Static Public Member Functions inherited from UsdSchemaBase
static const TfTokenVectorGetSchemaAttributeNames (bool includeInherited=true)
 

Static Public Attributes

static const UsdSchemaKind schemaKind = UsdSchemaKind::ConcreteTyped
 
- Static Public Attributes inherited from UsdGeomXformable
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractTyped
 
- Static Public Attributes inherited from UsdGeomImageable
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractTyped
 
- Static Public Attributes inherited from UsdTyped
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 
- Static Public Attributes inherited from UsdSchemaBase
static const UsdSchemaKind schemaKind = UsdSchemaKind::AbstractBase
 

Protected Member Functions

USDLUX_API UsdSchemaKind _GetSchemaKind () const override
 
- Protected Member Functions inherited from UsdTyped
USD_API bool _IsCompatible () const override
 
- Protected Member Functions inherited from UsdSchemaBase
virtual UsdSchemaKind _GetSchemaType () const
 
const TfType_GetType () const
 
USD_API UsdAttribute _CreateAttr (TfToken const &attrName, SdfValueTypeName const &typeName, bool custom, SdfVariability variability, VtValue const &defaultValue, bool writeSparsely) const
 

Friends

class UsdSchemaRegistry
 

Detailed Description

A light filter modifies the effect of a light. Lights refer to filters via relationships so that filters may be shared.

Linking

Filters can be linked to geometry. Linking controls which geometry a light-filter affects, when considering the light filters attached to a light illuminating the geometry.

Linking is specified as a collection (UsdCollectionAPI) which can be accessed via GetFilterLinkCollection().

For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in UsdLuxTokens. So to set an attribute to the value "rightHanded", use UsdLuxTokens->rightHanded as the value.

Definition at line 78 of file lightFilter.h.

Constructor & Destructor Documentation

UsdLuxLightFilter::UsdLuxLightFilter ( const UsdPrim prim = UsdPrim())
inlineexplicit

Construct a UsdLuxLightFilter on UsdPrim prim . Equivalent to UsdLuxLightFilter::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim

Definition at line 90 of file lightFilter.h.

UsdLuxLightFilter::UsdLuxLightFilter ( const UsdSchemaBase schemaObj)
inlineexplicit

Construct a UsdLuxLightFilter on the prim held by schemaObj . Should be preferred over UsdLuxLightFilter(schemaObj.GetPrim()), as it preserves SchemaBase state.

Definition at line 98 of file lightFilter.h.

virtual USDLUX_API UsdLuxLightFilter::~UsdLuxLightFilter ( )
virtual

Destructor.

USDLUX_API UsdLuxLightFilter::UsdLuxLightFilter ( const UsdShadeConnectableAPI connectable)

Constructor that takes a ConnectableAPI object. Allow implicit conversion of UsdShadeConnectableAPI to UsdLuxLightFilter.

Member Function Documentation

USDLUX_API UsdSchemaKind UsdLuxLightFilter::_GetSchemaKind ( ) const
overrideprotectedvirtual

Returns the kind of schema this class belongs to.

See Also
UsdSchemaKind

Reimplemented from UsdGeomXformable.

Reimplemented in UsdLuxPluginLightFilter.

USDLUX_API UsdShadeConnectableAPI UsdLuxLightFilter::ConnectableAPI ( ) const

Contructs and returns a UsdShadeConnectableAPI object with this light filter.

Note that most tasks can be accomplished without explicitly constructing a UsdShadeConnectable API, since connection-related API such as UsdShadeConnectableAPI::ConnectToSource() are static methods, and UsdLuxLightFilter will auto-convert to a UsdShadeConnectableAPI when passed to functions that want to act generically on a connectable UsdShadeConnectableAPI object.

USDLUX_API UsdShadeInput UsdLuxLightFilter::CreateInput ( const TfToken name,
const SdfValueTypeName typeName 
)

Create an input which can either have a value or can be connected. The attribute representing the input is created in the "inputs:" namespace. Inputs on light filters are connectable.

USDLUX_API UsdShadeOutput UsdLuxLightFilter::CreateOutput ( const TfToken name,
const SdfValueTypeName typeName 
)

Create an output which can either have a value or can be connected. The attribute representing the output is created in the "outputs:" namespace. Outputs on a light filter cannot be connected, as their value is assumed to be computed externally.

USDLUX_API UsdAttribute UsdLuxLightFilter::CreateShaderIdAttr ( VtValue const defaultValue = VtValue(),
bool  writeSparsely = false 
) const

See GetShaderIdAttr(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

USDLUX_API UsdAttribute UsdLuxLightFilter::CreateShaderIdAttrForRenderContext ( const TfToken renderContext,
VtValue const defaultValue = VtValue(),
bool  writeSparsely = false 
) const

Creates the shader ID attribute for the given renderContext.

See GetShaderIdAttrForRenderContext(), and also Usd_Create_Or_Get_Property for when to use Get vs Create. If specified, author defaultValue as the attribute's default, sparsely (when it makes sense to do so) if writeSparsely is true - the default for writeSparsely is false.

static USDLUX_API UsdLuxLightFilter UsdLuxLightFilter::Define ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage.

If a prim adhering to this schema at path is already defined on this stage, return that prim. Otherwise author an SdfPrimSpec with specifier == SdfSpecifierDef and this schema's prim type name for the prim at path at the current EditTarget. Author SdfPrimSpec s with specifier == SdfSpecifierDef and empty typeName at the current EditTarget for any nonexistent, or existing but not Defined ancestors.

The given path must be an absolute prim path that does not contain any variant selections.

If it is impossible to author any of the necessary PrimSpecs, (for example, in case path cannot map to the current UsdEditTarget's namespace) issue an error and return an invalid UsdPrim.

Note that this method may return a defined prim whose typeName does not specify this schema class, in case a stronger typeName opinion overrides the opinion at the current EditTarget.

static USDLUX_API UsdLuxLightFilter UsdLuxLightFilter::Get ( const UsdStagePtr &  stage,
const SdfPath path 
)
static

Return a UsdLuxLightFilter holding the prim adhering to this schema at path on stage. If no prim exists at path on stage, or if the prim at that path does not adhere to this schema, return an invalid schema object. This is shorthand for the following:

UsdLuxLightFilter(stage->GetPrimAtPath(path));
USDLUX_API UsdCollectionAPI UsdLuxLightFilter::GetFilterLinkCollectionAPI ( ) const

Return the UsdCollectionAPI interface used for examining and modifying the filter-linking of this light filter. Linking controls which geometry this light filter affects.

USDLUX_API UsdShadeInput UsdLuxLightFilter::GetInput ( const TfToken name) const

Return the requested input if it exists.

USDLUX_API std::vector<UsdShadeInput> UsdLuxLightFilter::GetInputs ( bool  onlyAuthored = true) const

Inputs are represented by attributes in the "inputs:" namespace. If onlyAuthored is true (the default), then only return authored attributes; otherwise, this also returns un-authored builtins.

USDLUX_API UsdShadeOutput UsdLuxLightFilter::GetOutput ( const TfToken name) const

Return the requested output if it exists.

USDLUX_API std::vector<UsdShadeOutput> UsdLuxLightFilter::GetOutputs ( bool  onlyAuthored = true) const

Outputs are represented by attributes in the "outputs:" namespace. If onlyAuthored is true (the default), then only return authored attributes; otherwise, this also returns un-authored builtins.

static USDLUX_API const TfTokenVector& UsdLuxLightFilter::GetSchemaAttributeNames ( bool  includeInherited = true)
static

Return a vector of names of all pre-declared attributes for this schema class and all its ancestor classes. Does not include attributes that may be authored by custom/extended methods of the schemas involved.

USDLUX_API TfToken UsdLuxLightFilter::GetShaderId ( const TfTokenVector renderContexts) const

Return the light filter's shader ID for the given list of available renderContexts.

The shader ID returned by this function is the identifier to use when looking up the shader definition for this light filter in the shader registry.

The render contexts are expected to be listed in priority order, so for each render context provided, this will try to find the shader ID attribute specific to that render context (see GetShaderIdAttrForRenderContext()) and will return the value of the first one found that has a non-empty value. If no shader ID value can be found for any of the given render contexts or renderContexts is empty, then this will return the value of the default shader ID attribute (see GetShaderIdAttr()).

USDLUX_API UsdAttribute UsdLuxLightFilter::GetShaderIdAttr ( ) const

Default ID for the light filter's shader. This defines the shader ID for this light filter when a render context specific shader ID is not available.

See Also
GetShaderId
GetShaderIdAttrForRenderContext
SdrRegistry::GetShaderNodeByIdentifier
SdrRegistry::GetShaderNodeByIdentifierAndType
Declaration uniform token lightFilter:shaderId = ""
C++ Type TfToken
Usd Type SdfValueTypeNames->Token
Variability SdfVariabilityUniform
USDLUX_API UsdAttribute UsdLuxLightFilter::GetShaderIdAttrForRenderContext ( const TfToken renderContext) const

Returns the shader ID attribute for the given renderContext.

If renderContext is non-empty, this will try to return an attribute named lightFilter:shaderId with the namespace prefix renderContext. For example, if the passed in render context is "ri" then the attribute returned by this function would have the following signature:

Declaration token ri:lightFilter:shaderId
C++ Type TfToken
Usd Type SdfValueTypeNames->Token

If the render context is empty, this will return the default shader ID attribute as returned by GetShaderIdAttr().

Friends And Related Function Documentation

friend class UsdSchemaRegistry
friend

Definition at line 162 of file lightFilter.h.

Member Data Documentation

const UsdSchemaKind UsdLuxLightFilter::schemaKind = UsdSchemaKind::ConcreteTyped
static

Compile time constant representing what kind of schema this class is.

See Also
UsdSchemaKind

Definition at line 84 of file lightFilter.h.


The documentation for this class was generated from the following file: