diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -3,11 +3,17 @@ syntax: glob *~ *.a +*.cache +*.Debug *.o +*.orig +*.out +*.Release *.so +*.vars +*Makefile +*make.out *moc_*.cpp -*make.out -*Makefile src/parameter.h src/parameter.cpp src/default.par diff --git a/src/VirtualLeaf.pro b/src/VirtualLeaf.pro --- a/src/VirtualLeaf.pro +++ b/src/VirtualLeaf.pro @@ -27,7 +27,7 @@ DEFINES += REACTIONS_HEADER=$${REACTIONS DEFINES += REACTIONS_HEADER_STRING=\"$${REACTIONS}\" DEFINES += FLEMING -CONFIG += qt release +CONFIG += qt release PERLDIR = ./perl BINDIR = ../bin DESTDIR = $$BINDIR @@ -36,22 +36,20 @@ PARTMPL = $${TARGET}par.tmpl MAINSRC = $${TARGET}.cpp QT -= network sql xml QT += qt3support -QWTDIR = /usr/local/qwt -QMAKE_LIBDIR += $$QWTDIR/lib -win32:QWTDIR = "C:\Qwt-5.0.2" -unix:LIBS += -lxml2 -lz -lm -win32:LIBS += -L\"c:\Lib\" -L\"c:\Bin\" -lxml2 -lz -lm -lwsock32 +LIBXML2DIR = C:\libxml2 !win32 { GRAPHICS = qt #qwt } win32 { + CONFIG += console + system(DEL parameter.cpp parameter.h) GRAPHICS = qt RC_FILE = VirtualLeaf.rc - QMAKE_CXXFLAGS_RELEASE += -fexceptions -IC:\Include - QMAKE_CXXFLAGS_DEBUG += -fexceptions -IC:\Include + QMAKE_CXXFLAGS += -fexceptions -I$${LIBXML2DIR}\include + QMAKE_CXXFLAGS_DEBUG += -DQDEBUG -ggdb3 -O0 QMAKE_POST_LINK = "\ C:\Bin\cp release\VirtualLeaf.exe \ C:\Qt\4.5.3\bin\Qt3Support4.dll \ @@ -66,6 +64,7 @@ win32 { C:\bin\zlib1.dll \ C:\MinGW\bin\mingwm10.dll \ $${DESTDIR}" + LIBS += -lz -lm -lwsock32 -L$${LIBXML2DIR}\lib -lxml2 } # Application icons @@ -86,15 +85,19 @@ macx:release { unix { system(rm -f parameter.cpp parameter.h) - system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) - system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) - #system(perl $$PERLDIR/make_xmlwritecode.pl -h $$REACTIONS) CC = /usr/bin/gcc - QMAKE_CXXFLAGS_RELEASE += -fexceptions -I/usr/include/libxml2 - QMAKE_CXXFLAGS_DEBUG += -fexceptions -I/usr/include/libxml2 -DQDEBUG -ggdb3 -O0 + QWTDIR = /ufs/guravage/opt/qwt-5.2.1-svn + QMAKE_LIBDIR += $$QWTDIR/lib + QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 + QMAKE_CXXFLAGS_DEBUG += -DQDEBUG -ggdb3 -O0 QMAKE_LFLAGS += -fPIC + LIBS += -lxml2 -lz -lm } +system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) +system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) +#system(perl $$PERLDIR/make_xmlwritecode.pl -h $$REACTIONS) + # Input HEADERS += \ apoplastitem.h \ @@ -177,8 +180,8 @@ contains( TARGET, leaf_fleming ) { } contains(GRAPHICS, qwt) { - macx:LIBS += -L$$QWTDIR/lib -lqwt - win32:LIBS += -L$$QWTDIR/lib -lqwt5 + #macx:LIBS += -L$$QWTDIR/lib -lqwt + #win32:LIBS += -L$$QWTDIR/lib -lqwt5 #LIBS += -L$$QWTDIR/lib -lqwt INCLUDEPATH += $$QWTDIR/include DEFINES += HAVE_QWT @@ -188,14 +191,12 @@ contains(GRAPHICS, qwt) { contains( GRAPHICS, qt ) { message( "Building Qt executable" ) - QMAKE_CXXFLAGS_RELEASE += -DQTGRAPHICS # -fpermissive - QMAKE_CXXFLAGS_DEBUG += -DQTGRAPHICS + QMAKE_CXXFLAGS += -DQTGRAPHICS # -fpermissive } contains( GRAPHICS, xfig ) { message("Building Xfig executable (background runnable).") - QMAKE_CXXFLAGS_RELEASE += -DXFIGGRAPHICS - QMAKE_CXXFLAGS_DEBUG += -DXFIGGRAPHICS + QMAKE_CXXFLAGS += -DXFIGGRAPHICS } contains( GRAPHICS, x11 ) { @@ -205,8 +206,7 @@ contains( GRAPHICS, x11 ) { message("Building X11 executable") SOURCES += x11graph.cpp HEADERS += x11graph.h - QMAKE_CXXFLAGS_RELEASE += -DX11GRAPHICS - QMAKE_CXXFLAGS_DEBUG += -DX11GRAPHICS + QMAKE_CXXFLAGS += -DX11GRAPHICS CONFIG -= qt CONFIG += x11 unix:LIBS += -lpng diff --git a/src/VirtualLeaf_d.pro b/src/VirtualLeaf_d.pro --- a/src/VirtualLeaf_d.pro +++ b/src/VirtualLeaf_d.pro @@ -36,22 +36,20 @@ PARTMPL = $${TARGET}par.tmpl MAINSRC = $${TARGET}.cpp QT -= network sql xml QT += qt3support -QWTDIR = /usr/local/qwt -QMAKE_LIBDIR += $$QWTDIR/lib -win32:QWTDIR = "C:\Qwt-5.0.2" -unix:LIBS += -lxml2 -lz -lm -win32:LIBS += -L\"c:\Lib\" -L\"c:\Bin\" -lxml2 -lz -lm -lwsock32 +LIBXML2DIR = C:\libxml2 !win32 { GRAPHICS = qt #qwt } win32 { + CONFIG += console + system(DEL parameter.cpp parameter.h) GRAPHICS = qt RC_FILE = VirtualLeaf.rc - QMAKE_CXXFLAGS_RELEASE += -fexceptions -IC:\Include - QMAKE_CXXFLAGS_DEBUG += -fexceptions -IC:\Include + QMAKE_CXXFLAGS += -fexceptions -I$${LIBXML2DIR}\include + QMAKE_CXXFLAGS_DEBUG += -DQDEBUG -ggdb3 -O0 QMAKE_POST_LINK = "\ C:\Bin\cp release\VirtualLeaf.exe \ C:\Qt\4.5.3\bin\Qt3Support4.dll \ @@ -66,6 +64,7 @@ win32 { C:\bin\zlib1.dll \ C:\MinGW\bin\mingwm10.dll \ $${DESTDIR}" + LIBS += -lz -lm -lwsock32 -L$${LIBXML2DIR}\lib -lxml2 } # Application icons @@ -86,15 +85,19 @@ macx:release { unix { system(rm -f parameter.cpp parameter.h) - system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) - system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) - #system(perl $$PERLDIR/make_xmlwritecode.pl -h $$REACTIONS) CC = /usr/bin/gcc - QMAKE_CXXFLAGS_RELEASE += -fexceptions -I/usr/include/libxml2 - QMAKE_CXXFLAGS_DEBUG += -fexceptions -I/usr/include/libxml2 -DQDEBUG -ggdb3 -O0 + QWTDIR = /ufs/guravage/opt/qwt-5.2.1-svn + QMAKE_LIBDIR += $$QWTDIR/lib + QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 + QMAKE_CXXFLAGS_DEBUG += -DQDEBUG -ggdb3 -O0 QMAKE_LFLAGS += -fPIC + LIBS += -lxml2 -lz -lm } +system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) +system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) +#system(perl $$PERLDIR/make_xmlwritecode.pl -h $$REACTIONS) + # Input HEADERS += \ apoplastitem.h \ @@ -177,8 +180,8 @@ contains( TARGET, leaf_fleming ) { } contains(GRAPHICS, qwt) { - macx:LIBS += -L$$QWTDIR/lib -lqwt - win32:LIBS += -L$$QWTDIR/lib -lqwt5 + #macx:LIBS += -L$$QWTDIR/lib -lqwt + #win32:LIBS += -L$$QWTDIR/lib -lqwt5 #LIBS += -L$$QWTDIR/lib -lqwt INCLUDEPATH += $$QWTDIR/include DEFINES += HAVE_QWT @@ -188,14 +191,12 @@ contains(GRAPHICS, qwt) { contains( GRAPHICS, qt ) { message( "Building Qt executable" ) - QMAKE_CXXFLAGS_RELEASE += -DQTGRAPHICS # -fpermissive - QMAKE_CXXFLAGS_DEBUG += -DQTGRAPHICS + QMAKE_CXXFLAGS += -DQTGRAPHICS # -fpermissive } contains( GRAPHICS, xfig ) { message("Building Xfig executable (background runnable).") - QMAKE_CXXFLAGS_RELEASE += -DXFIGGRAPHICS - QMAKE_CXXFLAGS_DEBUG += -DXFIGGRAPHICS + QMAKE_CXXFLAGS += -DXFIGGRAPHICS } contains( GRAPHICS, x11 ) { @@ -205,8 +206,7 @@ contains( GRAPHICS, x11 ) { message("Building X11 executable") SOURCES += x11graph.cpp HEADERS += x11graph.h - QMAKE_CXXFLAGS_RELEASE += -DX11GRAPHICS - QMAKE_CXXFLAGS_DEBUG += -DX11GRAPHICS + QMAKE_CXXFLAGS += -DX11GRAPHICS CONFIG -= qt CONFIG += x11 unix:LIBS += -lpng diff --git a/src/build_models/plugin_auxingrowth.pro b/src/build_models/plugin_auxingrowth.pro --- a/src/build_models/plugin_auxingrowth.pro +++ b/src/build_models/plugin_auxingrowth.pro @@ -30,16 +30,17 @@ QT += qt3support SOURCES = $${TARGET}plugin.cpp TEMPLATE = lib -unix:LIBS += -L"lib" -lvleaf -win32:LIBS += -L"lib" -lvleaf +LIBXML2DIR = C:\libxml2 unix { + LIBS += -Llib -lvleaf QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 QMAKE_LFLAGS += -fPIC } win32 { - QMAKE_CXXFLAGS += -fexceptions -IC:\Include + LIBS += -Llib -lvleaf + QMAKE_CXXFLAGS += -fexceptions -IC:\strawberry\c\include -I$${LIBXML2DIR}\include } # finis diff --git a/src/build_models/plugin_leaf.pro b/src/build_models/plugin_leaf.pro --- a/src/build_models/plugin_leaf.pro +++ b/src/build_models/plugin_leaf.pro @@ -30,16 +30,17 @@ QT += qt3support SOURCES = $${TARGET}plugin.cpp TEMPLATE = lib -unix:LIBS += -L"lib" -lvleaf -win32:LIBS += -L"lib" -lvleaf +LIBXML2DIR = C:\libxml2 unix { + LIBS += -Llib -lvleaf QMAKE_CXXFLAGS += -fexceptions -fPIC -I/usr/include/libxml2 QMAKE_LFLAGS += -fPIC } win32 { - QMAKE_CXXFLAGS += -fexceptions -IC:\Include + LIBS += -Llib -lvleaf + QMAKE_CXXFLAGS += -fexceptions -IC:\strawberry\c\include -I$${LIBXML2DIR}\include } # finis diff --git a/src/build_models/plugin_meinhardt.pro b/src/build_models/plugin_meinhardt.pro --- a/src/build_models/plugin_meinhardt.pro +++ b/src/build_models/plugin_meinhardt.pro @@ -30,16 +30,17 @@ QT += qt3support SOURCES = $${TARGET}plugin.cpp TEMPLATE = lib -unix:LIBS += -L"lib" -lvleaf -win32:LIBS += -L"lib" -lvleaf +LIBXML2DIR = C:\libxml2 unix { + LIBS += -Llib -lvleaf QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 QMAKE_LFLAGS += -fPIC } win32 { - QMAKE_CXXFLAGS += -fexceptions -IC:\Include + LIBS += -Llib -lvleaf + QMAKE_CXXFLAGS += -fexceptions -IC:\strawberry\c\include -I$${LIBXML2DIR}\include } # finis diff --git a/src/build_models/plugin_test.pro b/src/build_models/plugin_test.pro --- a/src/build_models/plugin_test.pro +++ b/src/build_models/plugin_test.pro @@ -31,15 +31,17 @@ QT += qt3support SOURCES = $${TARGET}plugin.cpp TEMPLATE = lib -unix:LIBS += -L"lib" -lvleaf -win32:LIBS += -L"lib" -lvleaf +LIBXML2DIR = C:\libxml2 unix { + LIBS += -Llib -lvleaf + QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 QMAKE_LFLAGS += -fPIC - QMAKE_CXXFLAGS += -fexceptions -I/usr/include/libxml2 } win32 { - QMAKE_CXXFLAGS += -fexceptions -IC:\Include + LIBS += -Llib -lvleaf + QMAKE_CXXFLAGS += -fexceptions -I$${LIBXML2DIR}\include } +# finis diff --git a/src/cellbase.h b/src/cellbase.h --- a/src/cellbase.h +++ b/src/cellbase.h @@ -30,10 +30,13 @@ #include #include #include +#include + #include "vector.h" #include "parameter.h" #include "wall.h" #include "warning.h" +#include "assert.h" extern Parameter par; using namespace std; @@ -128,8 +131,20 @@ class CellBase : public QObject, public inline const char *BoundaryStr(void) { return boundary_type_names[boundary]; } ostream &print(ostream &os) const; + inline double Chemical(int c) const { // returns the value of chemical c - return chem[c]; + #ifdef QDEBUG + qDebug() << endl << "Entering cellbase::chemical(" << c << ")" << endl; + #endif + + int nchem = NChem(); + + #ifdef _undefined_ + if ((c<0) || (c>=nchem)) + MyWarning::warning("CellBase::Chemical says: index c is: %d, but nchem is: %d. Merely return zero", c, nchem); + #endif + + return ((c<0) || (c>=nchem)) ? 0 : chem[c]; } diff --git a/src/libplugin.pro b/src/libplugin.pro --- a/src/libplugin.pro +++ b/src/libplugin.pro @@ -28,8 +28,7 @@ QT += qt3support TARGET = vleaf TEMPLATE = lib -unix:LIBS += -lxml2 -lz -lm -win32:LIBS += -L\"c:\Lib\" -L\"c:\Bin\" -lxml2 -lz -lm -lwsock32 +LIBXML2DIR = C:\libxml2 HEADERS = \ cellbase.h \ @@ -59,14 +58,17 @@ SOURCES = \ unix { system(rm -f parameter.cpp parameter.h) # this is performed here when qmake is envoked and not in the resulting makefile. - system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) - system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) QMAKE_CXXFLAGS += -fexceptions -fPIC -I/usr/include/libxml2 QMAKE_LFLAGS += -fPIC + LIBS += -lxml2 -lz -lm } win32 { - QMAKE_CXXFLAGS += -fexceptions -IC:\Include + system(DEL parameter.cpp parameter.h) + QMAKE_CXXFLAGS += -fexceptions -I$${LIBXML2DIR}\include } +system(perl $$PERLDIR/make_parameter_source.pl $$PARTMPL) +system(perl $$PERLDIR/make_pardialog_source.pl $$PARTMPL) +#system(perl $$PERLDIR/make_xmlwritecode.pl -h $$REACTIONS) #