[Avida-SVN] r1700 - branches/uml/source/main
hjg at myxo.css.msu.edu
hjg at myxo.css.msu.edu
Wed Jun 20 10:55:05 PDT 2007
Author: hjg
Date: 2007-06-20 13:55:04 -0400 (Wed, 20 Jun 2007)
New Revision: 1700
Modified:
branches/uml/source/main/cUMLStateDiagram.cc
Log:
Force state diagram to be connnected.
Modified: branches/uml/source/main/cUMLStateDiagram.cc
===================================================================
--- branches/uml/source/main/cUMLStateDiagram.cc 2007-06-20 14:41:52 UTC (rev 1699)
+++ branches/uml/source/main/cUMLStateDiagram.cc 2007-06-20 17:55:04 UTC (rev 1700)
@@ -297,6 +297,10 @@
t.trans = getTransLabel();
+ if ((t.orig_state != 0) && (states[t.orig_state].num_incoming == 0)) {
+ return false;
+ }
+
// no dupes
if (findTrans(t.orig_state, t.dest_state, t.trans.trigger, t.trans.guard, t.trans.action)) {
return false;
@@ -350,9 +354,9 @@
// Do not create transition if the origin state is unreachable.
// Taken out on 5/22
-// if ((trany.orig_state != 0) && (states[trany.orig_state].num_incoming == 0)) {
-// return false;
-// }
+ if ((trany.orig_state != 0) && (states[trany.orig_state].num_incoming == 0)) {
+ return false;
+ }
// increment number of edges for a state
states[getOrigStateIndex()].num_outgoing += 1;
@@ -401,9 +405,9 @@
// Do not create transition if the origin state is unreachable.
// Taken out on 5/22
-// if ((trany.orig_state != 0) && (states[trany.orig_state].num_incoming == 0)) {
-// return false;
-// }
+ if ((trany.orig_state != 0) && (states[trany.orig_state].num_incoming == 0)) {
+ return false;
+ }
// increment number of edges for a state
states[getOrigStateIndex()].num_outgoing += 1;
More information about the Avida-cvs
mailing list