23 m_skeletal_mesh(&skeletal_mesh),
24 m_constraints(skeletal_mesh.get_pose().get_skeleton()->get_bone_count())
29 m_constraints[index] = std::move(constraint);
34 for (
auto& constraint: m_constraints)
42 for (
const auto& solver: m_solvers)
50 m_solvers.emplace_back(std::move(solver));
std::uint16_t bone_index_type
Bone index type.
void clear_constraints()
Removes all constraints from the IK rig.
void remove_solvers()
Removes all solvers from the IK rig.
void add_solver(std::shared_ptr< ik_solver > solver)
Adds a solver to the IK rig.
void solve()
Solves each solver in the IK rig.
void set_constraint(bone_index_type index, std::shared_ptr< ik_constraint > constraint)
Sets the IK constraint of a bone.
ik_rig(scene::skeletal_mesh &skeletal_mesh)
Constructs an IK rig.