载入中...
搜索中...
未找到
eve::ik::Solver2D类 参考

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]

eve::ik::Solver2D::Solver2D ( )
default

Creates a 2D FABRIK solver with default tolerances.

◆ ~Solver2D()

eve::ik::Solver2D::~Solver2D ( )
default

Releases solver state.

◆ Solver2D() [2/2]

eve::ik::Solver2D::Solver2D ( const Solver2D &  )
delete

成员函数说明

◆ addTarget()

void eve::ik::Solver2D::addTarget ( int  boneId,
float  x,
float  y,
float  weight = 1.f 
)

Adds an end-effector target for a bone.

在文件 Solver2D.cpp 第 54 行定义.

引用了 weight, x , 以及 y.

◆ 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=()

Solver2D & eve::ik::Solver2D::operator= ( const Solver2D &  )
delete

◆ 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)

Maximum FABRIK iterations per solve.

在文件 Solver2D.cpp 第 16 行定义.

引用了 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.


该类的文档由以下文件生成: