Click or drag to resize
DigitalRuneTwoJointIKSolver Class
Modifies a two-bone chain to reach a certain target.
Inheritance Hierarchy
SystemObject
  DigitalRune.Animation.CharacterIKSolver
    DigitalRune.Animation.CharacterTwoJointIKSolver

Namespace: DigitalRune.Animation.Character
Assembly: DigitalRune.Animation (in DigitalRune.Animation.dll) Version: 1.4.0.0 (1.4.1.14427)
Syntax
public class TwoJointIKSolver : IKSolver

The TwoJointIKSolver type exposes the following members.

Constructors
  NameDescription
Public methodTwoJointIKSolver
Initializes a new instance of the TwoJointIKSolver class.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodOnInvalidate
Called when the SkeletonPose was exchanged.
(Overrides IKSolverOnInvalidate.)
Protected methodOnSolve
Called when Solve(Single) is called.
(Overrides IKSolverOnSolve(Single).)
Public methodSolve
Modifies the SkeletonPose to reach the Target position.
(Inherited from IKSolver.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyHingeAxis
Gets or sets the hinge axis relative to the root bone.
Public propertyHingeBoneIndex
Gets or sets the index of the hinge bone.
Public propertyMaxAngularVelocity
Gets or sets the maximal angular velocity per bone.
(Inherited from IKSolver.)
Public propertyMaxHingeAngle
Gets or sets the max hinge angle.
Public propertyMinHingeAngle
Gets or sets the min hinge angle.
Public propertyRootBoneIndex
Gets or sets the index of the root bone.
Public propertySkeletonPose
Gets or sets the skeleton pose.
(Inherited from IKSolver.)
Public propertyTarget
Gets or sets the target position in model space.
(Inherited from IKSolver.)
Public propertyTipBoneIndex
Gets or sets the index of the tip bone that determines the end of the chain.
Public propertyTipBoneOrientation
Gets or sets the desired absolute tip bone rotation.
Public propertyTipOffset
Gets or sets the tip offset relative to the tip bone.
Public propertyWeight
Gets or sets the weight.
(Inherited from IKSolver.)
Top
Explicit Interface Implementations
Remarks

This IKSolver modifies two bones in a bone chain. It is typically used for arms and legs. For the solver, the first bone (see RootBoneIndex) can rotate freely. The second bone (see HingeBoneIndex) is attached with a hinge. The bone chain can contain more than 2 bones (e.g. the upper leg can consist of several bones). But only 2 bones are modified. The bones are rotated so that the end of the chain (defined by TipBoneIndex) reaches the target.

Limitations of this IK solver: The bones must lie in a plane normal to the hinge axis; otherwise, the target will not be reached exactly.

See also IKSolver for more general information.

See Also