![]() |
|
A simple invertible controller that computes a forward kinematic transform. More...
#include <fkController.h>
Inheritance diagram for ExecIrFkController:Public Member Functions | |
| ExecIrFkController (const UsdPrim &prim=UsdPrim()) | |
Construct a ExecIrFkController on UsdPrim prim . | |
| ExecIrFkController (const UsdSchemaBase &schemaObj) | |
Construct a ExecIrFkController on the prim held by schemaObj . | |
| virtual EXECIR_API | ~ExecIrFkController () |
| Destructor. | |
| EXECIR_API UsdAttribute | GetParentInSpaceAttr () const |
| If the FK controller has a parent controller, this attribute takes the parent's posed space as input. | |
| EXECIR_API UsdAttribute | CreateParentInSpaceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetParentInSpaceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetParentInDefaultSpaceAttr () const |
| If the FK controller has a parent controller, this attribute takes the parent's default space as input. | |
| EXECIR_API UsdAttribute | CreateParentInDefaultSpaceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetParentInDefaultSpaceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetOutSpaceAttr () const |
| A 4x4 matrix that represents the computed output space produced by the controller. | |
| EXECIR_API UsdAttribute | CreateOutSpaceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetOutSpaceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetOutDefaultSpaceAttr () const |
| Passes through the value of the 'in:defaultSpace' attribute. | |
| EXECIR_API UsdAttribute | CreateOutDefaultSpaceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetOutDefaultSpaceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInDefaultSpaceAttr () const |
| A local-to-world space transform representing the "zero" position for posing. | |
| EXECIR_API UsdAttribute | CreateInDefaultSpaceAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInDefaultSpaceAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInTxAttr () const |
| EXECIR_API UsdAttribute | CreateInTxAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInTxAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInTyAttr () const |
| EXECIR_API UsdAttribute | CreateInTyAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInTyAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInTzAttr () const |
| EXECIR_API UsdAttribute | CreateInTzAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInTzAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInRxAttr () const |
| EXECIR_API UsdAttribute | CreateInRxAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInRxAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInRyAttr () const |
| EXECIR_API UsdAttribute | CreateInRyAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInRyAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInRzAttr () const |
| EXECIR_API UsdAttribute | CreateInRzAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInRzAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInRspinAttr () const |
| The rotation attribute that gets zeroed out when solving for rotation values. | |
| EXECIR_API UsdAttribute | CreateInRspinAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInRspinAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
| EXECIR_API UsdAttribute | GetInRotationOrderAttr () const |
| EXECIR_API UsdAttribute | CreateInRotationOrderAttr (VtValue const &defaultValue=VtValue(), bool writeSparsely=false) const |
| See GetInRotationOrderAttr(), and also Create vs Get Property Methods for when to use Get vs Create. | |
Public Member Functions inherited from ExecIrController | |
| ExecIrController (const UsdPrim &prim=UsdPrim()) | |
Construct a ExecIrController on UsdPrim prim . | |
| ExecIrController (const UsdSchemaBase &schemaObj) | |
Construct a ExecIrController on the prim held by schemaObj . | |
| virtual EXECIR_API | ~ExecIrController () |
| Destructor. | |
Public Member Functions inherited from UsdTyped | |
| UsdTyped (const UsdPrim &prim=UsdPrim()) | |
Construct a UsdTyped on UsdPrim prim . | |
| UsdTyped (const UsdSchemaBase &schemaObj) | |
Construct a UsdTyped on the prim held by schemaObj . | |
| virtual USD_API | ~UsdTyped () |
| Destructor. | |
Public Member Functions inherited from UsdSchemaBase | |
| bool | IsConcrete () const |
| Returns whether or not this class corresponds to a concrete instantiable prim type in scene description. | |
| bool | IsTyped () const |
| Returns whether or not this class inherits from UsdTyped. | |
| bool | IsAPISchema () const |
| Returns whether this is an API schema or not. | |
| bool | IsAppliedAPISchema () const |
| Returns whether this is an applied API schema or not. | |
| bool | IsMultipleApplyAPISchema () const |
| Returns whether this is an applied API schema or not. | |
| UsdSchemaKind | GetSchemaKind () const |
| Returns the kind of schema this class is. | |
| USD_API | UsdSchemaBase (const UsdPrim &prim=UsdPrim()) |
Construct and store prim as the held prim. | |
| USD_API | UsdSchemaBase (const UsdSchemaBase &otherSchema) |
Construct and store for the same prim held by otherSchema. | |
| virtual USD_API | ~UsdSchemaBase () |
| Destructor. | |
| UsdPrim | GetPrim () const |
| Return this schema object's held prim. | |
| SdfPath | GetPath () const |
| Shorthand for GetPrim()->GetPath(). | |
| USD_API const UsdPrimDefinition * | GetSchemaClassPrimDefinition () const |
| Return the prim definition associated with this schema instance if one exists, otherwise return null. | |
| USD_API | operator bool () const |
| Return true if this schema object is compatible with its held prim, false otherwise. | |
Static Public Member Functions | |
| static EXECIR_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 classes. | |
| static EXECIR_API ExecIrFkController | Get (const UsdStagePtr &stage, const SdfPath &path) |
Return a ExecIrFkController holding the prim adhering to this schema at path on stage. | |
| static EXECIR_API ExecIrFkController | Define (const UsdStagePtr &stage, const SdfPath &path) |
Attempt to ensure a UsdPrim adhering to this schema at path is defined (according to UsdPrim::IsDefined()) on this stage. | |
Static Public Member Functions inherited from ExecIrController | |
| static EXECIR_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 classes. | |
| static EXECIR_API ExecIrController | Get (const UsdStagePtr &stage, const SdfPath &path) |
Return a ExecIrController holding the prim adhering to this schema at path on stage. | |
Static Public Member Functions inherited from UsdTyped | |
| static USD_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 classes. | |
| static USD_API UsdTyped | Get (const UsdStagePtr &stage, const SdfPath &path) |
Return a UsdTyped holding the prim adhering to this schema at path on stage. | |
Static Public Member Functions inherited from UsdSchemaBase | |
| static const TfTokenVector & | GetSchemaAttributeNames (bool includeInherited=true) |
Static Public Attributes | |
| static const UsdSchemaKind | schemaKind = UsdSchemaKind::ConcreteTyped |
| Compile time constant representing what kind of schema this class is. | |
Static Public Attributes inherited from ExecIrController | |
| static const UsdSchemaKind | schemaKind = UsdSchemaKind::AbstractTyped |
| Compile time constant representing what kind of schema this class is. | |
Static Public Attributes inherited from UsdTyped | |
| static const UsdSchemaKind | schemaKind = UsdSchemaKind::AbstractBase |
| Compile time constant representing what kind of schema this class is. | |
Static Public Attributes inherited from UsdSchemaBase | |
| static const UsdSchemaKind | schemaKind = UsdSchemaKind::AbstractBase |
| Compile time constant representing what kind of schema this class is. | |
Protected Member Functions | |
| EXECIR_API UsdSchemaKind | _GetSchemaKind () const override |
| Returns the kind of schema this class belongs to. | |
Protected Member Functions inherited from ExecIrController | |
Protected Member Functions inherited from UsdTyped | |
| USD_API UsdSchemaKind | _GetSchemaKind () const override |
| Returns the kind of schema this class belongs to. | |
| USD_API bool | _IsCompatible () const override |
| Subclasses may override _IsCompatible to do specific compatibility checking with the given prim, such as type compatibility or value compatibility. | |
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 simple invertible controller that computes a forward kinematic transform.
An FK controller takes as inputs scalar translate and rotate attributes and parent and default spaces, and computes a posed space that can be used to drive model posing. The parent space input allows one ExecIrFkController to be the child of another, linking them in a hierarchy. A hierarchy of FK controllers functions like a transform hierarchy, with the child inheriting the transformation of the parent. The resulting network of controllers can be used collectively to pose a model or some part of a model, such as an arm.
An FK controller also defines an inverse computation that takes as inputs a desired posed space and the parent and default spaces, and computes the FK attribute values that produce the desired pose. This capability enables authoring operations that need to compute inverses. E.g., a model can be posed by multiple rigs, and inversion can be used to compute the compensating input values needed to switch from one rig to another, while maintaining the same pose.
For any described attribute Fallback Value or Allowed Values below that are text/tokens, the actual token is published and defined in ExecIrTokens. So to set an attribute to the value "rightHanded", use ExecIrTokens->rightHanded as the value.
Definition at line 68 of file fkController.h.
|
inlineexplicit |
Construct a ExecIrFkController on UsdPrim prim .
Equivalent to ExecIrFkController::Get(prim.GetStage(), prim.GetPath()) for a valid prim, but will not immediately throw an error for an invalid prim
Definition at line 80 of file fkController.h.
|
inlineexplicit |
Construct a ExecIrFkController on the prim held by schemaObj .
Should be preferred over ExecIrFkController(schemaObj.GetPrim()), as it preserves SchemaBase state.
Definition at line 88 of file fkController.h.
|
virtual |
Destructor.
|
overrideprotectedvirtual |
Returns the kind of schema this class belongs to.
Reimplemented from ExecIrController.
| EXECIR_API UsdAttribute CreateInDefaultSpaceAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInDefaultSpaceAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInRotationOrderAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInRotationOrderAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInRspinAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInRspinAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInRxAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInRxAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInRyAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInRyAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInRzAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInRzAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInTxAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInTxAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInTyAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInTyAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateInTzAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetInTzAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateOutDefaultSpaceAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetOutDefaultSpaceAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateOutSpaceAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetOutSpaceAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateParentInDefaultSpaceAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetParentInDefaultSpaceAttr(), and also Create vs Get Property Methods 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.
| EXECIR_API UsdAttribute CreateParentInSpaceAttr | ( | VtValue const & | defaultValue = VtValue(), |
| bool | writeSparsely = false ) const |
See GetParentInSpaceAttr(), and also Create vs Get Property Methods 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 ExecIrFkController 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:
| EXECIR_API UsdAttribute GetInDefaultSpaceAttr | ( | ) | const |
A local-to-world space transform representing the "zero" position for posing.
| Declaration | matrix4d in:defaultSpace = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ) |
| C++ Type | GfMatrix4d |
| Usd Type | SdfValueTypeNames->Matrix4d |
| EXECIR_API UsdAttribute GetInRotationOrderAttr | ( | ) | const |
| Declaration | token in:rotationOrder = "XYZ" |
| C++ Type | TfToken |
| Usd Type | SdfValueTypeNames->Token |
| Allowed Values | XYZ, XZY, YXZ, YZX, ZXY, ZYX |
| EXECIR_API UsdAttribute GetInRspinAttr | ( | ) | const |
The rotation attribute that gets zeroed out when solving for rotation values.
| Declaration | double in:rspin = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInRxAttr | ( | ) | const |
| Declaration | double in:rx = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInRyAttr | ( | ) | const |
| Declaration | double in:ry = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInRzAttr | ( | ) | const |
| Declaration | double in:rz = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInTxAttr | ( | ) | const |
| Declaration | double in:tx = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInTyAttr | ( | ) | const |
| Declaration | double in:ty = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetInTzAttr | ( | ) | const |
| Declaration | double in:tz = 0 |
| C++ Type | double |
| Usd Type | SdfValueTypeNames->Double |
| EXECIR_API UsdAttribute GetOutDefaultSpaceAttr | ( | ) | const |
Passes through the value of the 'in:defaultSpace' attribute.
| Declaration | matrix4d out:defaultSpace = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ) |
| C++ Type | GfMatrix4d |
| Usd Type | SdfValueTypeNames->Matrix4d |
| EXECIR_API UsdAttribute GetOutSpaceAttr | ( | ) | const |
A 4x4 matrix that represents the computed output space produced by the controller.
| Declaration | matrix4d out:space = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ) |
| C++ Type | GfMatrix4d |
| Usd Type | SdfValueTypeNames->Matrix4d |
| EXECIR_API UsdAttribute GetParentInDefaultSpaceAttr | ( | ) | const |
If the FK controller has a parent controller, this attribute takes the parent's default space as input.
| Declaration | matrix4d parentIn:defaultSpace = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ) |
| C++ Type | GfMatrix4d |
| Usd Type | SdfValueTypeNames->Matrix4d |
| EXECIR_API UsdAttribute GetParentInSpaceAttr | ( | ) | const |
If the FK controller has a parent controller, this attribute takes the parent's posed space as input.
| Declaration | matrix4d parentIn:space = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ) |
| C++ Type | GfMatrix4d |
| Usd Type | SdfValueTypeNames->Matrix4d |
|
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.
|
friend |
Definition at line 152 of file fkController.h.
|
static |
Compile time constant representing what kind of schema this class is.
Definition at line 74 of file fkController.h.