Rebel Fork Framework
|
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 ¤tDirection, 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 ¤tPos0, const Vector3 ¤tPos2, const Vector3 ¤tDirection) |
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_ |
Trigonometric two-segment IK chain.