diff --git a/src/parameter.h b/src/parameter.h new file mode 100644 --- /dev/null +++ b/src/parameter.h @@ -0,0 +1,149 @@ +/* + * + * $Id$ + * + * This file is part of the Virtual Leaf. + * + * The Virtual Leaf is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * The Virtual Leaf is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with the Virtual Leaf. If not, see . + * + * Copyright 2010 Roeland Merks. + * + */ + +#ifndef _PARAMETER_H_ +#define _PARAMETER_H_ +#include "vector.h" +#include + +#include +#include + +class Parameter { + + public: + Parameter(); + ~Parameter(); + void CleanUp(void); + void Read(const char *filename); + void Write(ostream &os) const; + void XMLAdd(xmlNode *root) const; + void XMLRead(xmlNode *root); + void AssignValToPar(const char *namec, const char *valc); + void AssignValArrayToPar(const char *namec, vector valarray); + char * arrowcolor; + double arrowsize; + char * textcolor; + int cellnumsize; + int nodenumsize; + double node_mag; + double outlinewidth; + char * cell_outline_color; + int resize_stride; + double T; + double lambda_length; + double lambda_celllength; + double target_length; + double cell_expansion_rate; + double cell_div_expansion_rate; + bool auxin_dependent_growth; + double ode_accuracy; + double mc_stepsize; + double mc_cell_stepsize; + double energy_threshold; + double bend_lambda; + double alignment_lambda; + double rel_cell_div_threshold; + double rel_perimeter_stiffness; + double collapse_node_threshold; + double morphogen_div_threshold; + double morphogen_expansion_threshold; + bool copy_wall; + double source; + double * D; + double * initval; + double k1; + double k2; + double r; + double kr; + double km; + double Pi_tot; + double transport; + double ka; + double pin_prod; + double pin_prod_in_epidermis; + double pin_breakdown; + double pin_breakdown_internal; + double aux1prod; + double aux1prodmeso; + double aux1decay; + double aux1decaymeso; + double aux1transport; + double aux_cons; + double aux_breakdown; + double kaux1; + double kap; + double leaf_tip_source; + double sam_efflux; + double sam_auxin; + double sam_auxin_breakdown; + double van3prod; + double van3autokat; + double van3sat; + double k2van3; + double dt; + double rd_dt; + char * datadir; + bool movie; + int nit; + double maxt; + int storage_stride; + int xml_storage_stride; + int rseed; + int constituous_expansion_limit; + double vessel_inh_level; + double vessel_expansion_rate; + double d; + double e; + double f; + double c; + double mu; + double nu; + double rho0; + double rho1; + double c0; + double gamma; + double eps; + double * k; + int i1; + int i2; + int i3; + int i4; + int i5; + char * s1; + char * s2; + char * s3; + bool b1; + bool b2; + bool b3; + bool b4; + char * dir1; + char * dir2; + private: +}; + +ostream &operator<<(ostream &os, Parameter &p); +const char *sbool(const bool &p); + + +#endif