All Classes Namespaces Functions Variables Enumerations Properties Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Properties | List of all members
IKSolver Class Referenceabstract

The base abstract class for all IK solvers More...

Inheritance diagram for IKSolver:
Inheritance graph
[legend]

Classes

class  Bone
 Bone type of element in the IK chain. Used in the case of skeletal Transform hierarchies. More...
 
class  Node
 Node type of element in the IK chain. Used in the case of mixed/non-hierarchical IK systems More...
 
class  Point
 The most basic element type in the IK chain that all other types extend from. More...
 

Public Member Functions

bool IsValid ()
 Determines whether this instance is valid or not. More...
 
abstract bool IsValid (ref string message)
 Determines whether this instance is valid or not. If returns false, also fills in an error message. More...
 
void Initiate (Transform root)
 Initiate the solver with specified root Transform. Use only if this IKSolver is not a member of an IK component. More...
 
void Update ()
 Updates the IK solver. Use only if this IKSolver is not a member of an IK component or the IK component has been disabled and you intend to manually control the updating. More...
 
virtual Vector3 GetIKPosition ()
 Gets the IK position. NOTE: You are welcome to read IKPosition directly, this method is here only to match the Unity's built in IK API. More...
 
void SetIKPosition (Vector3 position)
 Sets the IK position. NOTE: You are welcome to set IKPosition directly, this method is here only to match the Unity's built in IK API. More...
 
float GetIKPositionWeight ()
 Gets the IK position weight. NOTE: You are welcome to read IKPositionWeight directly, this method is here only to match the Unity's built in IK API. More...
 
void SetIKPositionWeight (float weight)
 Sets the IK position weight. NOTE: You are welcome to set IKPositionWeight directly, this method is here only to match the Unity's built in IK API. More...
 
Transform GetRoot ()
 Gets the root Transform. More...
 
abstract IKSolver.Point[] GetPoints ()
 Gets all the points used by the solver. More...
 
abstract IKSolver.Point GetPoint (Transform transform)
 Gets the point with the specified Transform. More...
 
abstract void FixTransforms ()
 Fixes all the Transforms used by the solver to their initial state. More...
 
abstract void StoreDefaultLocalState ()
 Stores the default local state for the bones used by the solver. More...
 
delegate void UpdateDelegate ()
 Delegates solver update events. More...
 
delegate void IterationDelegate (int i)
 Delegates solver iteration events. More...
 

Static Public Member Functions

static Transform ContainsDuplicateBone (Bone[] bones)
 Checks if an array of objects contains any duplicates. More...
 

Public Attributes

Vector3 IKPosition
 The IK position. More...
 
float IKPositionWeight = 1f
 The IK position weight or the master weight of the solver. More...
 
UpdateDelegate OnPreInitiate
 Called before initiating the solver. More...
 
UpdateDelegate OnPostInitiate
 Called after initiating the solver. More...
 
UpdateDelegate OnPreUpdate
 Called before updating. More...
 
UpdateDelegate OnPostUpdate
 Called after writing the solved pose More...
 

Properties

bool initiated [get, set]
 Gets a value indicating whether this IKSolver has successfully initiated. More...
 

Detailed Description

The base abstract class for all IK solvers