summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/common-cc/obstacles.cc
diff options
context:
space:
mode:
authorNicolas Schodet2013-04-08 21:59:23 +0200
committerNicolas Schodet2013-04-10 00:42:59 +0200
commit7b61cbeddc510f88ad014dbb3c4fa6517f0766d3 (patch)
tree860aa803162d3605d021ee7e344924579d8447a5 /digital/io-hub/src/common-cc/obstacles.cc
parent8aa490c0831a87356a4711254a0c8f729d62bc1f (diff)
digital/io-hub/src/common-cc: give stop distance as parameter
Diffstat (limited to 'digital/io-hub/src/common-cc/obstacles.cc')
-rw-r--r--digital/io-hub/src/common-cc/obstacles.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/digital/io-hub/src/common-cc/obstacles.cc b/digital/io-hub/src/common-cc/obstacles.cc
index 882744e8..af6d1a79 100644
--- a/digital/io-hub/src/common-cc/obstacles.cc
+++ b/digital/io-hub/src/common-cc/obstacles.cc
@@ -98,8 +98,10 @@ Obstacles::add (const vect_t &pos)
}
bool
-Obstacles::blocking (const vect_t &robot, const vect_t &dest) const
+Obstacles::blocking (const vect_t &robot, const vect_t &dest, int stop_mm_) const
{
+ if (stop_mm_ == -1)
+ stop_mm_ = stop_mm;
// Stop here if no obstacle.
bool obs_valid = false;
for (int i = 0; !obs_valid && i < obstacles_nb_; i++)
@@ -114,11 +116,11 @@ Obstacles::blocking (const vect_t &robot, const vect_t &dest) const
// If destination is near, use clearance to destination point instead of
// stop length.
vect_t t;
- if (d < stop_mm)
+ if (d < stop_mm_)
t = dest;
else
{
- vect_scale_f824 (&vd, (1ll << 24) / d * stop_mm);
+ vect_scale_f824 (&vd, (1ll << 24) / d * stop_mm_);
t = robot;
vect_translate (&t, &vd);
}