载入中...
搜索中...
未找到
ControlAnim.cpp
浏览该文件的文档.
38 throw Exception("ControlAnim::setIntegrator: unknown kind '%s' (expected secondOrder|spring|pd)",
void ignore(std::string_view reason={}) const noexcept
Explicitly discard this result after documenting the reason.
Definition Result.h:537
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
ControlAnim(float frequencyHz=3.f, float dampingZeta=1.f, float response=1.f)
Control anim.
Definition ControlAnim.cpp:10
void set(const std::string &name, float value)
Create/update a channel: current value snaps to value, velocity cleared.
Definition ControlAnim.cpp:66
void setTarget(const std::string &name, float value)
Move the tracking target (does not snap state). Creates channel if missing.
Definition ControlAnim.cpp:77
eve::Result< void > advance(const eve::SimulationStep &step)
Advance all channels by one scheduler-owned deterministic step.
Definition ControlAnim.cpp:162
std::string getPropertyName(int index) const
Returns the property name.
Definition ControlAnim.cpp:128
void setIntegrator(const std::string &kind)
Integrator: "secondOrder" | "spring" | "pd". Invalid → exception.
Definition ControlAnim.cpp:30
void update(float dt)
Legacy seconds facade; explicitly forwards to advance().
Definition ControlAnim.cpp:171
void setTargetVelocity(const std::string &name, float velocity)
Optional explicit target velocity (used by secondOrder / pd).
Definition ControlAnim.cpp:88
void impulse(const std::string &name, float deltaVelocity)
Inject an instantaneous velocity impulse (procedural “hit”).
Definition ControlAnim.cpp:94
eve::Result< eve::SimulationStep > legacyStep(float seconds, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
Convert a legacy seconds call to the next local scheduler step.
Definition AnimationTime.h:34
eve::Result< float > secondsForStep(const eve::SimulationStep &step, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
Validate a scheduler step before an animation object mutates state.
Definition AnimationTime.h:13
Definition Animation.cpp:58
void stepPd(float dt, float target, float targetVel, float kp, float kd, float &y, float &yd)
Semi-implicit Euler PD step (unit mass): a = Kp (target − y) + Kd (targetVel − yd),...
Definition AnimControlMath.h:138
void stepSecondOrder(float dt, float x, float xd, const SecondOrderCoeffs &c, float &y, float &yd)
Stable semi-implicit Euler step for a second-order tracker. Estimates input velocity from consecutive...
Definition AnimControlMath.h:44
void pdGainsFromOmegaZeta(float omega, float zeta, float &kp, float &kd)
Unit-mass PD gains from natural frequency ω (rad/s) and damping ratio ζ.
Definition AnimControlMath.h:127
SecondOrderCoeffs makeSecondOrderCoeffs(float frequencyHz, float dampingZeta, float response)
Build second-order coefficients from frequency (Hz), damping ζ, response r.
Definition AnimControlMath.h:27
void stepDampedSpring(float dt, float target, float angularFrequency, float dampingRatio, float &pos, float &vel)
Advance position/velocity relative to a set-point using closed-form spring step.
Definition AnimControlMath.h:115
@ Applied