Rebel Fork Framework
Urho3D::IKTrigonometricChain Class Reference

Trigonometric two-segment IK chain. More...

#include <Urho3D/Math/InverseKinematics.h>

Public Member Functions

void Initialize (IKNode *node1, IKNode *node2, IKNode *node3)
 
void UpdateLengths ()
 
void Solve (const Vector3 &target, const Vector3 &originalDirection, const Vector3 &currentDirection, float minAngle, float maxAngle)
 
IKNode * GetBeginNode () const
 
IKNode * GetMiddleNode () const
 
IKNode * GetEndNode () const
 
float GetFirstLength () const
 
float GetSecondLength () const
 
Quaternion GetCurrentChainRotation () const
 

Static Public Member Functions

static Quaternion CalculateRotation (const Vector3 &originalPos0, const Vector3 &originalPos2, const Vector3 &originalDirection, const Vector3 &currentPos0, const Vector3 &currentPos2, const Vector3 &currentDirection)
 Return rotation of the entire chain.
 
static ea::pair< Vector3, Vector3 > Solve (const Vector3 &pos0, float len01, float len12, const Vector3 &target, const Vector3 &bendDirection, float minAngle, float maxAngle)
 Return positions of second and third bones.
 

Private Member Functions

void ResetChainToOriginal ()
 

Private Attributes

IKNodeSegment segments_ [2]
 
Quaternion currentChainRotation_
 

Detailed Description

Trigonometric two-segment IK chain.


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