|
auto | unravel::bones_collect (entt::handle end_effector, size_t num_bones_in_chain) -> ik_vector< transform_component * > |
|
auto | unravel::get_end_position (transform_component *comp) -> math::vec3 |
|
auto | unravel::ccdik_advanced (ik_vector< transform_component * > &chain, math::vec3 target, float threshold=0.001f, int maxIterations=10, float damping_error_threshold=0.5f, float weight_exponent=1.0f) -> bool |
|
auto | unravel::fabrik (ik_vector< transform_component * > &chain, const math::vec3 &target, float threshold=0.001f, int max_iterations=10) -> bool |
|
glm::vec3 | unravel::transform_point (const glm::mat4 &mat, const glm::vec3 &point) |
|
glm::vec3 | unravel::transform_vector (const glm::mat4 &mat, const glm::vec3 &vec) |
|
bool | unravel::solve_two_bone_ik_impl (transform_component *start_joint, transform_component *mid_joint, transform_component *end_joint, const glm::vec3 &target, const glm::vec3 &mid_axis, const glm::vec3 &pole_vector, float twist_angle, float weight, float soften) |
| Two-bone IK solver.
|
|
auto | unravel::solve_two_bone_ik_weighted (transform_component *start_joint, transform_component *mid_joint, transform_component *end_joint, const math::vec3 &target, float weight=1.0f, float soften=1.0f, const math::vec3 &pole=math::vec3(0, 0, 1), float twist_angle=0.f) -> bool |
|
auto | unravel::ik_set_position_ccd (entt::handle end_effector, const math::vec3 &target, size_t num_bones_in_chain, float threshold, int max_iterations) -> bool |
|
auto | unravel::ik_set_position_fabrik (entt::handle end_effector, const math::vec3 &target, size_t num_bones_in_chain, float threshold, int max_iterations) -> bool |
|
auto | unravel::ik_set_position_two_bone (entt::handle end_effector, const math::vec3 &target, const math::vec3 &forward, float weight, float soften, int max_iterations) -> bool |
|
auto | unravel::ik_look_at_position (entt::handle end_effector, const math::vec3 &target, float weight) -> bool |
|