aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/Node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/Node.cpp')
-rw-r--r--src/engine/Node.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/engine/Node.cpp b/src/engine/Node.cpp
index fd784e5..0eca0e6 100644
--- a/src/engine/Node.cpp
+++ b/src/engine/Node.cpp
@@ -119,7 +119,7 @@ Node::exit(SharedPtr<Raul::MIDISink> sink, BeatTime time)
void
-Node::add_outgoing_edge(SharedPtr<Edge> edge)
+Node::add_edge(SharedPtr<Edge> edge)
{
assert(edge->tail().lock().get() == this);
@@ -128,11 +128,22 @@ Node::add_outgoing_edge(SharedPtr<Edge> edge)
void
-Node::remove_outgoing_edge(SharedPtr<Edge> edge)
+Node::remove_edge(SharedPtr<Edge> edge)
{
_edges.erase(_edges.find(edge));
}
+
+bool
+Node::connected_to(SharedPtr<Node> node)
+{
+ for (Edges::const_iterator i = _edges.begin(); i != _edges.end(); ++i)
+ if ((*i)->head() == node)
+ return true;
+
+ return false;
+}
+
void
Node::remove_edges_to(SharedPtr<Node> node)