HDK
|
#include <lightFilter.h>
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 TfTokenVector & | GetSchemaAttributeNames (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 |
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.
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.
|
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 |
Destructor.
USDLUX_API UsdLuxLightFilter::UsdLuxLightFilter | ( | const UsdShadeConnectableAPI & | connectable | ) |
Constructor that takes a ConnectableAPI object. Allow implicit conversion of UsdShadeConnectableAPI to UsdLuxLightFilter.
|
overrideprotectedvirtual |
Returns the kind of schema this class belongs to.
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 |
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 |
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:
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 |
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.
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().
|
friend |
Definition at line 162 of file lightFilter.h.
|
static |
Compile time constant representing what kind of schema this class is.
Definition at line 84 of file lightFilter.h.