Changeset - dcd49517f90b
[Not reviewed]
default
0 5 0
Roeland Merks - 15 years ago 2010-11-29 11:48:52
roeland.merks@cwi.nl
Two last corrections:
- Viewport was not written during automatic export of XML files, because Virtualization of XMLSettingsTree did not work due to inconsistent function definition (const vs. non-const)
- Some of the default parameter-file had "Start saving movie frames" switched on by default, dramatically slowing down the example runs. Now it is switched off in all example XML files.

user: Roeland Merks <roeland.merks@cwi.nl>
branch 'default'
changed data/leaves/auxin_growth.xml
changed data/leaves/tutorial5_init.xml
changed src/VirtualLeaf.cpp
changed src/mainbase.cpp
changed src/mainbase.h
5 files changed with 16 insertions and 16 deletions:
0 comments (0 inline, 0 general)
data/leaves/auxin_growth.xml
Show inline comments
 
<?xml version="1.0" encoding="UTF-8"?>
 
<leaf name="/ufs/merks/VLeaf1.0/V1.0/data/leaves/auxin_growth.xml" date="Thu Nov 25 13:13:31 2010" simtime="11660">
 
<leaf name="/ufs/merks/VLeaf1.0/V1.0/data/leaves/auxin_growth.xml" date="Mon Nov 29 11:43:46 2010" simtime="11660">
 
  <parameter>
 
    <par name="arrowcolor" val="white"/>
 
    <par name="arrowsize" val="10"/>
 
    <par name="textcolor" val="red"/>
 
    <par name="cellnumsize" val="1"/>
 
    <par name="nodenumsize" val="1"/>
 
    <par name="node_mag" val="1"/>
 
    <par name="outlinewidth" val="1"/>
 
    <par name="cell_outline_color" val="forestgreen"/>
 
    <par name="resize_stride" val="10"/>
 
    <par name="export_interval" val="0"/>
 
    <par name="export_fn_prefix" val="cell."/>
 
    <par name="storage_stride" val="100"/>
 
    <par name="xml_storage_stride" val="500"/>
 
    <par name="datadir" val="auxin_growth"/>
 
    <par name="T" val="1"/>
 
    <par name="lambda_length" val="100"/>
 
    <par name="yielding_threshold" val="4"/>
 
    <par name="lambda_celllength" val="0"/>
 
    <par name="target_length" val="60"/>
 
    <par name="cell_expansion_rate" val="10"/>
 
    <par name="cell_div_expansion_rate" val="10"/>
 
    <par name="auxin_dependent_growth" val="true"/>
 
    <par name="ode_accuracy" val="0.0001"/>
 
    <par name="mc_stepsize" val="0.4"/>
 
    <par name="mc_cell_stepsize" val="0.2"/>
 
    <par name="energy_threshold" val="1000"/>
 
@@ -95,25 +96,24 @@
 
    <par name="kaux1" val="1"/>
 
    <par name="kap" val="1"/>
 
    <par name="leaf_tip_source" val="0.0001"/>
 
    <par name="sam_efflux" val="0.0001"/>
 
    <par name="sam_auxin" val="10"/>
 
    <par name="sam_auxin_breakdown" val="0"/>
 
    <par name="van3prod" val="0.002"/>
 
    <par name="van3autokat" val="0.1"/>
 
    <par name="van3sat" val="10"/>
 
    <par name="k2van3" val="0.3"/>
 
    <par name="dt" val="0.1"/>
 
    <par name="rd_dt" val="10"/>
 
    <par name="datadir" val="auxin_growth"/>
 
    <par name="movie" val="true"/>
 
    <par name="nit" val="100000"/>
 
    <par name="maxt" val="1e+06"/>
 
    <par name="rseed" val="-1"/>
 
    <par name="constituous_expansion_limit" val="16"/>
 
    <par name="vessel_inh_level" val="1"/>
 
    <par name="vessel_expansion_rate" val="0.25"/>
 
    <par name="d" val="0"/>
 
    <par name="e" val="0"/>
 
    <par name="f" val="0"/>
 
    <par name="c" val="0"/>
 
    <par name="mu" val="0"/>
 
@@ -375,19 +375,19 @@
 
  </walls>
 
  <nodesets n="0"/>
 
  <settings>
 
    <setting name="show_cell_centers" val="false"/>
 
    <setting name="show_nodes" val="false"/>
 
    <setting name="show_node_numbers" val="false"/>
 
    <setting name="show_cell_numbers" val="false"/>
 
    <setting name="show_border_cells" val="false"/>
 
    <setting name="show_cell_axes" val="false"/>
 
    <setting name="show_cell_strain" val="false"/>
 
    <setting name="show_fluxes" val="true"/>
 
    <setting name="show_walls" val="true"/>
 
    <setting name="save_movie_frames" val="true"/>
 
    <setting name="save_movie_frames" val="false"/>
 
    <setting name="show_only_leaf_boundary" val="false"/>
 
    <setting name="cell_growth" val="true"/>
 
    <setting name="hide_cells" val="false"/>
 
    <viewport m11="8.83883" m12="0" m21="0" m22="8.83883" dx="0" dy="0"/>
 
  </settings>
 
