From cfa374f74016fe9e69069cae81461a81edeb171f Mon Sep 17 00:00:00 2001 From: Naveed Usmani Date: Thu, 6 Dec 2018 12:10:27 +0100 Subject: [PATCH] [dotcode] adds stubs for decorator viz --- .gitignore | 1 + src/rqt_py_trees/dotcode_behaviour.py | 6 ++++++ src/rqt_py_trees/qt_dotgraph/node_item.py | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/.gitignore b/.gitignore index 0d20b64..294be7a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.pyc +*.vscode diff --git a/src/rqt_py_trees/dotcode_behaviour.py b/src/rqt_py_trees/dotcode_behaviour.py index 859752b..71e6229 100644 --- a/src/rqt_py_trees/dotcode_behaviour.py +++ b/src/rqt_py_trees/dotcode_behaviour.py @@ -114,6 +114,8 @@ def type_to_shape(self, behaviour_type): return 'note' elif behaviour_type == py_trees_msgs.Behaviour.CHOOSER: return 'doubleoctagon' + elif behaviour_type == py_trees_msgs.Behaviour.DECORATOR: + return 'invhouse' else: return 'ellipse' @@ -128,6 +130,8 @@ def type_to_colour(self, behaviour_type): return '#ffd700' elif behaviour_type == py_trees_msgs.Behaviour.CHOOSER: return '#808080' + elif behaviour_type == py_trees_msgs.Behaviour.DECORATOR: + return '#ff9900' else: return None @@ -142,6 +146,8 @@ def type_to_string(self, behaviour_type): return 'Parallel' elif behaviour_type == py_trees_msgs.Behaviour.CHOOSER: return 'Chooser' + elif behaviour_type == py_trees_msgs.Behaviour.DECORATOR: + return 'Decorator' else: return None diff --git a/src/rqt_py_trees/qt_dotgraph/node_item.py b/src/rqt_py_trees/qt_dotgraph/node_item.py index 6ff1b88..1fd8659 100644 --- a/src/rqt_py_trees/qt_dotgraph/node_item.py +++ b/src/rqt_py_trees/qt_dotgraph/node_item.py @@ -107,6 +107,15 @@ def __init__(self, highlight_level, bounding_box, label, shape, color=None, pare QPointF(rect[0] + rect[2], rect[1] + rect[3] / 5)]) self._graphics_item = QGraphicsPolygonItem(note_polygon) + elif shape == 'invhouse': + rect = bounding_box.getRect() + invhouse_polygon = QPolygonF([QPointF(rect[0], rect[1]), + QPointF(rect[0], rect[1] + 3 * rect[3] / 4), + QPointF(rect[0] + rect[2]/2, rect[1] + rect[3]), + QPointF(rect[0] + rect[2], rect[1] + 3 * rect[3] / 4), + QPointF(rect[0] + rect[2], rect[1])]) + self._graphics_item = QGraphicsPolygonItem(invhouse_polygon) + else: self._graphics_item = QGraphicsEllipseItem(bounding_box) self.addToGroup(self._graphics_item)