diff options
Diffstat (limited to 'src/engine/Node.cpp')
-rw-r--r-- | src/engine/Node.cpp | 15 |
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) |