</leaf>
data/leaves/tutorial5_init.xml
Show inline comments
 
<?xml version="1.0" encoding="UTF-8"?>
 
<leaf name="/ufs/merks/VLeaf1.0/V1.0/data/leaves/tutorial5_init.xml" date="Thu Nov 25 14:30:29 2010" simtime="11660">
 
<leaf name="/ufs/merks/VLeaf1.0/V1.0/data/leaves/tutorial5_init.xml" date="Mon Nov 29 11:45:07 2010" simtime="11660">
 
  <parameter>
 
    <par name="arrowcolor" val="white"/>
 
    <par name="arrowsize" val="10"/>
 
    <par name="textcolor" val="red"/>
 
    <par name="cellnumsize" val="1"/>
 
    <par name="nodenumsize" val="1"/>
 
    <par name="node_mag" val="1"/>
 
    <par name="outlinewidth" val="1"/>
 
    <par name="cell_outline_color" val="forestgreen"/>
 
    <par name="resize_stride" val="10"/>
 
    <par name="export_interval" val="0"/>
 
    <par name="export_fn_prefix" val="cell."/>
 
@@ -375,19 +375,19 @@
 
  </walls>
 
  <nodesets n="0"/>
 
  <settings>
 
    <setting name="show_cell_centers" val="false"/>
 
    <setting name="show_nodes" val="false"/>
 
    <setting name="show_node_numbers" val="false"/>
 
    <setting name="show_cell_numbers" val="false"/>
 
    <setting name="show_border_cells" val="false"/>
 
    <setting name="show_cell_axes" val="false"/>
 
    <setting name="show_cell_strain" val="false"/>
 
    <setting name="show_fluxes" val="true"/>
 
    <setting name="show_walls" val="true"/>
 
    <setting name="save_movie_frames" val="true"/>
 
    <setting name="save_movie_frames" val="false"/>
 
    <setting name="show_only_leaf_boundary" val="false"/>
 
    <setting name="cell_growth" val="true"/>
 
    <setting name="hide_cells" val="false"/>
 
    <viewport m11="2.20971" m12="0" m21="0" m22="2.20971" dx="0" dy="0"/>
 
  </settings>
 
</leaf>
src/VirtualLeaf.cpp
Show inline comments
 
@@ -161,27 +161,27 @@ void MainBase::Plot(int resize_stride)
 
  if (ShowCellNumbersP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawIndex), &canvas ) ) ;
 

	
 
  if (ShowCellAxesP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawAxis), &canvas ) );
 

	
 
  if (ShowCellStrainP()) 
 
    mesh.LoopCells( bind2nd (mem_fun_ref ( &Cell::DrawStrain), &canvas ) );
 

	
 
  if (ShowWallsP())
 
    mesh.LoopWalls( bind2nd( mem_fun_ref( &Wall::Draw ), &canvas ) );
 

	
 
/*  if (ShowApoplastsP()) 
 
    mesh.LoopWalls( bind2nd( mem_fun_ref( &Wall::DrawApoplast ), &canvas ) );
 
*/
 
  /*  if (ShowApoplastsP()) 
 
      mesh.LoopWalls( bind2nd( mem_fun_ref( &Wall::DrawApoplast ), &canvas ) );
 
  */
 
  if (ShowMeshP()) 
 
    mesh.DrawNodes(&canvas);
 

	
 
  if (ShowBoundaryOnlyP()) 
 
    mesh.DrawBoundary(&canvas);
 

	
 
  if ( ( batch || MovieFramesP() )) {
 
    if (!(count%par.storage_stride) ) {
 
      stringstream fname;
 
      fname << par.datadir << "/leaf.";
 
      fname.fill('0');
 
      fname.width(6);
 
@@ -268,29 +268,29 @@ TIMESTEP {
 
      Plot(par.resize_stride);
 
    }
 
  } else {
 
    mesh.ReactDiffuse(par.rd_dt);
 
    Plot(par.resize_stride);
 
  }
 
  i++;
 
  return mesh.getTime();
 
}
 

	
 

	
 

	
 
/* Called if a cell is clicked */
 
  /* Called if a cell is clicked */
 
void Cell::OnClick(QMouseEvent *e){}
 

	
 

	
 
/* Custom message handler - Default appends a newline character to the end of each line. */ 
 
  /* Custom message handler - Default appends a newline character to the end of each line. */ 
 
void vlMessageOutput(QtMsgType type, const char *msg)
 
