summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/motor/goto_tracker.cc
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/motor/goto_tracker.cc')
-rw-r--r--2004/i/nono/src/motor/goto_tracker.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/2004/i/nono/src/motor/goto_tracker.cc b/2004/i/nono/src/motor/goto_tracker.cc
index adc7c36..a501bc2 100644
--- a/2004/i/nono/src/motor/goto_tracker.cc
+++ b/2004/i/nono/src/motor/goto_tracker.cc
@@ -52,21 +52,19 @@ GotoTracker::get (const Tracker &t, double distmax, double eps, double &dist,
{
if (!track_)
{
- x_ = t.getX ();
- y_ = t.getY ();
+ return false;
}
else
{
- x_ = t.getX () + dx_ * cos (t.getAngle ());
- y_ = t.getY () + dx_ * sin (t.getAngle ());
+ double ca = cos (t.getAngle ());
+ double sa = sin (t.getAngle ());
+ x_ = t.getX () + dx_ * ca - dy_ * sa;
+ y_ = t.getY () + dx_ * sa + dy_ * ca;
}
changed_ = false;
}
- x = x_;
- y = y_;
- double dx = x_ - t.getX ();
- double dy = y_ - t.getY ();
- dist = sqrt (dx * dx + dy * dy);
+ dist = t.getDistance (x_, y_);
+ t.getPoint (x_, y_, x, y, distmax);
return true;
}