summaryrefslogtreecommitdiffhomepage
path: root/digital/io-hub/src/common-cc
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/src/common-cc')
-rw-r--r--digital/io-hub/src/common-cc/obstacles.cc8
-rw-r--r--digital/io-hub/src/common-cc/obstacles.hh2
2 files changed, 10 insertions, 0 deletions
diff --git a/digital/io-hub/src/common-cc/obstacles.cc b/digital/io-hub/src/common-cc/obstacles.cc
index 26945137..17161902 100644
--- a/digital/io-hub/src/common-cc/obstacles.cc
+++ b/digital/io-hub/src/common-cc/obstacles.cc
@@ -104,6 +104,14 @@ Obstacles::add (const vect_t &pos)
changed_ = true;
}
+void
+Obstacles::add (const vect_t &pos, int slot)
+{
+ obstacles_[slot].pos = pos;
+ obstacles_[slot].valid = valid_new_;
+ changed_ = true;
+}
+
bool
Obstacles::blocking (const vect_t &robot, const vect_t &dest, int stop_mm_) const
{
diff --git a/digital/io-hub/src/common-cc/obstacles.hh b/digital/io-hub/src/common-cc/obstacles.hh
index 9a87f895..c8abd93f 100644
--- a/digital/io-hub/src/common-cc/obstacles.hh
+++ b/digital/io-hub/src/common-cc/obstacles.hh
@@ -42,6 +42,8 @@ class Obstacles
void update ();
/// Add an obstacle detection.
void add (const vect_t &pos);
+ /// Add an obstacle detection, to specific slot.
+ void add (const vect_t &pos, int slot);
/// Return true if there is an obstacle near the robot while going to a
/// destination point.
bool blocking (const vect_t &robot, const vect_t &dest, int stop_mm_ = -1)