{
 
  switch (type) {
 
  case QtDebugMsg:
 
    //fprintf(stderr, "Debug: %s\n", msg);
 
    cerr << msg << flush;
 
    break;
 
  case QtWarningMsg:
 
    //fprintf(stderr, "Warning: %s\n", msg);
 
    cerr << "Warning: " << msg << flush;
 
    break;
 
  case QtCriticalMsg:
 
@@ -392,25 +392,25 @@ int main(int argc,char **argv) {
 

	
 
    QGraphicsScene canvas(0,0,8000,6000);
 

	
 

	
 
    if (useGUI) {
 
      main_window=new Main(canvas, mesh);
 
      if ( QApplication::desktop()->width() > ((Main *)main_window)->width() + 10
 
	   && QApplication::desktop()->height() > ((Main *)main_window)->height() +30 ) {
 

	
 
	((Main *)main_window)->show();
 
	((Main *)main_window)->resize( ((Main *)main_window)->sizeHint());
 
      } else {
 
        ((Main *)main_window)->showMaximized();
 
	((Main *)main_window)->showMaximized();
 
      }
 
      
 
      // show "About" window at start up
 
      ((Main *)main_window)->about();
 
    } else {
 
      main_window=new MainBase(canvas, mesh);
 
    }
 

	
 
    canvas.setSceneRect(QRectF());
 
    if (!batch) {
 
      QObject::connect( qApp, SIGNAL(lastWindowClosed()), qApp, SLOT(quit()) );
 
    }
 
@@ -419,29 +419,29 @@ int main(int argc,char **argv) {
 

	
 
    // Install model or read catalogue of models
 
    ModelCatalogue model_catalogue(&mesh, main_window,modelfile);
 

	
 

	
 
    if (useGUI)
 
      model_catalogue.PopulateModelMenu();
 
    model_catalogue.InstallFirstModel();
 
    
 
    
 

	
 
    /*    Cell::SetMagnification(1);
 
    Cell::setOffset(0,0);
 
	  Cell::setOffset(0,0);
 

	
 
    main_window->FitLeafToCanvas();
 
	  main_window->FitLeafToCanvas();
 

	
 
    main_window->Plot();
 
	  main_window->Plot();
 
    */
 
    if (batch) {
 
      double t=0.;
 
      do {
 
	t = main_window->TimeStep();
 
      } while (t < par.maxt);
 
    } else
 
      return app.exec();
 

	
 
  } catch (const char *message) {
 
    if (batch) { 
 
      cerr << "Exception caught:" << endl;
src/mainbase.cpp
Show inline comments
 
@@ -43,25 +43,25 @@ xmlNode *MainBase::XMLViewportTree(QTran
 
  {
 
    xmlNewProp(xmlviewport, BAD_CAST "m11", BAD_CAST standardlocale.toString(transform.m11()).toStdString().c_str() );
 
    xmlNewProp(xmlviewport, BAD_CAST "m12", BAD_CAST standardlocale.toString(transform.m12()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "m21", BAD_CAST standardlocale.toString(transform.m21()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "m22", BAD_CAST standardlocale.toString(transform.m22()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "dx", BAD_CAST standardlocale.toString(transform.dx()).toStdString().c_str() );    
 
    xmlNewProp(xmlviewport, BAD_CAST "dy", BAD_CAST standardlocale.toString(transform.dy()).toStdString().c_str() );    
 
 }
 
  
 
  return xmlviewport;
 
}
 

	
 
xmlNode *MainBase::XMLSettingsTree(void) const {
 
xmlNode *MainBase::XMLSettingsTree(void) {
 

	
 
  xmlNode *xmlsettings = xmlNewNode(NULL, BAD_CAST "settings");
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_cell_centers");
 
    ostringstream text;
 
    text << bool_name(showcentersp);
 
    xmlNewProp(xmloption, BAD_CAST "val", BAD_CAST text.str().c_str());
 
  }
 
  {
 
    xmlNode *xmloption = xmlNewChild(xmlsettings, NULL, BAD_CAST "setting", NULL);
 
    xmlNewProp(xmloption, BAD_CAST "name", BAD_CAST "show_nodes");
src/mainbase.h
Show inline comments
 
@@ -102,25 +102,25 @@ class MainBase  {
 
  void Plot(int resize_stride=10);
 

	
 
  virtual void UserMessage(QString message, int timeout = 0) {
 
    cerr << message.toAscii().constData() << endl;
 
  }
 

	
 
  Mesh &mesh;
 
  QTransform viewport;
 

	
 

	
 
 protected:
 
  QGraphicsScene &canvas;
 
  virtual xmlNode *XMLSettingsTree(void) const;
 
  virtual xmlNode *XMLSettingsTree(void);
 
  virtual xmlNode *XMLViewportTree(QTransform &transform) const;
 

	
 

	
 
  
 
 protected:
 
  bool showcentersp;
 
  bool showmeshp;
 
  bool showbordercellp;
 
  bool shownodenumbersp;
 
  bool showcellnumbersp;
 
  bool showcellsaxesp;
 
  bool showcellstrainp;
0 comments (0 inline, 0 general)