FABRIK solver for Skeleton2D. Script type: Solver2D.
更多...
#include <Solver2D.h>
Public 成员函数 | |
| Solver2D ()=default | |
| Creates a 2D FABRIK solver with default tolerances. | |
| ~Solver2D ()=default | |
| Releases solver state. | |
| Solver2D (const Solver2D &)=delete | |
| Solver2D & | operator= (const Solver2D &)=delete |
| void | setKeepTrace (bool keep) |
| When true, records intermediate solve samples. | |
| bool | getKeepTrace () const |
| Whether solve tracing is enabled. | |
| void | setMaxIterations (int iterations) |
| Maximum FABRIK iterations per solve. | |
| int | getMaxIterations () const |
| Configured maximum FABRIK iterations. | |
| void | setTolerance (float tol) |
| End-effector distance tolerance for success. | |
| float | getTolerance () const |
| Configured end-effector tolerance. | |
| void | setForce (float force) |
| Soft-IK blend toward the target (0 = hard IK). | |
| float | getForce () const |
| Configured soft-IK force. | |
| void | setInfluence (float influence) |
| Overall pose blend: 0 = keep the input pose, 1 = full solve (default). | |
| float | getInfluence () const |
| Pose blend weight (0 = keep input, 1 = full solve). | |
| void | clearTargets () |
| Removes all IK targets. | |
| void | addTarget (int boneId, float x, float y, float weight=1.f) |
| Adds an end-effector target for a bone. | |
| int | getTargetCount () const |
| Number of configured targets. | |
| bool | solve (Skeleton2D *skeleton) |
| Returns true if every target is within tolerance. | |
| void | step (Skeleton2D *skeleton, float dt=1.f) |
| Runs a time-scaled FABRIK step (dt scales iteration effort). | |
| bool | solveChain (Skeleton2D *skeleton, int rootBoneId, int tipBoneId) |
| FABRIK solve restricted to the bone chain rootBoneId..tipBoneId. The chain root stays pinned and bones outside the chain are untouched; only targets on the chain participate. See ChainSolver.h for details. | |
| void | stepChain (Skeleton2D *skeleton, int rootBoneId, int tipBoneId, float dt=1.f) |
| Time-scaled chain-scoped FABRIK step. | |
| int | getTraceSize () const |
| Number of recorded trace samples. | |
| void | clearTrace () |
| Clears recorded solve trace samples. | |
详细描述
FABRIK solver for Skeleton2D. Script type: Solver2D.
在文件 Solver2D.h 第 12 行定义.
构造及析构函数说明
◆ Solver2D() [1/2]
|
default |
Creates a 2D FABRIK solver with default tolerances.
◆ ~Solver2D()
|
default |
Releases solver state.
◆ Solver2D() [2/2]
|
delete |
成员函数说明
◆ addTarget()
| void eve::ik::Solver2D::addTarget | ( | int | boneId, |
| float | x, | ||
| float | y, | ||
| float | weight = 1.f |
||
| ) |
◆ clearTargets()
| void eve::ik::Solver2D::clearTargets | ( | ) |
Removes all IK targets.
在文件 Solver2D.cpp 第 52 行定义.
◆ clearTrace()
| void eve::ik::Solver2D::clearTrace | ( | ) |
Clears recorded solve trace samples.
在文件 Solver2D.cpp 第 162 行定义.
◆ getForce()
| float eve::ik::Solver2D::getForce | ( | ) | const |
Configured soft-IK force.
在文件 Solver2D.cpp 第 41 行定义.
◆ getInfluence()
| float eve::ik::Solver2D::getInfluence | ( | ) | const |
Pose blend weight (0 = keep input, 1 = full solve).
在文件 Solver2D.cpp 第 50 行定义.
◆ getKeepTrace()
| bool eve::ik::Solver2D::getKeepTrace | ( | ) | const |
Whether solve tracing is enabled.
在文件 Solver2D.cpp 第 14 行定义.
◆ getMaxIterations()
| int eve::ik::Solver2D::getMaxIterations | ( | ) | const |
Configured maximum FABRIK iterations.
在文件 Solver2D.cpp 第 24 行定义.
◆ getTargetCount()
| int eve::ik::Solver2D::getTargetCount | ( | ) | const |
Number of configured targets.
在文件 Solver2D.cpp 第 61 行定义.
◆ getTolerance()
| float eve::ik::Solver2D::getTolerance | ( | ) | const |
Configured end-effector tolerance.
在文件 Solver2D.cpp 第 34 行定义.
◆ getTraceSize()
| int eve::ik::Solver2D::getTraceSize | ( | ) | const |
Number of recorded trace samples.
在文件 Solver2D.cpp 第 160 行定义.
◆ operator=()
◆ setForce()
| void eve::ik::Solver2D::setForce | ( | float | force | ) |
Soft-IK blend toward the target (0 = hard IK).
在文件 Solver2D.cpp 第 36 行定义.
◆ setInfluence()
| void eve::ik::Solver2D::setInfluence | ( | float | influence | ) |
Overall pose blend: 0 = keep the input pose, 1 = full solve (default).
在文件 Solver2D.cpp 第 43 行定义.
◆ setKeepTrace()
| void eve::ik::Solver2D::setKeepTrace | ( | bool | keep | ) |
When true, records intermediate solve samples.
在文件 Solver2D.cpp 第 9 行定义.
◆ setMaxIterations()
| void eve::ik::Solver2D::setMaxIterations | ( | int | iterations | ) |
◆ setTolerance()
| void eve::ik::Solver2D::setTolerance | ( | float | tol | ) |
End-effector distance tolerance for success.
在文件 Solver2D.cpp 第 26 行定义.
◆ solve()
| bool eve::ik::Solver2D::solve | ( | Skeleton2D * | skeleton | ) |
Returns true if every target is within tolerance.
在文件 Solver2D.cpp 第 65 行定义.
引用了 eve::ik::Skeleton2D::native(), state, eve::ik::Skeleton2D::state() , 以及 t.
◆ solveChain()
| bool eve::ik::Solver2D::solveChain | ( | Skeleton2D * | skeleton, |
| int | rootBoneId, | ||
| int | tipBoneId | ||
| ) |
FABRIK solve restricted to the bone chain rootBoneId..tipBoneId. The chain root stays pinned and bones outside the chain are untouched; only targets on the chain participate. See ChainSolver.h for details.
在文件 Solver2D.cpp 第 104 行定义.
引用了 options , 以及 eve::ik::detail::ChainOptions< D >::tolerance.
◆ step()
| void eve::ik::Solver2D::step | ( | Skeleton2D * | skeleton, |
| float | dt = 1.f |
||
| ) |
Runs a time-scaled FABRIK step (dt scales iteration effort).
在文件 Solver2D.cpp 第 85 行定义.
引用了 eve::ik::Skeleton2D::native(), state, eve::ik::Skeleton2D::state() , 以及 t.
◆ stepChain()
| void eve::ik::Solver2D::stepChain | ( | Skeleton2D * | skeleton, |
| int | rootBoneId, | ||
| int | tipBoneId, | ||
| float | dt = 1.f |
||
| ) |
Time-scaled chain-scoped FABRIK step.
在文件 Solver2D.cpp 第 113 行定义.
引用了 f, options , 以及 eve::ik::detail::ChainOptions< D >::tolerance.
该类的文档由以下文件生成:
- src/modules/ik/Solver2D.h
- src/modules/ik/Solver2D.cpp