[Avida-SVN] r1763 - in branches/uml/source: actions main
hjg at myxo.css.msu.edu
hjg at myxo.css.msu.edu
Sun Jul 8 20:00:58 PDT 2007
Author: hjg
Date: 2007-07-08 23:00:58 -0400 (Sun, 08 Jul 2007)
New Revision: 1763
Modified:
branches/uml/source/actions/PrintActions.cc
branches/uml/source/main/cOrganism.cc
branches/uml/source/main/cUMLModel.cc
branches/uml/source/main/cUMLModel.h
branches/uml/source/main/cUMLStateDiagram.cc
Log:
Bug fix.
Modified: branches/uml/source/actions/PrintActions.cc
===================================================================
--- branches/uml/source/actions/PrintActions.cc 2007-07-08 18:15:17 UTC (rev 1762)
+++ branches/uml/source/actions/PrintActions.cc 2007-07-09 03:00:58 UTC (rev 1763)
@@ -86,7 +86,7 @@
STATS_OUT_FILE(PrintMarketData, market.dat );
STATS_OUT_FILE(PrintSenseData, sense.dat );
STATS_OUT_FILE(PrintSenseExeData, sense_exe.dat );
-//STATS_OUT_FILE(PrintUMLData, uml.dat );
+STATS_OUT_FILE(PrintUMLData, uml.dat );
@@ -1873,7 +1873,7 @@
action_lib->Register<cActionPrintInstructionData>("print_instruction_data");
action_lib->Register<cActionPrintGenotypeMap>("print_genotype_map");
action_lib->Register<cActionPrintMarketData>("print_market_data");
-// action_lib->Register<cActionPrintUMLData>("PrintUMLData");
+ action_lib->Register<cActionPrintUMLData>("PrintUMLData");
action_lib->Register<cActionPrintPhenotypeData>("print_number_phenotypes");
Modified: branches/uml/source/main/cOrganism.cc
===================================================================
--- branches/uml/source/main/cOrganism.cc 2007-07-08 18:15:17 UTC (rev 1762)
+++ branches/uml/source/main/cOrganism.cc 2007-07-09 03:00:58 UTC (rev 1763)
@@ -635,11 +635,11 @@
}
if (clear_input) m_input_buf.Clear();
-/*
- m_world->GetStats().addState(states.size());
- m_world->GetStats().addTrans(transitions.size());
- m_world->GetStats().addTransLabel(transition_labels.size());
-*/
+
+ m_world->GetStats().addState(m_model.numStates());
+ m_world->GetStats().addTrans(m_model.numTrans());
+// m_world->GetStats().addTransLabel(transition_labels.size());
+
}
Modified: branches/uml/source/main/cUMLModel.cc
===================================================================
--- branches/uml/source/main/cUMLModel.cc 2007-07-08 18:15:17 UTC (rev 1762)
+++ branches/uml/source/main/cUMLModel.cc 2007-07-09 03:00:58 UTC (rev 1763)
@@ -149,4 +149,20 @@
return xmi;
}
+int cUMLModel::numStates()
+{
+ int temp_states = 0;
+ for (int i=0; i<state_diagrams.size(); i++) {
+ temp_states += getStateDiagram(i)->numStates();
+ }
+ return temp_states;
+}
+int cUMLModel::numTrans()
+{
+int temp_trans = 0;
+ for (int i=0; i<state_diagrams.size(); i++) {
+ temp_trans += getStateDiagram(i)->numTrans();
+ }
+ return temp_trans;
+}
Modified: branches/uml/source/main/cUMLModel.h
===================================================================
--- branches/uml/source/main/cUMLModel.h 2007-07-08 18:15:17 UTC (rev 1762)
+++ branches/uml/source/main/cUMLModel.h 2007-07-09 03:00:58 UTC (rev 1763)
@@ -26,6 +26,8 @@
int getStateDiagramSize() { return state_diagrams.size(); }
cUMLStateDiagram* getStateDiagram (int);
+ int numStates();
+ int numTrans();
protected:
Modified: branches/uml/source/main/cUMLStateDiagram.cc
===================================================================
--- branches/uml/source/main/cUMLStateDiagram.cc 2007-07-08 18:15:17 UTC (rev 1762)
+++ branches/uml/source/main/cUMLStateDiagram.cc 2007-07-09 03:00:58 UTC (rev 1763)
@@ -94,8 +94,10 @@
if (ts == path.front()) {
// std::cout << "Found an edge with " << ts << std::endl;
dist++;
- path.pop_front();
- checkForPath(path, target(ed, sd0), result, dist);
+// path.pop_front();
+// checkForPath(path, target(ed, sd0), result, dist);
+ checkForPath(std::deque<std::string>(++path.begin(), path.end()), target(ed,sd0), result, dist);
+
}
}
}
@@ -106,6 +108,10 @@
bool result = false;
+ if (num_edges(sd0) == 0) {
+ return false;
+ }
+
boost::graph_traits<state_diagram>::vertex_descriptor o_temp, d_temp;
boost::graph_traits<state_diagram>::edge_iterator edge_start, edge_end;
boost::graph_traits<state_diagram>::out_edge_iterator out_edge_start, out_edge_end;
More information about the Avida-cvs
mailing list