From a96b70b1c92b7f2622ebeff9d34c92ba089997f1 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 5 Dec 2007 23:45:51 +0000 Subject: Working mutation operators. git-svn-id: http://svn.drobilla.net/lad/machina@952 a436a847-0d15-0410-975c-d299462d15a1 --- src/engine/machina/MachineMutation.hpp | 4 ++++ src/engine/machina/Node.hpp | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'src/engine/machina') diff --git a/src/engine/machina/MachineMutation.hpp b/src/engine/machina/MachineMutation.hpp index 34eda30..0a9731c 100644 --- a/src/engine/machina/MachineMutation.hpp +++ b/src/engine/machina/MachineMutation.hpp @@ -26,6 +26,10 @@ namespace Mutation { struct Mutation { virtual void mutate(Machine& machine) = 0; }; +struct Compress { static void mutate(Machine& machine); }; +struct AddNode { static void mutate(Machine& machine); }; +struct RemoveNode { static void mutate(Machine& machine); }; +struct AdjustNode { static void mutate(Machine& machine); }; struct AddEdge { static void mutate(Machine& machine); }; struct RemoveEdge { static void mutate(Machine& machine); }; struct AdjustEdge { static void mutate(Machine& machine); }; diff --git a/src/engine/machina/Node.hpp b/src/engine/machina/Node.hpp index a916eb6..5926a50 100644 --- a/src/engine/machina/Node.hpp +++ b/src/engine/machina/Node.hpp @@ -56,9 +56,10 @@ public: void enter(SharedPtr driver, BeatTime time); void exit(SharedPtr driver, BeatTime time); - void add_outgoing_edge(SharedPtr edge); - void remove_outgoing_edge(SharedPtr edge); + void add_edge(SharedPtr edge); + void remove_edge(SharedPtr edge); void remove_edges_to(SharedPtr node); + bool connected_to(SharedPtr node); void write_state(Redland::Model& model); -- cgit v1.2.1