aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/Node.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-12-05 23:45:51 +0000
committerDavid Robillard <d@drobilla.net>2007-12-05 23:45:51 +0000
commita96b70b1c92b7f2622ebeff9d34c92ba089997f1 (patch)
tree732a8c2b225f619394ef5bb3d4a4a27d682409db /src/engine/Node.cpp
parentf673a148c7104b3aaee4b1332a3631ac15f5f769 (diff)
downloadmachina-a96b70b1c92b7f2622ebeff9d34c92ba089997f1.tar.gz
machina-a96b70b1c92b7f2622ebeff9d34c92ba089997f1.tar.bz2
machina-a96b70b1c92b7f2622ebeff9d34c92ba089997f1.zip
Working mutation operators.
git-svn-id: http://svn.drobilla.net/lad/machina@952 a436a847-0d15-0410-975c-d299462d15a1
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)