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:
  • Urho3D/Math/InverseKinematics.h
  • Urho3D/Math/InverseKinematics.cpp