![]() |
Blender V2.61 - r43446
|
#include "../extern/IK_solver.h"#include "IK_QJacobianSolver.h"#include "IK_QSegment.h"#include "IK_QTask.h"#include <list>Go to the source code of this file.
Classes | |
| class | IK_QSolver |
Functions | |
| IK_QSegment * | CreateSegment (int flag, bool translate) |
| IK_Segment * | IK_CreateSegment (int flag) |
| void | IK_FreeSegment (IK_Segment *seg) |
| void | IK_SetParent (IK_Segment *seg, IK_Segment *parent) |
| void | IK_SetTransform (IK_Segment *seg, float start[3], float rest[][3], float basis[][3], float length) |
| void | IK_SetLimit (IK_Segment *seg, IK_SegmentAxis axis, float lmin, float lmax) |
| void | IK_SetStiffness (IK_Segment *seg, IK_SegmentAxis axis, float stiffness) |
| void | IK_GetBasisChange (IK_Segment *seg, float basis_change[][3]) |
| void | IK_GetTranslationChange (IK_Segment *seg, float *translation_change) |
| IK_Solver * | IK_CreateSolver (IK_Segment *root) |
| void | IK_FreeSolver (IK_Solver *solver) |
| void | IK_SolverAddGoal (IK_Solver *solver, IK_Segment *tip, float goal[3], float weight) |
| void | IK_SolverAddGoalOrientation (IK_Solver *solver, IK_Segment *tip, float goal[][3], float weight) |
| void | IK_SolverSetPoleVectorConstraint (IK_Solver *solver, IK_Segment *tip, float goal[3], float polegoal[3], float poleangle, int getangle) |
| float | IK_SolverGetPoleAngle (IK_Solver *solver) |
| void | IK_SolverAddCenterOfMass (IK_Solver *solver, IK_Segment *root, float goal[3], float weight) |
| int | IK_Solve (IK_Solver *solver, float tolerance, int max_iterations) |
Definition in file IK_Solver.cpp.
| IK_QSegment* CreateSegment | ( | int | flag, |
| bool | translate | ||
| ) |
Definition at line 53 of file IK_Solver.cpp.
References IK_XDOF, IK_YDOF, IK_ZDOF, and NULL.
Referenced by IK_CreateSegment().
| IK_Segment* IK_CreateSegment | ( | int | flag | ) |
Definition at line 107 of file IK_Solver.cpp.
References CreateSegment(), NULL, rot, IK_QSegment::SetComposite(), and IK_QSegment::SetParent().
Referenced by execute_posetree().
| IK_Solver* IK_CreateSolver | ( | IK_Segment * | root | ) |
Definition at line 260 of file IK_Solver.cpp.
References NULL, and IK_QSolver::root.
Referenced by execute_posetree().
| void IK_FreeSegment | ( | IK_Segment * | seg | ) |
Definition at line 132 of file IK_Solver.cpp.
References IK_QSegment::Composite().
Referenced by execute_posetree().
| void IK_FreeSolver | ( | IK_Solver * | solver | ) |
Definition at line 271 of file IK_Solver.cpp.
References NULL, and IK_QSolver::tasks.
Referenced by execute_posetree().
| void IK_GetBasisChange | ( | IK_Segment * | seg, |
| float | basis_change[][3] | ||
| ) |
Definition at line 225 of file IK_Solver.cpp.
References IK_QSegment::BasisChange(), IK_QSegment::Composite(), and IK_QSegment::Translational().
Referenced by execute_posetree().
| void IK_GetTranslationChange | ( | IK_Segment * | seg, |
| float * | translation_change | ||
| ) |
Definition at line 246 of file IK_Solver.cpp.
References IK_QSegment::Composite(), IK_QSegment::Translational(), and IK_QSegment::TranslationChange().
Referenced by execute_posetree().
| void IK_SetLimit | ( | IK_Segment * | seg, |
| IK_SegmentAxis | axis, | ||
| float | lmin, | ||
| float | lmax | ||
| ) |
Definition at line 178 of file IK_Solver.cpp.
References IK_QSegment::Composite(), IK_TRANS_X, IK_TRANS_Y, IK_X, IK_Y, IK_Z, IK_QSegment::SetLimit(), and IK_QSegment::Translational().
Referenced by execute_posetree().
| void IK_SetParent | ( | IK_Segment * | seg, |
| IK_Segment * | parent | ||
| ) |
Definition at line 141 of file IK_Solver.cpp.
References IK_QSegment::Composite(), and IK_QSegment::SetParent().
Referenced by execute_posetree().
| void IK_SetStiffness | ( | IK_Segment * | seg, |
| IK_SegmentAxis | axis, | ||
| float | stiffness | ||
| ) |
Definition at line 198 of file IK_Solver.cpp.
References IK_QSegment::Composite(), IK_TRANS_X, IK_TRANS_Y, IK_X, IK_Y, IK_Z, IK_QSegment::SetWeight(), and IK_QSegment::Translational().
Referenced by execute_posetree().
| void IK_SetTransform | ( | IK_Segment * | seg, |
| float | start[3], | ||
| float | rest[][3], | ||
| float | basis[][3], | ||
| float | length | ||
| ) |
Definition at line 152 of file IK_Solver.cpp.
References IK_QSegment::Composite(), and IK_QSegment::SetTransform().
Referenced by execute_posetree().
| int IK_Solve | ( | IK_Solver * | solver, |
| float | tolerance, | ||
| int | max_iterations | ||
| ) |
Definition at line 366 of file IK_Solver.cpp.
References NULL, IK_QSolver::root, MakeCursor::root, IK_QJacobianSolver::Setup(), IK_QJacobianSolver::Solve(), IK_QSolver::solver, and IK_QSolver::tasks.
Referenced by execute_posetree().
| void IK_SolverAddCenterOfMass | ( | IK_Solver * | solver, |
| IK_Segment * | root, | ||
| float | goal[3], | ||
| float | weight | ||
| ) |
Definition at line 350 of file IK_Solver.cpp.
References NULL, IK_QTask::SetWeight(), and IK_QSolver::tasks.
| void IK_SolverAddGoal | ( | IK_Solver * | solver, |
| IK_Segment * | tip, | ||
| float | goal[3], | ||
| float | weight | ||
| ) |
Definition at line 286 of file IK_Solver.cpp.
References IK_QSegment::Composite(), NULL, IK_QTask::SetWeight(), and IK_QSolver::tasks.
Referenced by execute_posetree().
| void IK_SolverAddGoalOrientation | ( | IK_Solver * | solver, |
| IK_Segment * | tip, | ||
| float | goal[][3], | ||
| float | weight | ||
| ) |
Definition at line 304 of file IK_Solver.cpp.
References IK_QSegment::Composite(), NULL, rot, IK_QTask::SetWeight(), and IK_QSolver::tasks.
Referenced by execute_posetree().
| float IK_SolverGetPoleAngle | ( | IK_Solver * | solver | ) |
Definition at line 340 of file IK_Solver.cpp.
References IK_QJacobianSolver::GetPoleAngle(), NULL, and IK_QSolver::solver.
Referenced by execute_posetree().
| void IK_SolverSetPoleVectorConstraint | ( | IK_Solver * | solver, |
| IK_Segment * | tip, | ||
| float | goal[3], | ||
| float | polegoal[3], | ||
| float | poleangle, | ||
| int | getangle | ||
| ) |
Definition at line 325 of file IK_Solver.cpp.
References NULL, IK_QJacobianSolver::SetPoleVectorConstraint(), and IK_QSolver::solver.
Referenced by execute_posetree().