HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Object Accessors
+ Collaboration diagram for Object Accessors:

Functions

 exec_registration::Attribute::Attribute (const TfToken &attributeName)
 
 exec_registration::Relationship::Relationship (const TfToken &relationshipName)
 
 exec_registration::Prim::Prim ()
 
Exec_ComputationBuilderAttributeAccessor
< Exec_ComputationBuilderProviderTypes::Attribute > 
exec_registration::Prim::Attribute (const TfToken &attributeName)
 See Attribute() More...
 
Exec_ComputationBuilderRelationshipAccessor
< Exec_ComputationBuilderProviderTypes::Attribute
exec_registration::Prim::Relationship (const TfToken &relationshipName)
 See Relationship() More...
 
 exec_registration::Stage::Stage ()
 

Detailed Description

Object accessors provide access to computation providers, the scene objects from which input values are requested. An input registration starts with a sequence of zero or more accessors. If no accessor is present, the origin object, the object that owns the consuming computation, is the provider. Otherwise, starting from that object, the sequence of accessors describes hops through namespace that end at the computation provider.

A sequence of object accessors does not fully specify an input, however. The sequence must be followed by exactly one value specifier to fully specify an input registration.

Function Documentation

exec_registration::Attribute::Attribute ( const TfToken attributeName)
inline

On a prim computation, provides access to the attribute named attributeName.

Example

```{.cpp} EXEC_REGISTER_COMPUTATIONS_FOR_SCHEMA(MySchemaType) { // Register a prim computation that returns the value of an // attribute owned by the prim. self.PrimComputation(_tokens->myComputation) .Callback<double>(+[](const VdfContext &ctx) { return ctx.GetInputValue<double>( ExecBuiltinComputations->computeValue)); }) .Inputs( Attribute(_tokens->doubleAttribute) .Computation<double>( ExecBuiltinComputations->computeValue).Required()); } ```

Definition at line 685 of file computationBuilders.h.

Exec_ComputationBuilderAttributeAccessor< Exec_ComputationBuilderProviderTypes::Attribute> exec_registration::Prim::Attribute ( const TfToken attributeName)
inline

See Attribute()

Definition at line 761 of file computationBuilders.h.

exec_registration::Prim::Prim ( )
inline

On an attribute computation, provides access to the owning prim.

Example

```{.cpp} EXEC_REGISTER_COMPUTATIONS_FOR_SCHEMA(MySchemaType) { // Register an attribute computation on 'attr' that yields the // value of a sibling attribute 'otherAttr'. self.AttributeComputation( _tokens->attr, _tokens->myComputation) .Callback<int>(+[](const VdfContext &ctx) { return ctx.GetInputValue<int>( ExecBuiltinComputations->computeValue)); }) .Inputs( Prim().AttributeValue<int>(_tokens->otherAttr).Required()); } ```

Definition at line 751 of file computationBuilders.h.

exec_registration::Relationship::Relationship ( const TfToken relationshipName)
inline

On a prim computation, provides access to the relationship named relationshipName.

See Also
TargetedObjects()

Definition at line 710 of file computationBuilders.h.

Exec_ComputationBuilderRelationshipAccessor< Exec_ComputationBuilderProviderTypes::Attribute> exec_registration::Prim::Relationship ( const TfToken relationshipName)
inline

See Relationship()

Definition at line 771 of file computationBuilders.h.

exec_registration::Stage::Stage ( )
inline

On any computation, provides access to the stage. This accessor can be used to access stage-level builtin computations.

Note: The Stage() accessor must be the sole accessor in any input registration in which it appears.

Example

```{.cpp} EXEC_REGISTER_COMPUTATIONS_FOR_SCHEMA(MySchemaType) { // Register a prim computation that returns the current time. self.PrimComputation(_tokens->myComputation) .Callback<EfTime>(+[](const VdfContext &ctx) { return ctx.GetInputValue<EfTime>( ExecBuiltinComputations->computeTime)); }) .Inputs( Stage().Computation<EfTime>( ExecBuiltinComputations->computeTime).Required()); } ```

Definition at line 829 of file computationBuilders.h.