Lines Matching refs:spd
60 std::tuple<SkScalar, SkScalar> find_yintercept(const SkPoint& pos, const SkVector& spd,
62 const SkScalar edge = spd.fX > 0 ? box.fRight : box.fLeft;
63 const SkScalar t = (edge - pos.fX) / spd.fX;
65 const SkScalar dY = t * spd.fY;
230 spd = s;
235 pos += spd * dt;
253 SkVector spd;
260 fBall.spd.fY = -fBall.spd.fY;
266 fBall.spd.fX = this->fuzzBallSpeed(-fBall.spd.fX);
267 fBall.spd.fY = this->fuzzBallSpeed(fBall.spd.fY);
273 SkScalar fuzzBallSpeed(SkScalar spd) {
275 const SkScalar sign = spd >= 0 ? 1.0f : -1.0f;
276 const SkScalar fuzzed = fabs(spd) + fRand.nextRangeScalar(-kBallSpeedFuzz, kBallSpeedFuzz);
282 Object* pitcher = fBall.spd.fX > 0 ? &fPaddle0 : &fPaddle1;
283 Object* catcher = fBall.spd.fX > 0 ? &fPaddle1 : &fPaddle0;
286 std::tie(t, yIntercept) = find_yintercept(fBall.pos, fBall.spd, kBounds);
289 pitcher->spd.fY = (kBounds.centerY() - pitcher->pos.fY) / t;
292 catcher->spd.fY = (yIntercept - catcher->pos.fY) / t;