[Wsplgen-commits] r150 - in trunk: . bin/windows src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Thu Nov 12 22:44:54 CET 2009
Author: mrchip
Date: 2009-11-12 22:44:47 +0100 (Thu, 12 Nov 2009)
New Revision: 150
Modified:
trunk/NEWS
trunk/bin/windows/wsplgen.exe
trunk/src/file.cpp
trunk/src/parameter.cpp
trunk/src/qhull.cpp
trunk/src/quadtree.cpp
trunk/src/shape.cpp
trunk/src/test.cpp
trunk/src/tools.cpp
trunk/src/tools.h
trunk/src/tri.cpp
trunk/src/wsplgen.cpp
trunk/src/wsplgen.h
trunk/src/xy.cpp
Log:
Die Ausgabe erfolgt jetzt zeitgesteuert
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/NEWS 2009-11-12 21:44:47 UTC (rev 150)
@@ -10,6 +10,10 @@
// Read the file COPYING coming with WSPLGEN for details.
//
+Version 1.3.3
+
+ - Die Ausgabe von länger dauernden Vorgängen erfolgt nun im Sekundenabstand
+
Version 1.3.2
- Die Dämme und Gräben werden nun wieder mit der richtigen (geringen Breite dargestellt)
Modified: trunk/bin/windows/wsplgen.exe
===================================================================
(Binary files differ)
Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/file.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -29,7 +29,7 @@
//---------------------------------------------------------------------
bool LoadPar(std::string FileName, std::vector<std::string> *ParList)
{
- write_fortschritt("->Laden der Parameterdatei '%s' gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden der Parameterdatei '%s' gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -53,7 +53,7 @@
fclose(fh);
- write_fortschritt("<-Laden der Parameterdatei '%s' beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden der Parameterdatei '%s' beendet\n", FileName.c_str());
return (true);
}
@@ -61,7 +61,7 @@
//---------------------------------------------------------------------
bool LoadPRJ(std::string FileName, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden der Projektionsdatei gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden der Projektionsdatei gestartet\n", FileName.c_str());
std::string PRJFileName = ExchangeFileExt(FileName, ".prj");
FILE *ph = fopen(PRJFileName.c_str(), "r");
@@ -81,15 +81,12 @@
if (0 == fgets(PrjIn, sizeof(PrjIn), ph))
{
PrjIn[0] = '\0';
- write_fortschritt("Projektionsdatei '%s' konnte nicht gelesen werden\n", PRJFileName.c_str());
+ write_fortschritt (9, "Projektionsdatei '%s' konnte nicht gelesen werden\n", PRJFileName.c_str());
}
else
{
- write_fortschritt("Projektionsdatei '%s' gelesen\n", PRJFileName.c_str());
- if (DebugLevel >= 6)
- {
- write_fortschritt("Projektion: '%s'\n", PrjIn);
- }
+ write_fortschritt (9, "Projektionsdatei '%s' gelesen\n", PRJFileName.c_str());
+ if (DebugLevel >= 6) write_fortschritt (9, "Projektion: '%s'\n", PrjIn);
if (PrjOut[0] == '\0')
{
@@ -108,9 +105,9 @@
}
else
{
- write_fortschritt("Projektionsdatei '%s' konnte nicht geöffnet werden\n", PRJFileName.c_str());
+ write_fortschritt (9, "Projektionsdatei '%s' konnte nicht geöffnet werden\n", PRJFileName.c_str());
}
- write_fortschritt("<-Laden der Projektionsdatei beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden der Projektionsdatei beendet\n", FileName.c_str());
return (true);
}
@@ -118,7 +115,7 @@
//---------------------------------------------------------------------
bool LoadDGM(std::string FileName, TNodeList *NodeList, TElementList *ElementList, TXYZList *BegrenzungsPolygon, bool IsSetNoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' gestartet\n", FileName.c_str());
if (NodeList == 0) dump_error(__FILE__, __LINE__, "Die Knotenliste ist nicht definiert\n");
if (ElementList == 0) dump_error(__FILE__, __LINE__, "Die Elementliste ist nicht definiert\n");
@@ -169,7 +166,7 @@
write_error(1222, "Ungültige Dateinamenserweiterung '%s' beim Dateinamen '%s' für den Parameter -DGM\nErlaubt sind nur ADF, GRD, ASC, 2DM, XYZ, TXT oder SHP\n", ToUpperCase(Ext).c_str(), FileName.c_str());
}
- write_fortschritt("<-Laden des DGM in Datei '%s' beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' beendet\n", FileName.c_str());
return (true);
}
@@ -211,7 +208,7 @@
//---------------------------------------------------------------------------
bool LoadDGMTIN(std::string FileName, TNodeList *NodeList, TElementList *ElementList, TXYZList *Begrenzung, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als TIN gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als TIN gestartet\n", FileName.c_str());
std::string ThulFileName = GetFilePath(FileName) + "thul.adf";
std::string TnxyFileName = GetFilePath(FileName) + "tnxy.adf";
@@ -242,7 +239,7 @@
if (!IsSetBegrenzung)
{
- write_fortschritt("->Laden der Umhüllung gestartet\n");
+ write_fortschritt (9, "->Laden der Umhüllung gestartet\n");
fhthul = fopen(ThulFileName.c_str(), "rb");
if (fhthul == 0) write_error(2201, "Konnte '%s' nicht zum Lesen öffnen\n", ThulFileName.c_str());
@@ -285,15 +282,12 @@
Huelle.Add(XL, YL);
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzHul % 100 == 0) || (AnzHul > 0 && AnzHul % 1000 == 0))
- {
- write_fortschritt("%d Stützstellen gelesen\n", AnzHul);
- }
+ write_fortschritt(DebugLevel, "%d Stützstellen gelesen\n", AnzHul);
}
fclose(fhthul);
- write_fortschritt("%d Stützstellen gelesen\n", AnzHul);
+ write_fortschritt (9, "%d Stützstellen gelesen\n", AnzHul);
if (DebugLevel >= 9)
{
@@ -301,11 +295,11 @@
SavePolygon(HuelleFileName, &Huelle, DebugLevel);
}
- write_fortschritt("<-Laden der Umhüllung beendet\n");
+ write_fortschritt (9, "<-Laden der Umhüllung beendet\n");
}
- write_fortschritt("->Laden der Elemente gestartet\n");
+ write_fortschritt (9, "->Laden der Elemente gestartet\n");
// Nur so funktioniert später AddWithQuadTree
@@ -352,10 +346,7 @@
AnzElements++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzElements % 5000 == 0) || (AnzElements > 0 && AnzElements % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
/*
TTinTyp TinTyp = TTREGULAR;
@@ -445,11 +436,11 @@
fclose(fhtnz);
fclose(fhtnod);
- write_fortschritt("%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
+ write_fortschritt (9, "%d von %d Elementen im Speicher\n", ElementList->size(), AnzElements);
- write_fortschritt("<-Laden der Elemente beendet\n");
+ write_fortschritt (9, "<-Laden der Elemente beendet\n");
- write_fortschritt("<-Laden des DGM in Datei '%s' als TIN beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als TIN beendet\n", FileName.c_str());
return (true);
}
@@ -457,7 +448,7 @@
//---------------------------------------------------------------------------
bool LoadDGMGRD(std::string FileName, TNodeList *NodeList, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als GRD gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als GRD gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -642,10 +633,7 @@
AnzWerte++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzWerte % 10000 == 0) || (AnzWerte > 0 && AnzWerte % 100000 == 0))
- {
- write_fortschritt("%d von %d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, MaxWerte, NodeList->size(), AnzKnoten);
- }
+ write_fortschritt(DebugLevel, "%d von %d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, MaxWerte, NodeList->size(), AnzKnoten);
long XL = (long)(X * 100 + 0.5);
long YL = (long)(Y * 100 + 0.5);
@@ -661,11 +649,11 @@
NodeList->Add(Node);
}
}
- write_fortschritt("%d von %d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, MaxWerte, NodeList->size(), AnzKnoten);
+ write_fortschritt (9, "%d von %d Werten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, MaxWerte, NodeList->size(), AnzKnoten);
fclose(fh);
- write_fortschritt("<-Laden des DGM in Datei '%s' als GRD beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als GRD beendet\n", FileName.c_str());
return (true);
}
@@ -673,7 +661,7 @@
//---------------------------------------------------------------------------
bool LoadDGMXYZ(std::string FileName, TNodeList *NodeList, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als XYZ gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als XYZ gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -716,10 +704,7 @@
AnzWerte++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzWerte % 10000 == 0) || (AnzWerte > 0 && AnzWerte % 100000 == 0))
- {
- write_fortschritt("%d Werte gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
- }
+ write_fortschritt(DebugLevel, "%d Werte gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
long XL = (long)(X * 100 + 0.5);
long YL = (long)(Y * 100 + 0.5);
@@ -735,11 +720,11 @@
NodeList->Add(Node);
}
}
- write_fortschritt("%d Werte gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
+ write_fortschritt (9, "%d Werte gelesen, %d von %d Knoten im Speicher\n", AnzWerte, NodeList->size(), AnzKnoten);
fclose(fh);
- write_fortschritt("<-Laden des DGM in Datei '%s' als XYZ beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als XYZ beendet\n", FileName.c_str());
return (true);
}
@@ -833,7 +818,7 @@
//---------------------------------------------------------------------------
bool LoadDGMXML(std::string FileName, TNodeList *NodeList, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als XML gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als XML gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -896,10 +881,7 @@
AnzWerte++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzWerte % 10000 == 0) || (AnzWerte > 0 && AnzWerte % 100000 == 0))
- {
- write_fortschritt("%d Werte gelesen, %d Knoten im Speicher\n", AnzWerte, NodeList->size());
- }
+ write_fortschritt(DebugLevel, "%d Werte gelesen, %d Knoten im Speicher\n", AnzWerte, NodeList->size());
long XL = (long)(X * 100 + 0.5);
long YL = (long)(Y * 100 + 0.5);
@@ -919,11 +901,11 @@
Zeilen = Zeilen + AnzZeilen;
}
- write_fortschritt("%d Werte gelesen, %d Knoten im Speicher\n", AnzWerte, NodeList->size());
+ write_fortschritt (9, "%d Werte gelesen, %d Knoten im Speicher\n", AnzWerte, NodeList->size());
fclose(fh);
- write_fortschritt("<-Laden des DGM in Datei '%s' als XML beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als XML beendet\n", FileName.c_str());
return (true);
}
@@ -931,7 +913,7 @@
//---------------------------------------------------------------------------
bool LoadDGMSHP(std::string FileName, TNodeList *NodeList, TXYZList *XyList, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als SHP gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als SHP gestartet\n", FileName.c_str());
LoadPRJ(FileName, NoProjWarn, DebugLevel);
@@ -1093,10 +1075,7 @@
AnzWerte++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzWerte % 10000 == 0) || (AnzWerte > 0 && AnzWerte % 100000 == 0))
- {
- write_fortschritt("%d von %d Objekten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, RecordCount, NodeList->size(), AnzKnoten);
- }
+ write_fortschritt(DebugLevel, "%d von %d Objekten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, RecordCount, NodeList->size(), AnzKnoten);
TInsideTyp InsideTyp = INSIDE;
if (XyList && XyList->size() > 2) InsideTyp = XyList->IsInsideXYList(XL, YL);
@@ -1111,12 +1090,12 @@
SHPDestroyObject(psCShape);
}
- write_fortschritt("%d von %d Objekten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, RecordCount, NodeList->size(), AnzKnoten);
+ write_fortschritt (9, "%d von %d Objekten gelesen, %d von %d Knoten im Speicher\n", AnzWerte, RecordCount, NodeList->size(), AnzKnoten);
DBFClose(hDBF);
SHPClose(hSHP);
- write_fortschritt("<-Laden des DGM in Datei '%s' als SHP beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als SHP beendet\n", FileName.c_str());
return (true);
}
@@ -1124,7 +1103,7 @@
//---------------------------------------------------------------------------
bool LoadDGM2DM(std::string FileName, TNodeList *NodeList, TElementList *ElementList, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als 2DM gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als 2DM gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -1153,10 +1132,7 @@
{
AnzZeilen++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzZeilen % 10000 == 0) || (AnzZeilen > 0 && AnzZeilen % 100000 == 0))
- {
- write_fortschritt("%d Zeilen, %d Knoten geladen, %d Elemente gezählt\n", AnzZeilen, NodeList->size(), AnzElemente);
- }
+ write_fortschritt(DebugLevel, "%d Zeilen, %d Knoten geladen, %d Elemente gezählt\n", AnzZeilen, NodeList->size(), AnzElemente);
if (strncmp (line, "E4Q", 3) == 0 || strncmp (line, "E3T", 3) == 0)
{
@@ -1202,10 +1178,7 @@
{
AnzZeilen++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzZeilen % 10000 == 0) || (AnzZeilen > 0 && AnzZeilen % 100000 == 0))
- {
- write_fortschritt("%d Zeilen, %d Knoten geladen, %d Elemente geladen\n", AnzZeilen, NodeList->size(), ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d Zeilen, %d Knoten geladen, %d Elemente geladen\n", AnzZeilen, NodeList->size(), ElementList->size());
int Nr;
int Node1Nr;
@@ -1257,12 +1230,12 @@
fclose(fh);
- write_fortschritt("%d Elemente und %d Knoten geladen\n", ElementList->size(), NodeList->size());
- write_fortschritt("%d Knoten insgesamt\n", AnzKnoten);
+ write_fortschritt (9, "%d Elemente und %d Knoten geladen\n", ElementList->size(), NodeList->size());
+ write_fortschritt (9, "%d Knoten insgesamt\n", AnzKnoten);
if (XyList && XyList->size() > 2)
{
- write_fortschritt("->Löschen aussenliegender Kanten gestartet\n");
+ write_fortschritt (9, "->Löschen aussenliegender Kanten gestartet\n");
int Count = 0;
for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
@@ -1302,16 +1275,13 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen überprüft\n", Count, ElementList->size());
- }
+ write_fortschritt(DebugLevel ,"%d von %d Elementen überprüft\n", Count, ElementList->size());
}
- write_fortschritt("<-Löschen aussenliegender Kanten beendet\n");
+ write_fortschritt (9, "<-Löschen aussenliegender Kanten beendet\n");
}
- write_fortschritt("<-Laden des DGM in Datei '%s' als 2DM beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als 2DM beendet\n", FileName.c_str());
return (true);
}
@@ -1319,7 +1289,7 @@
//---------------------------------------------------------------------------
bool LoadDGMASCIITIN(std::string FileName, TNodeList *NodeList, TElementList *ElementList, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Laden des DGM in Datei '%s' als ASCII-TIN gestartet\n", FileName.c_str());
+ write_fortschritt (9, "->Laden des DGM in Datei '%s' als ASCII-TIN gestartet\n", FileName.c_str());
FILE *fh = fopen(FileName.c_str(), "r");
if (fh == 0)
@@ -1386,10 +1356,7 @@
write_error(2297, "Konnte keine 3 Werte in der Datei '%s' in der Zeile %d lesen\n", FileName.c_str(), AnzZeilen);
}
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzZeilen % 10000 == 0) || (AnzZeilen > 0 && AnzZeilen % 100000 == 0))
- {
- write_fortschritt("%d Zeilen, %d Knoten geladen\n", AnzZeilen, NodeList->size());
- }
+ write_fortschritt(DebugLevel, "%d Zeilen, %d Knoten geladen\n", AnzZeilen, NodeList->size());
long XL = (long)(X * 100 + 0.5);
long YL = (long)(Y * 100 + 0.5);
@@ -1433,10 +1400,7 @@
{
AnzZeilen++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzZeilen % 10000 == 0) || (AnzZeilen > 0 && AnzZeilen % 100000 == 0))
- {
- write_fortschritt("%d Zeilen, %d Elemente geladen\n", AnzZeilen, ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d Zeilen, %d Elemente geladen\n", AnzZeilen, ElementList->size());
int Node1Nr;
int Node2Nr;
@@ -1462,12 +1426,12 @@
fclose(fh);
- write_fortschritt("%d Elemente und %d Knoten geladen\n", ElementList->size(), NodeList->size());
- write_fortschritt("%d Knoten insgesamt\n", AnzKnoten);
+ write_fortschritt (9, "%d Elemente und %d Knoten geladen\n", ElementList->size(), NodeList->size());
+ write_fortschritt (9, "%d Knoten insgesamt\n", AnzKnoten);
if (XyList && XyList->size() > 2)
{
- write_fortschritt("->Löschen aussenliegender Kanten gestartet\n");
+ write_fortschritt (9, "->Löschen aussenliegender Kanten gestartet\n");
int Count = 0;
for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
@@ -1507,16 +1471,13 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen überprüft\n", Count, ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen überprüft\n", Count, ElementList->size());
}
- write_fortschritt("<-Löschen aussenliegender Kanten beendet\n");
+ write_fortschritt (9, "<-Löschen aussenliegender Kanten beendet\n");
}
- write_fortschritt("<-Laden des DGM in Datei '%s' als ASCII-TIN beendet\n", FileName.c_str());
+ write_fortschritt (9, "<-Laden des DGM in Datei '%s' als ASCII-TIN beendet\n", FileName.c_str());
return (true);
}
@@ -1524,13 +1485,13 @@
//---------------------------------------------------------------------
bool LoadProfile(std::string FileName, TProfilList* ProfilList, TGewaesserAchseList* GewaesserAchseList, double VonKmD, double BisKmD, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden der Profilspuren gestartet\n");
+ write_fortschritt (9, "->Laden der Profilspuren gestartet\n");
LoadPRJ(FileName, NoProjWarn, DebugLevel);
- if (VonKmD > -9999 && BisKmD > -9999) write_fortschritt("Nur Profile von Station %.4f bis %.4f werden geladen\n", VonKmD, BisKmD);
- else if (VonKmD > -9999) write_fortschritt("Nur Profile mit einer Station größer als %.4f werden geladen\n", VonKmD);
- else if (BisKmD > -9999) write_fortschritt("Nur Profile mit einer Station kleiner als %.4f werden geladen\n", BisKmD);
+ if (VonKmD > -9999 && BisKmD > -9999) write_fortschritt (9, "Nur Profile von Station %.4f bis %.4f werden geladen\n", VonKmD, BisKmD);
+ else if (VonKmD > -9999) write_fortschritt (9, "Nur Profile mit einer Station größer als %.4f werden geladen\n", VonKmD);
+ else if (BisKmD > -9999) write_fortschritt (9, "Nur Profile mit einer Station kleiner als %.4f werden geladen\n", BisKmD);
if (ProfilList == 0)
{
@@ -1709,29 +1670,26 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Objekten geladen, %d Profilspuren im Speicher\n", Count, RecordCount, ProfilList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Objekten geladen, %d Profilspuren im Speicher\n", Count, RecordCount, ProfilList->size());
}
- write_fortschritt("%d von %d Objekten geladen, %d Profilspuren im Speicher\n", Count, RecordCount, ProfilList->size());
+ write_fortschritt (9, "%d von %d Objekten geladen, %d Profilspuren im Speicher\n", Count, RecordCount, ProfilList->size());
DBFClose(hDBF);
SHPClose(hSHP);
- write_fortschritt("<-Laden der Profilspuren beendet\n");
+ write_fortschritt (9, "<-Laden der Profilspuren beendet\n");
if (DebugLevel >= 9)
{
for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
{
TProfil* Profil = *i;
- write_fortschritt("%d\n", Profil->Station);
+ write_fortschritt (9, "%d\n", Profil->Station);
}
}
- write_fortschritt("->Ausrichten der Profilspuren gestartet\n");
+ write_fortschritt (9, "->Ausrichten der Profilspuren gestartet\n");
if (0 == GewaesserAchseList)
{
@@ -1744,10 +1702,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
VorProfil = NachProfil;
NachProfil = *i;
@@ -1813,7 +1768,7 @@
}
i++;
}
- write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+ write_fortschritt (9, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
}
else
{
@@ -1824,10 +1779,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
TProfil* Profil = *i;
@@ -1900,10 +1852,7 @@
if (CrossProduct(X, Y, P1x, P1y, S1x, S1y) < 0.0)
{
- if (DebugLevel >= 9)
- {
- write_fortschritt("Profil '%.4f' wurde umgedreht\n", Profil->Station / 10000.0);
- }
+ write_fortschritt(DebugLevel ,"Profil '%.4f' wurde umgedreht\n", Profil->Station / 10000.0);
SwitchCount++;
@@ -1931,13 +1880,13 @@
} // Ende der Iteration über die Achsen
i++;
}
- write_fortschritt("%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+ write_fortschritt (9, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
}
- write_fortschritt("<-Ausrichten der Profilspuren beendet\n");
+ write_fortschritt (9, "<-Ausrichten der Profilspuren beendet\n");
- write_fortschritt("->Überprüfung der Profilspuren gestartet\n");
+ write_fortschritt (9, "->Überprüfung der Profilspuren gestartet\n");
TProfil* VorProfil = 0;
TProfil* NachProfil = 0;
@@ -1947,10 +1896,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Profilspuren überprüft\n", Count, ProfilList->size());
- }
+ write_fortschritt(DebugLevel ,"%d von %d Profilspuren überprüft\n", Count, ProfilList->size());
VorProfil = NachProfil;
NachProfil = *i;
@@ -1993,18 +1939,18 @@
double X = 0.0;
double Y = 0.0;
if (Calc2Schnitt(VP1->X, VP1->Y, VP2->X, VP2->Y, NP1->X, NP1->Y, NP2->X, NP2->Y, &X, &Y))
- {
- write_warning(3117, "Die Profile %d und %d schneiden sich bei (%.2f, %.2f)\n", VorProfil->Station / 1000, NachProfil->Station / 1000, X / 100.0, Y / 100.0);
- }
- k++;
+ {
+ write_warning(3117, "Die Profile %d und %d schneiden sich bei (%.2f, %.2f)\n", VorProfil->Station / 1000, NachProfil->Station / 1000, X / 100.0, Y / 100.0);
+ }
+ k++;
}
- j++;
- }
+ j++;
+ }
i++;
}
- write_fortschritt("%d von %d Profilspuren überprüft\n", Count, ProfilList->size());
+ write_fortschritt (9, "%d von %d Profilspuren überprüft\n", Count, ProfilList->size());
- write_fortschritt("<-Überprüfung der Profilspuren beendet\n");
+ write_fortschritt (9, "<-Überprüfung der Profilspuren beendet\n");
return (true);
}
@@ -2012,7 +1958,7 @@
//---------------------------------------------------------------------
bool LoadLinien(std::string FileName, TProfilList* SperrenList, TProfilList* GrabenList, TProfilList* Rohre1List, TProfilList* Rohre2List, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden der Linien Strukturen (Sperren, Gräben und Rohre) gestartet\n");
+ write_fortschritt (9, "->Laden der Linien Strukturen (Sperren, Gräben und Rohre) gestartet\n");
LoadPRJ(FileName, NoProjWarn, DebugLevel);
@@ -2259,19 +2205,14 @@
Linie->InterpolateZ();
}
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Liniensstrukturen geladen.\n", Count, RecordCount);
- write_fortschritt("(%d Sperren, %d Gräben, %d Rohre Typ 1, %d Rohre Typ 2)\n", SperrenList->size(), GrabenList->size(), Rohre1List->size(), Rohre2List->size());
- }
+ write_fortschritt(DebugLevel, "%d Sperren, %d Gräben, %d Rohre Typ 1, %d Rohre Typ 2 geladen.\n", SperrenList->size(), GrabenList->size(), Rohre1List->size(), Rohre2List->size());
}
- write_fortschritt("%d von %d Liniensstrukturen geladen.\n", Count, RecordCount);
- write_fortschritt("%d Dämme, %d Gräben, %d Rohre Typ 1, %d Rohre Typ 2\n", SperrenList->size(), GrabenList->size(), Rohre1List->size(), Rohre2List->size());
+ write_fortschritt (9, "%d Gesamt (%d Dämme, %d Gräben, %d Rohre Typ 1, %d Rohre Typ 2)\n", RecordCount, SperrenList->size(), GrabenList->size(), Rohre1List->size(), Rohre2List->size());
DBFClose(hDBF);
SHPClose(hSHP);
- write_fortschritt("<-Laden der Linien Strukturen (Sperren, Gräben und Rohre) beendet\n");
+ write_fortschritt (9, "<-Laden der Linien Strukturen (Sperren, Gräben und Rohre) beendet\n");
return (true);
}
@@ -2279,7 +2220,7 @@
//---------------------------------------------------------------------
bool LoadWsp(std::string FileName, TProfilList* ProfilList, std::string Tag, int DebugLevel)
{
- write_fortschritt("->Laden der Wasserstände gestartet\n");
+ write_fortschritt (9, "->Laden der Wasserstände gestartet\n");
std::string Ext = GetFileExt(FileName);
@@ -2302,7 +2243,7 @@
write_error(1227, "Ungültige Dateinamenserweiterung '%s' beim Dateinamen '%s' für den Parameter -WSP\nErlaubt sind nur WSP, DBF, TXT, DAT oder ASC\n", ToUpperCase(Ext).c_str(), FileName.c_str());
}
- write_fortschritt("<-Laden der Wasserstände beendet\n");
+ write_fortschritt (9, "<-Laden der Wasserstände beendet\n");
return (Status);
}
@@ -2310,7 +2251,7 @@
//---------------------------------------------------------------------
bool LoadWspTxt(std::string FileName, TProfilList* ProfilList, int DebugLevel)
{
- write_fortschritt("->Laden der Wasserstände im ASCII-Format gestartet\n");
+ write_fortschritt (9, "->Laden der Wasserstände im ASCII-Format gestartet\n");
if (ProfilList == 0)
{
@@ -2413,16 +2354,13 @@
delete Profil;
}
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AktZeile % 100 == 0) || (AktZeile > 0 && AktZeile % 1000 == 0))
- {
- write_fortschritt("%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
- }
+ write_fortschritt(DebugLevel, "%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
}
- write_fortschritt("%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
+ write_fortschritt (9, "%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
fclose(fh);
- write_fortschritt("<-Laden der Wasserstände im ASCII-Format beendet\n");
+ write_fortschritt (9, "<-Laden der Wasserstände im ASCII-Format beendet\n");
return (true);
}
@@ -2430,7 +2368,7 @@
//---------------------------------------------------------------------
bool LoadWspWst(std::string FileName, TProfilList* ProfilList, std::string Tag, int DebugLevel)
{
- write_fortschritt("->Laden der Wasserstände im WST-Format gestartet\n");
+ write_fortschritt (9, "->Laden der Wasserstände im WST-Format gestartet\n");
if (ProfilList == 0)
{
@@ -2619,16 +2557,13 @@
delete Profil;
}
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AktZeile % 100 == 0) || (AktZeile > 0 && AktZeile % 1000 == 0))
- {
- write_fortschritt("%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
- }
+ write_fortschritt(DebugLevel, "%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
}
- write_fortschritt("%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
+ write_fortschritt (9, "%d Zeilen geladen, %d Wasserstände im Speicher\n", AktZeile, ProfilList->size());
fclose(fh);
- write_fortschritt("<-Laden der Wasserstände im WST-Format beendet\n");
+ write_fortschritt (9, "<-Laden der Wasserstände im WST-Format beendet\n");
return (true);
}
@@ -2636,7 +2571,7 @@
//---------------------------------------------------------------------
bool LoadWspDBF(std::string FileName, TProfilList* ProfilList, int DebugLevel)
{
- write_fortschritt("->Laden der Wasserstände im DBF-Format gestartet\n");
+ write_fortschritt (9, "->Laden der Wasserstände im DBF-Format gestartet\n");
if (ProfilList == 0)
{
@@ -2803,17 +2738,14 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 100 == 0) || (Count > 0 && Count % 1000 == 0))
- {
- write_fortschritt("%d von %d Objekten gelesen, %d Wasserstände im Speicher\n", Count, RecordCount, ProfilList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Objekten gelesen, %d Wasserstände im Speicher\n", Count, RecordCount, ProfilList->size());
}
- write_fortschritt("%d von %d Objekten gelesen, %d Wasserstände im Speicher\n", Count, RecordCount, ProfilList->size());
+ write_fortschritt (9, "%d von %d Objekten gelesen, %d Wasserstände im Speicher\n", Count, RecordCount, ProfilList->size());
DBFClose(hDBF);
- write_fortschritt("<-Laden der Wasserstände im DBF-Format beendet\n");
+ write_fortschritt (9, "<-Laden der Wasserstände im DBF-Format beendet\n");
return (true);
}
@@ -2821,7 +2753,7 @@
//---------------------------------------------------------------------
bool LoadAchse(std::string FileName, TGewaesserAchseList* GewaesserAchseList, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden der Gewässerachsen gestartet\n");
+ write_fortschritt (9, "->Laden der Gewässerachsen gestartet\n");
LoadPRJ(FileName, NoProjWarn, DebugLevel);
@@ -2918,20 +2850,17 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt("%d von %d Objekten gelesen, %d Gewässerachsen im Speicher\n", Count, RecordCount, GewaesserAchseList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Objekten gelesen, %d Gewässerachsen im Speicher\n", Count, RecordCount, GewaesserAchseList->size());
}
- write_fortschritt("%d von %d Objekten gelesen, %d Gewässerachsen im Speicher\n", Count, RecordCount, GewaesserAchseList->size());
+ write_fortschritt (9, "%d von %d Objekten gelesen, %d Gewässerachsen im Speicher\n", Count, RecordCount, GewaesserAchseList->size());
DBFClose(hDBF);
SHPClose(hSHP);
- write_fortschritt("<-Laden der Gewässerachsen beendet\n");
+ write_fortschritt (9, "<-Laden der Gewässerachsen beendet\n");
- write_fortschritt("->Zusammenführen von Achsensegmenten gestart\n");
+ write_fortschritt (9, "->Zusammenführen von Achsensegmenten gestart\n");
TGewaesserAchseList::iterator FirstAchseIter = GewaesserAchseList->begin();
int FirstCount = 0;
@@ -2957,10 +2886,7 @@
TGewaesserAchse* FirstAchse = *FirstAchseIter;
TGewaesserAchse* TestAchse = *TestAchseIter;
- if (DebugLevel >= 9 || (DebugLevel >= 8 && Count % 10 == 0) || Count % 100 == 0)
- {
- write_fortschritt("Teste Segment %d (%d) von %d Segmenten mit %d (%d)\n", FirstCount, FirstAchse->PointList->size(), GewaesserAchseList->size(), TestCount, TestAchse->PointList->size());
- }
+ write_fortschritt(DebugLevel, "Teste Segment %d (%d) von %d Segmenten mit %d (%d)\n", FirstCount, FirstAchse->PointList->size(), GewaesserAchseList->size(), TestCount, TestAchse->PointList->size());
// Point First von FirstAchse (PfFirst) und Point Last von Firstachse(PlFirst)
TPoint* PfFirst = *(FirstAchse->PointList->begin());
@@ -3043,7 +2969,7 @@
if (NewXyList)
{
- if (DebugLevel >= 9) write_fortschritt("Segment %d und %d werden verbunden\n", FirstCount, TestCount);
+ if (DebugLevel >= 9) write_fortschritt (9, "Segment %d und %d werden verbunden\n", FirstCount, TestCount);
// Alte Punkte löschen
for (TPointList::iterator i=FirstAchse->PointList->begin(); i != FirstAchse->PointList->end(); i++)
@@ -3056,7 +2982,7 @@
delete FirstAchse->PointList;
FirstAchse->PointList = 0;
- if (DebugLevel >= 9) write_fortschritt("Neue XYList (%d)\n", NewXyList->size());
+ if (DebugLevel >= 9) write_fortschritt (9, "Neue XYList (%d)\n", NewXyList->size());
// Neue Punkte hinzufügen
for (TXYZList::iterator i = NewXyList->begin(); i != NewXyList->end(); i++)
@@ -3065,7 +2991,7 @@
FirstAchse->AddPoint(Xy->X, Xy->Y);
}
- if (DebugLevel >= 9) write_fortschritt("Neue Anzahl (%d)\n", FirstAchse->PointList->size());
+ if (DebugLevel >= 9) write_fortschritt (9, "Neue Anzahl (%d)\n", FirstAchse->PointList->size());
GewaesserAchseList->erase(TestAchseIter);
delete TestAchse;
@@ -3079,7 +3005,7 @@
}
}
- write_fortschritt("<-Zusammenführen von Achsensegmenten beendet\n");
+ write_fortschritt (9, "<-Zusammenführen von Achsensegmenten beendet\n");
return (true);
}
@@ -3087,7 +3013,7 @@
//---------------------------------------------------------------------
bool LoadGebiet(std::string FileName, TXYZList *XyList, bool NoProjWarn, int DebugLevel)
{
- write_fortschritt("->Laden der hydraulischen Grenze gestartet\n");
+ write_fortschritt (9, "->Laden der hydraulischen Grenze gestartet\n");
LoadPRJ(FileName, NoProjWarn, DebugLevel);
@@ -3167,7 +3093,7 @@
SHPClose(hSHP);
- write_fortschritt("<-Laden der hydraulischen Grenze beendet\n");
+ write_fortschritt (9, "<-Laden der hydraulischen Grenze beendet\n");
return (true);
}
@@ -3177,7 +3103,7 @@
{
if (PrjOut[0] != '\0')
{
- write_fortschritt("->Speichern einer Projektionsdatei gestartet\n");
+ write_fortschritt (9, "->Speichern einer Projektionsdatei gestartet\n");
std::string PRJFileName = ExchangeFileExt(FileName, ".prj");
FILE *ph = fopen(PRJFileName.c_str(), "w");
@@ -3185,22 +3111,22 @@
{
if (EOF == fputs(PrjOut, ph))
{
- write_fortschritt("Projektionsdatei '%s' konnte nicht geschrieben werden\n", PRJFileName.c_str());
+ write_fortschritt (9, "Projektionsdatei '%s' konnte nicht geschrieben werden\n", PRJFileName.c_str());
}
else if (EOF == fclose(ph))
{
- write_fortschritt("Projektionsdatei '%s' konnte nicht geschrieben werden\n", PRJFileName.c_str());
+ write_fortschritt (9, "Projektionsdatei '%s' konnte nicht geschrieben werden\n", PRJFileName.c_str());
}
}
else
{
- write_fortschritt("Projektionsdatei '%s' konnte nicht zum Schreiben geöffnet werden\n", PRJFileName.c_str());
+ write_fortschritt (9, "Projektionsdatei '%s' konnte nicht zum Schreiben geöffnet werden\n", PRJFileName.c_str());
}
- write_fortschritt("<-Speichern einer Projektionsdatei beendet\n");
+ write_fortschritt (9, "<-Speichern einer Projektionsdatei beendet\n");
}
else
{
- if (DebugLevel >= 3) write_fortschritt("Keine Projektionsinformationen vorhanden\n");
+ if (DebugLevel >= 3) write_fortschritt (9, "Keine Projektionsinformationen vorhanden\n");
}
return (true);
@@ -3209,27 +3135,24 @@
//---------------------------------------------------------------------------
bool SaveNet(std::string FileName, TNodeList *NodeList, TElementList *ElementList, int DebugLevel)
{
- write_fortschritt("->Speichern des 2DM-Netzes gestartet\n");
+ write_fortschritt (9, "->Speichern des 2DM-Netzes gestartet\n");
if (NodeList == 0) dump_error(__FILE__, __LINE__, "Die Knotenliste ist nicht definiert\n");
- write_fortschritt("->Umnumerierung der Knoten gestartet\n");
+ write_fortschritt (9, "->Umnumerierung der Knoten gestartet\n");
for (unsigned int i=0; i<NodeList->size(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && i % 5000 == 0) || (i > 0 && i % 50000 == 0))
- {
- write_fortschritt("%d von %d Knoten umnumeriert\n", i, NodeList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Knoten umnumeriert\n", i, NodeList->size());
TNode *Node = (*NodeList)[i];
Node->Nr = i + 1;
}
- write_fortschritt("%d von %d Knoten umnumeriert\n", NodeList->size(), NodeList->size());
+ write_fortschritt (9, "%d von %d Knoten umnumeriert\n", NodeList->size(), NodeList->size());
- write_fortschritt("<-Umnumerierung der Knoten beendet\n");
+ write_fortschritt (9, "<-Umnumerierung der Knoten beendet\n");
FILE *fh = fopen (FileName.c_str(), "w");
if (fh == NULL)
@@ -3241,14 +3164,11 @@
if (ElementList && ElementList->size() > 0)
{
- write_fortschritt("->Speichern der Elemente gestartet\n");
+ write_fortschritt (9, "->Speichern der Elemente gestartet\n");
for (unsigned int i=0; i<ElementList->size(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && i % 5000 == 0) || (i > 0 && i % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen gespeichert\n", i, ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen gespeichert\n", i, ElementList->size());
TElement *Element = (*ElementList)[i];
@@ -3269,19 +3189,16 @@
fprintf(fh, "E3T %6d %6d %6d %6d %6d\n", i+1, N1->Nr, N2->Nr, N3->Nr, 1);
}
- write_fortschritt("%d von %d Elementen gespeichert\n", ElementList->size(), ElementList->size());
+ write_fortschritt (9, "%d von %d Elementen gespeichert\n", ElementList->size(), ElementList->size());
- write_fortschritt("<-Speichern der Elemente beendet\n");
+ write_fortschritt (9, "<-Speichern der Elemente beendet\n");
}
- write_fortschritt("->Speichern der Knoten gestartet\n");
+ write_fortschritt (9, "->Speichern der Knoten gestartet\n");
for (unsigned int i=0; i<NodeList->size(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && i % 5000 == 0) || (i > 0 && i % 50000 == 0))
- {
- write_fortschritt("%d von %d Knoten gespeichert\n", i, NodeList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Knoten gespeichert\n", i, NodeList->size());
TNode *Node = (*NodeList)[i];
@@ -3290,11 +3207,11 @@
fprintf(fh, "ND %6d %15.9e %15.9e %15.9e\n", Node->Nr, Node->X / 100.0, Node->Y / 100.0, Node->Z / 100.0);
}
- write_fortschritt("%d von %d Knoten gespeichert\n", NodeList->size(), NodeList->size());
+ write_fortschritt (9, "%d von %d Knoten gespeichert\n", NodeList->size(), NodeList->size());
- write_fortschritt("<-Speichern der Knoten beendet\n");
+ write_fortschritt (9, "<-Speichern der Knoten beendet\n");
- write_fortschritt("->Speichern der Modell-Parameter gestartet\n");
+ write_fortschritt (9, "->Speichern der Modell-Parameter gestartet\n");
fprintf(fh, "BEGPARAMDEF\n");
fprintf(fh, "GM HYDRO_AS-2D\n");
@@ -3333,11 +3250,11 @@
fprintf(fh, "END2DMBC\n");
- write_fortschritt("<-Speichern der Modell-Parameter beendet\n");
+ write_fortschritt (9, "<-Speichern der Modell-Parameter beendet\n");
fclose (fh);
- write_fortschritt("<-Speichern des 2DM-Netzes beendet\n");
+ write_fortschritt (9, "<-Speichern des 2DM-Netzes beendet\n");
return (true);
}
@@ -3345,7 +3262,7 @@
//---------------------------------------------------------------------------
bool SaveSol(std::string FileName, TNodeList *NodeList, int DebugLevel)
{
- write_fortschritt("->Speichern der SOL-Wasserstände gestartet\n");
+ write_fortschritt (9, "->Speichern der SOL-Wasserstände gestartet\n");
if (NodeList == 0) dump_error(__FILE__, __LINE__, "Die Knotenliste ist nicht definiert\n");
@@ -3362,21 +3279,18 @@
for (unsigned int i=0; i<NodeList->size(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && i % 5000 == 0) || (i > 0 && i % 50000 == 0))
- {
- write_fortschritt("%d von %d Wasserstände gespeichert\n", i, NodeList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Wasserstände gespeichert\n", i, NodeList->size());
TNode *Node = (*NodeList)[i];
fprintf(fh, "%15.9f\n", Node->Wsp / 100.0);
}
- write_fortschritt("%d von %d Wasserstände gespeichert\n", NodeList->size(), NodeList->size());
+ write_fortschritt (9, "%d von %d Wasserstände gespeichert\n", NodeList->size(), NodeList->size());
fclose (fh);
- write_fortschritt("<-Speichern der SOL-Wasserstände beendet\n");
+ write_fortschritt (9, "<-Speichern der SOL-Wasserstände beendet\n");
return (true);
}
@@ -3384,7 +3298,7 @@
//---------------------------------------------------------------------------
bool SaveProfile(std::string FileName, TProfilList *ProfilList, int DebugLevel)
{
- write_fortschritt("->Speichern der Profile gestartet\n");
+ write_fortschritt (9, "->Speichern der Profile gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -3449,17 +3363,14 @@
AnzProfil++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzProfil % 100 == 0) || (AnzProfil > 0 && AnzProfil % 1000 == 0))
- {
- write_fortschritt("%d von %d Profile gespeichert\n", AnzProfil, ProfilList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Profile gespeichert\n", AnzProfil, ProfilList->size());
}
- write_fortschritt("%d von %d Profile gespeichert\n", AnzProfil, ProfilList->size());
+ write_fortschritt (9, "%d von %d Profile gespeichert\n", AnzProfil, ProfilList->size());
DBFClose(DBFHandle);
SHPClose(SHPHandle);
- write_fortschritt("<-Speichern der Profile beendet\n");
+ write_fortschritt (9, "<-Speichern der Profile beendet\n");
return (true);
}
@@ -3467,7 +3378,7 @@
//---------------------------------------------------------------------------
bool SavePolygon(std::string FileName, TXYZList *XyList, int DebugLevel)
{
- write_fortschritt("->Speichern des Begrenzungspolygons gestartet\n");
+ write_fortschritt (9, "->Speichern des Begrenzungspolygons gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -3498,10 +3409,7 @@
AnzPoint++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzPoint % 1000 == 0) || (AnzPoint > 0 && AnzPoint % 10000 == 0))
- {
- write_fortschritt("%d von %d Stützstellen gespeichert\n", AnzPoint, XyList->size()+1);
- }
+ write_fortschritt(DebugLevel, "%d von %d Stützstellen gespeichert\n", AnzPoint, XyList->size()+1);
}
TXYZList::iterator i = XyList->begin();
@@ -3524,9 +3432,9 @@
DBFClose(DBFHandle);
SHPClose(SHPHandle);
- write_fortschritt("%d von %d Stützstellen gespeichert\n", AnzPoint, XyList->size()+1);
+ write_fortschritt (9, "%d von %d Stützstellen gespeichert\n", AnzPoint, XyList->size()+1);
- write_fortschritt("<-Speichern des Begrenzungspolygons beendet\n");
+ write_fortschritt (9, "<-Speichern des Begrenzungspolygons beendet\n");
return (true);
}
@@ -3574,7 +3482,7 @@
//---------------------------------------------------------------------------
bool SavePolygone(std::string FileName, TErgebnisPolygonList *PolygonList, int DebugLevel)
{
- write_fortschritt("->Speichern der Ergebnispolygone gestartet\n");
+ write_fortschritt (9, "->Speichern der Ergebnispolygone gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -3590,7 +3498,7 @@
write_error(4204, "Kann bei Datei '%s' das Attribut 'DIFF' nicht erzeugen\n", FileName.c_str());
}
- write_fortschritt("->Löschen der zu kleinen Ringe gestartet\n");
+ write_fortschritt (9, "->Löschen der zu kleinen Ringe gestartet\n");
int Count = 0;
int DelCount = 0;
@@ -3600,10 +3508,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Polygonen, %d Polygone gelöscht\n", Count, PolygonList->size(), DelCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Polygonen, %d Polygone gelöscht\n", Count, PolygonList->size(), DelCount);
TErgebnisPolygon* EP1 = *j;
@@ -3618,10 +3523,10 @@
EP1->Diff = NotValid;
}
}
- write_fortschritt("%d Ringe gelöscht\n", DelCount);
- write_fortschritt("kleinste Ringfläche: %.3f\n", (double)MinArea / 10000.0);
+ write_fortschritt (9, "%d Ringe gelöscht\n", DelCount);
+ write_fortschritt (9, "kleinste Ringfläche: %.3f\n", (double)MinArea / 10000.0);
- write_fortschritt("<-Löschen der zu kleinen Ringe beendet\n");
+ write_fortschritt (9, "<-Löschen der zu kleinen Ringe beendet\n");
SHPHandle SHPHandle = SHPCreate(FileName.c_str(), SHPT_POLYGON);
@@ -3734,10 +3639,7 @@
x[AnzPolyPoints] = (*m)->X / 100.0;
y[AnzPolyPoints] = (*m)->Y / 100.0;
- if (DebugLevel == 9)
- {
- write_fortschritt("%.2f %.2f\n", x[AnzPolyPoints], y[AnzPolyPoints]);
- }
+ if (DebugLevel >= 9) write_fortschritt (9, "%.2f %.2f\n", x[AnzPolyPoints], y[AnzPolyPoints]);
AnzPolyPoints++;
}
@@ -3746,15 +3648,12 @@
x[AnzPolyPoints] = (*m)->X / 100.0;
y[AnzPolyPoints] = (*m)->Y / 100.0;
- if (DebugLevel == 9)
- {
- write_fortschritt("%.2f %.2f\n", x[AnzPolyPoints], y[AnzPolyPoints]);
- }
+ if (DebugLevel >= 9) write_fortschritt (9, "%.2f %.2f\n", x[AnzPolyPoints], y[AnzPolyPoints]);
AnzPolyPoints++;
}
- write_fortschritt("%d. Ergebnispolygon (Wassertiefe %.2f, %d Ringe, %d Stützstellen)\n", Count+1, AktDiff / 100.0, AnzPolyParts, AnzPolyPoints);
+ write_fortschritt (9, "%d. Ergebnispolygon (Wassertiefe %.2f, %d Ringe, %d Stützstellen)\n", Count+1, AktDiff / 100.0, AnzPolyParts, AnzPolyPoints);
if (AnzPolyParts > 0 && AnzPolyPoints > 0)
{
@@ -3794,7 +3693,7 @@
DBFClose(DBFHandle);
SHPClose(SHPHandle);
- write_fortschritt("<-Speichern der Ergebnispolygone beendet\n");
+ write_fortschritt (9, "<-Speichern der Ergebnispolygone beendet\n");
return (true);
}
@@ -3864,7 +3763,7 @@
//---------------------------------------------------------------------------
bool SaveElements(std::string FileName, TElementList *ElementList, int TopoDiff, int DebugLevel)
{
- write_fortschritt("->Speichern der Elemente gestartet\n");
+ write_fortschritt (9, "->Speichern der Elemente gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -3898,10 +3797,7 @@
int AnzPolygone = 0;
for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && AnzPolygone % 5000 == 0) || (AnzPolygone > 0 && AnzPolygone % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen gespeichert\n", AnzPolygone, ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen gespeichert\n", AnzPolygone, ElementList->size());
TElement *Element = *i;
@@ -3928,9 +3824,9 @@
SHPClose(SHPHandle);
DBFClose(DBFHandle);
- write_fortschritt("%d von %d Elementen gespeichert\n", AnzPolygone, ElementList->size());
+ write_fortschritt (9, "%d von %d Elementen gespeichert\n", AnzPolygone, ElementList->size());
- write_fortschritt("<-Speichern der Elemente beendet\n");
+ write_fortschritt (9, "<-Speichern der Elemente beendet\n");
return (true);
}
@@ -3938,7 +3834,7 @@
//---------------------------------------------------------------------------
bool SaveNodes(std::string FileName, TNodeList *NodeList, int DebugLevel)
{
- write_fortschritt("->Speichern der Knoten gestartet\n");
+ write_fortschritt (9, "->Speichern der Knoten gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -3973,10 +3869,7 @@
int Count = 0;
for (TNodeList::iterator i=NodeList->begin(); i != NodeList->end(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count > 0 && Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Knoten gespeichert\n", Count, AnzNodes);
- }
+ write_fortschritt(DebugLevel, "%d von %d Knoten gespeichert\n", Count, AnzNodes);
TNode *Node = *i;
@@ -4015,9 +3908,9 @@
SHPClose(SHPHandle);
DBFClose(DBFHandle);
- write_fortschritt("%d von %d Knoten gespeichert\n", Count, AnzNodes);
+ write_fortschritt (9, "%d von %d Knoten gespeichert\n", Count, AnzNodes);
- write_fortschritt("<-Speichern der Knoten beendet\n");
+ write_fortschritt (9, "<-Speichern der Knoten beendet\n");
return (true);
}
@@ -4025,7 +3918,7 @@
//---------------------------------------------------------------------------
bool SaveEdges(std::string FileName, TEdgeList *EdgeList, int DebugLevel)
{
- write_fortschritt("->Speichern der Kanten gestartet\n");
+ write_fortschritt (9, "->Speichern der Kanten gestartet\n");
SavePRJ(FileName, DebugLevel);
@@ -4058,10 +3951,7 @@
int Count = 0;
for (TEdgeVector::iterator i = EdgeList->EdgeVector.begin(); i != EdgeList->EdgeVector.end(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count > 0 && Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Kanten gespeichert\n", Count, EdgeList->EdgeVector.size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Kanten gespeichert\n", Count, EdgeList->EdgeVector.size());
TEdge* Edge = *i;
@@ -4097,9 +3987,9 @@
DBFClose(DBFHandle);
SHPClose(SHPHandle);
- write_fortschritt("%d von %d Kanten gespeichert\n", Count, EdgeList->EdgeVector.size());
+ write_fortschritt (9, "%d von %d Kanten gespeichert\n", Count, EdgeList->EdgeVector.size());
- write_fortschritt("<-Speichern der Kanten beendet\n");
+ write_fortschritt (9, "<-Speichern der Kanten beendet\n");
return (true);
}
@@ -4107,7 +3997,7 @@
//---------------------------------------------------------------------------
bool SaveXml(std::string FileName, TParameter *Parameter)
{
- write_fortschritt("->Speichern der Meta-Daten gestartet\n");
+ write_fortschritt (9, "->Speichern der Meta-Daten gestartet\n");
FileName = FileName + ".xml";
@@ -4240,7 +4130,7 @@
fclose (fh);
- write_fortschritt("<-Speichern der Meta-Daten beendet\n");
+ write_fortschritt (9, "<-Speichern der Meta-Daten beendet\n");
return (true);
}
Modified: trunk/src/parameter.cpp
===================================================================
--- trunk/src/parameter.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/parameter.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -19,7 +19,7 @@
//---------------------------------------------------------------------------
TParameter::TParameter(int argc, char **argv)
{
- write_fortschritt("->Auswertung der Kommandozeilen-Parameter gestartet\n");
+ write_fortschritt (9, "->Auswertung der Kommandozeilen-Parameter gestartet\n");
IsSetDebug = false;
DebugLevel = 0;
@@ -107,7 +107,7 @@
}
else if (Parameter.substr(0, 1) == "'")
{
- write_fortschritt("%s\n", Parameter.c_str()+1);
+ write_fortschritt (9, "%s\n", Parameter.c_str()+1);
}
else if (Parameter.substr(0, 1) == "#" || Parameter.substr(0, 1) == "/" || Parameter.substr(0, 1) == ";")
{
@@ -118,7 +118,7 @@
///////////////////////////////////////////////
// DEBUG
///////////////////////////////////////////////
- write_fortschritt("Parameter -OUTPUT erkannt.\n");
+ write_fortschritt (9, "Parameter -OUTPUT erkannt.\n");
if (IsSetDebug)
{
@@ -140,25 +140,25 @@
if (NewDebugLevel > DebugLevel) DebugLevel = NewDebugLevel;
}
- write_fortschritt("OutputLevel: '%d'\n", DebugLevel);
+ write_fortschritt (9, "OutputLevel: '%d'\n", DebugLevel);
- if (DebugLevel == 0) write_fortschritt("Es werden keine zusätzlichen Informationen ausgegeben\n");
- if (DebugLevel >= 1) write_fortschritt("Es werden kurze Zwischeninformationen und mehr Fortschrittanzeigen ausgegeben\n");
- if (DebugLevel >= 2) write_fortschritt("Es werden zusätzlich mehr Zwischeninformationen ausgegeben\n");
- if (DebugLevel >= 3) write_fortschritt("Es werden zusätzlich deutlich mehr Zwischeninformationen ausgegeben\n");
- if (DebugLevel >= 4) write_fortschritt("Es werden zusätzlich mehr Fortschrittanzeigen und die wichtigsten Testausgabedateien ausgegeben\n");
- if (DebugLevel >= 5) write_fortschritt("Es werden zusätzlich alle wichtigen Testausgabedateien ausgegeben\n");
- if (DebugLevel >= 6) write_fortschritt("Es werden zusätzlich wichtigen Testausgabedateien ausgegeben\n");
- if (DebugLevel >= 7) write_fortschritt("Es werden zusätzlich alle Informationen ausgegeben\n");
- if (DebugLevel >= 8) write_fortschritt("Es werden zusätzlich alle Tests durchgeführt\n");
- if (DebugLevel == 9) write_fortschritt("Es werden alle Informationen und Testausgabedateien erzeugt\n");
+ if (DebugLevel == 0) write_fortschritt (9, "Es werden keine zusätzlichen Informationen ausgegeben\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "Es werden kurze Zwischeninformationen und mehr Fortschrittanzeigen ausgegeben\n");
+ if (DebugLevel >= 2) write_fortschritt (9, "Es werden zusätzlich mehr Zwischeninformationen ausgegeben\n");
+ if (DebugLevel >= 3) write_fortschritt (9, "Es werden zusätzlich deutlich mehr Zwischeninformationen ausgegeben\n");
+ if (DebugLevel >= 4) write_fortschritt (9, "Es werden zusätzlich mehr Fortschrittanzeigen und die wichtigsten Testausgabedateien ausgegeben\n");
+ if (DebugLevel >= 5) write_fortschritt (9, "Es werden zusätzlich alle wichtigen Testausgabedateien ausgegeben\n");
+ if (DebugLevel >= 6) write_fortschritt (9, "Es werden zusätzlich wichtigen Testausgabedateien ausgegeben\n");
+ if (DebugLevel >= 7) write_fortschritt (9, "Es werden zusätzlich alle Informationen ausgegeben\n");
+ if (DebugLevel >= 8) write_fortschritt (9, "Es werden zusätzlich alle Tests durchgeführt\n");
+ if (DebugLevel == 9) write_fortschritt (9, "Es werden alle Informationen und Testausgabedateien erzeugt\n");
}
else if (Parameter.substr(0, 4) == "-PAR" || Parameter.substr(0, 4) == "-par")
{
///////////////////////////////////////////////
// PAR
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -PAR erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -PAR erkannt.\n");
if (IsSetPar)
{
@@ -178,7 +178,7 @@
IsSetPar = true;
- write_fortschritt("Parameterdatei: '%s'\n", FileNamePar.c_str());
+ write_fortschritt (9, "Parameterdatei: '%s'\n", FileNamePar.c_str());
LoadPar(FileNamePar, &ParList);
AnzPar = ParList.size();
@@ -188,7 +188,7 @@
///////////////////////////////////////////////
// STRECKE
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -STRECKE erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -STRECKE erkannt.\n");
if (IsSetStrecke)
{
@@ -221,17 +221,17 @@
IsSetStrecke = true;
- if (IsSetVonKm && IsSetBisKm) write_fortschritt("Strecke: Von = %.3f km, Bis = %.3f km\n", VonKm, BisKm);
- else if (IsSetVonKm) write_fortschritt("Strecke: Von = %.3f km, Bis = <default>\n", VonKm);
- else if (IsSetBisKm) write_fortschritt("Strecke: Von = <default>, Bis = %.3f km\n", BisKm);
- else write_fortschritt("Strecke: Von = <default>, Bis = <default>\n");
+ if (IsSetVonKm && IsSetBisKm) write_fortschritt (9, "Strecke: Von = %.3f km, Bis = %.3f km\n", VonKm, BisKm);
+ else if (IsSetVonKm) write_fortschritt (9, "Strecke: Von = %.3f km, Bis = <default>\n", VonKm);
+ else if (IsSetBisKm) write_fortschritt (9, "Strecke: Von = <default>, Bis = %.3f km\n", BisKm);
+ else write_fortschritt (9, "Strecke: Von = <default>, Bis = <default>\n");
}
else if (Parameter.substr(0, 5) == "-DIST" || Parameter.substr(0, 5) == "-dist")
{
///////////////////////////////////////////////
// DIST
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -DIST erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -DIST erkannt.\n");
if (IsSetDist)
{
@@ -253,14 +253,14 @@
IsSetDist = true;
ProfilDistance = D * 1000 * 100; // Umrechnung von km in Meter und weiter in cm
- write_fortschritt("Gewünschter Abstand der Profile: %.3f km\n", D);
+ write_fortschritt (9, "Gewünschter Abstand der Profile: %.3f km\n", D);
}
else if (Parameter.substr(0, 8) == "-SAVETRI" || Parameter.substr(0, 8) == "-savetri")
{
///////////////////////////////////////////////
// SAVETRI
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -SAVETRI erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -SAVETRI erkannt.\n");
if (IsSetSaveTri)
{
@@ -270,14 +270,14 @@
IsSetSaveTri = true;
- write_fortschritt("Triangulation wird gespeichert\n");
+ write_fortschritt (9, "Triangulation wird gespeichert\n");
}
else if (Parameter.substr(0, 8) == "-SAVE2DM" || Parameter.substr(0, 8) == "-save2dm")
{
///////////////////////////////////////////////
// SAVE2DM
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -SAVE2DM erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -SAVE2DM erkannt.\n");
if (IsSetSave2DM)
{
@@ -287,14 +287,14 @@
IsSetSave2DM = true;
- write_fortschritt("2DM-Netz wird gespeichert\n");
+ write_fortschritt (9, "2DM-Netz wird gespeichert\n");
}
else if (Parameter.substr(0, 8) == "-SAVESOL" || Parameter.substr(0, 8) == "-savesol")
{
///////////////////////////////////////////////
// SAVESOL
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -SAVESOL erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -SAVESOL erkannt.\n");
if (IsSetSaveSol)
{
@@ -304,14 +304,14 @@
IsSetSaveSol = true;
- write_fortschritt("Wasserstände werden als SOL-Datei gespeichert\n");
+ write_fortschritt (9, "Wasserstände werden als SOL-Datei gespeichert\n");
}
else if (Parameter.substr(0, 6) == "-DELTA" || Parameter.substr(0, 6) == "-delta")
{
///////////////////////////////////////////////
// DELTA
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -DELTA erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -DELTA erkannt.\n");
if (IsSetDelta)
{
@@ -363,21 +363,21 @@
IsSetDelta = true;
- if (IsSetVon && IsSetBis && IsSetDiff) write_fortschritt("Delta: Von = %.2f Bis = %.2f Diff = %.2f\n", Von / 100.0, Bis / 100.0, Diff / 100.0);
- else if (IsSetVon && IsSetBis) write_fortschritt("Delta: Von = %.2f Bis = %.2f Diff = <default>\n", Von / 100.0, Bis / 100.0);
- else if (IsSetVon && IsSetDiff) write_fortschritt("Delta: Von = %.2f Bis = <default> Diff = %.2f\n", Von / 100.0, Diff / 100.0);
- else if (IsSetBis && IsSetBis) write_fortschritt("Delta: Von = <default> Bis = %.2f Diff = %.2f\n", Bis / 100.0, Diff / 100.0);
- else if (IsSetVon) write_fortschritt("Delta: Von = %.2f Bis = <default> Diff = <default>\n", Von / 100.0);
- else if (IsSetBis) write_fortschritt("Delta: Von = <default> Bis = %.2f Diff = <default>\n", Bis / 100.0);
- else if (IsSetDiff) write_fortschritt("Delta: Von = <default> Bis = <default> Diff = %.2f\n", Diff / 100.0);
- else write_fortschritt("Delta: Von = <default> Bis = <default> Diff = <default>\n");
+ if (IsSetVon && IsSetBis && IsSetDiff) write_fortschritt (9, "Delta: Von = %.2f Bis = %.2f Diff = %.2f\n", Von / 100.0, Bis / 100.0, Diff / 100.0);
+ else if (IsSetVon && IsSetBis) write_fortschritt (9, "Delta: Von = %.2f Bis = %.2f Diff = <default>\n", Von / 100.0, Bis / 100.0);
+ else if (IsSetVon && IsSetDiff) write_fortschritt (9, "Delta: Von = %.2f Bis = <default> Diff = %.2f\n", Von / 100.0, Diff / 100.0);
+ else if (IsSetBis && IsSetBis) write_fortschritt (9, "Delta: Von = <default> Bis = %.2f Diff = %.2f\n", Bis / 100.0, Diff / 100.0);
+ else if (IsSetVon) write_fortschritt (9, "Delta: Von = %.2f Bis = <default> Diff = <default>\n", Von / 100.0);
+ else if (IsSetBis) write_fortschritt (9, "Delta: Von = <default> Bis = %.2f Diff = <default>\n", Bis / 100.0);
+ else if (IsSetDiff) write_fortschritt (9, "Delta: Von = <default> Bis = <default> Diff = %.2f\n", Diff / 100.0);
+ else write_fortschritt (9, "Delta: Von = <default> Bis = <default> Diff = <default>\n");
}
else if (Parameter.substr(0, 4) == "-GEL" || Parameter.substr(0, 4) == "-gel")
{
///////////////////////////////////////////////
// GEL
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -GEL erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -GEL erkannt.\n");
if (IsSetGel)
{
@@ -391,7 +391,7 @@
{
write_warning(1105, "Es wurden keine Argumente für -GEL übergeben.\nDas Format lautet korrekt -GEL=<SPERRE|NOSPERRE>.\nGelände wirkt als Sperre.\n");
Sperre = true;
- continue;
+ continue;
}
if (Parameter.substr(5, 6) == "SPERRE" || Parameter.substr(5, 6) == "sperre")
@@ -407,12 +407,12 @@
write_error(1214, "Es wurden weder SPERRE noch NOSPERRE mit -GEL verwendet.\nDas Format lautet korrekt -GEL=<SPERRE|NOSPERRE>.\n");
}
- if (Sperre) write_fortschritt("Gelände wirkt als Sperre\n");
- else write_fortschritt("Gelände wirkt nicht als Sperre\n");
+ if (Sperre) write_fortschritt (9, "Gelände wirkt als Sperre\n");
+ else write_fortschritt (9, "Gelände wirkt nicht als Sperre\n");
}
else if (Parameter.substr(0, 4) == "-DGM" || Parameter.substr(0, 4) == "-dgm")
{
- if (IsSetDebug) write_fortschritt("Parameter -DGM erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -DGM erkannt.\n");
if (IsSetDgm)
{
@@ -432,11 +432,11 @@
IsSetDgm = true;
- write_fortschritt("DGM-Datei: '%s'\n", FileNameDgm.c_str());
+ write_fortschritt (9, "DGM-Datei: '%s'\n", FileNameDgm.c_str());
}
else if (Parameter.substr(0, 4) == "-PRO" || Parameter.substr(0, 4) == "-pro")
{
- if (IsSetDebug) write_fortschritt("Parameter -PRO erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -PRO erkannt.\n");
if (IsSetPro)
{
@@ -456,11 +456,11 @@
IsSetPro = true;
- write_fortschritt("Profillagen-Datei: '%s'\n", FileNamePro.c_str());
+ write_fortschritt (9, "Profillagen-Datei: '%s'\n", FileNamePro.c_str());
}
else if (Parameter.substr(0, 7) == "-WSPTAG" || Parameter.substr(0, 7) == "-wsptag")
{
- if (IsSetDebug) write_fortschritt("Parameter -WSPTAG erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -WSPTAG erkannt.\n");
if (IsSetWspTag)
{
@@ -480,13 +480,13 @@
IsSetWspTag = true;
- write_fortschritt("WSP-Bezeichner: '%s'\n", WspTag.c_str());
+ write_fortschritt (9, "WSP-Bezeichner: '%s'\n", WspTag.c_str());
continue;
}
else if (Parameter.substr(0, 4) == "-WSP" || Parameter.substr(0, 4) == "-wsp")
{
- if (IsSetDebug) write_fortschritt("Parameter -WSP erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -WSP erkannt.\n");
if (IsSetWsp)
{
@@ -506,13 +506,13 @@
IsSetWsp = true;
- write_fortschritt("WSP-Datei: '%s'\n", FileNameWsp.c_str());
+ write_fortschritt (9, "WSP-Datei: '%s'\n", FileNameWsp.c_str());
continue;
}
else if (Parameter.substr(0, 4) == "-LIN" || Parameter.substr(0, 4) == "-LIN")
{
- if (IsSetDebug) write_fortschritt("Parameter -LIN erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -LIN erkannt.\n");
if (Parameter.substr(4, 1) != "=")
{
@@ -528,11 +528,11 @@
IsSetLin = true;
- write_fortschritt("Bruch- und Sperr-Datei: '%s'\n", FileNameLin.c_str());
+ write_fortschritt (9, "Bruch- und Sperr-Datei: '%s'\n", FileNameLin.c_str());
}
else if (Parameter.substr(0, 6) == "-ACHSE" || Parameter.substr(0, 6) == "-achse")
{
- if (IsSetDebug) write_fortschritt("Parameter -ACHSE erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -ACHSE erkannt.\n");
if (IsSetAchse)
{
@@ -552,13 +552,13 @@
IsSetAchse = true;
- write_fortschritt("Gewässerachse: '%s'\n", FileNameAchse.c_str());
+ write_fortschritt (9, "Gewässerachse: '%s'\n", FileNameAchse.c_str());
continue;
}
else if (Parameter.substr(0, 7) == "-GEBIET" || Parameter.substr(0, 7) == "-gebiet")
{
- if (IsSetDebug) write_fortschritt("Parameter -GEBIET erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -GEBIET erkannt.\n");
if (IsSetGebiet)
{
@@ -578,13 +578,13 @@
IsSetGebiet = true;
- write_fortschritt("Hydraulische Grenze: '%s'\n", FileNameGebiet.c_str());
+ write_fortschritt (9, "Hydraulische Grenze: '%s'\n", FileNameGebiet.c_str());
continue;
}
else if (Parameter.substr(0, 8) == "-AUSGABE" || Parameter.substr(0, 8) == "-ausgabe")
{
- if (IsSetDebug) write_fortschritt("Parameter -AUSGABE erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -AUSGABE erkannt.\n");
if (IsSetAusgabe)
{
@@ -604,14 +604,14 @@
IsSetAusgabe = true;
- write_fortschritt("Ausgabe-Datei: '%s'\n", FileNameAusgabe.c_str());
+ write_fortschritt (9, "Ausgabe-Datei: '%s'\n", FileNameAusgabe.c_str());
}
else if (Parameter.substr(0, 11) == "-NOPROJWARN" || Parameter.substr(0, 11) == "-noprojwarn")
{
///////////////////////////////////////////////
// NOPROJWARN
///////////////////////////////////////////////
- if (IsSetDebug) write_fortschritt("Parameter -NOPROJWARN erkannt.\n");
+ if (IsSetDebug) write_fortschritt (9, "Parameter -NOPROJWARN erkannt.\n");
if (IsSetNoProjWarn)
{
@@ -621,7 +621,7 @@
IsSetNoProjWarn = true;
- write_fortschritt("Es werden keine Warnungen zu verschiedenen Projektionen ausgegeben\n");
+ write_fortschritt (9, "Es werden keine Warnungen zu verschiedenen Projektionen ausgegeben\n");
}
else if (Parameter.substr(0, 1) == "$")
{
@@ -705,7 +705,7 @@
write_warning(1121, "Der Parameter -DELTA oder sein Argument <Diff> wurden nicht angegeben.\nEs wird <Diff> als (<Bis> minus <Von>) geteilt durch 10 angenommen.\n");
}
- write_fortschritt("<-Auswertung der Kommandozeilen-Parameter beendet\n");
+ write_fortschritt (9, "<-Auswertung der Kommandozeilen-Parameter beendet\n");
}
Modified: trunk/src/qhull.cpp
===================================================================
--- trunk/src/qhull.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/qhull.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -117,7 +117,7 @@
//---------------------------------------------------------------------
void QHull(TXYZList *XYList, TXYZList* QHull, int DebugLevel)
{
- write_fortschritt("->Erzeugen des Begrenzungspolygons gestartet\n");
+ write_fortschritt (9, "->Erzeugen des Begrenzungspolygons gestartet\n");
if (XYList->size() < 3)
{
@@ -138,11 +138,11 @@
}
QHull->Add(LXy);
- if (DebugLevel > 0) write_fortschritt("Oberen Teil der Umhüllung bilden.\n");
+ if (DebugLevel > 0) write_fortschritt (9, "Oberen Teil der Umhüllung bilden.\n");
ExpandQHull(XYList, QHull, LXy, RXy);
QHull->Add(RXy);
- if (DebugLevel > 0) write_fortschritt("Unteren Teil der Umhüllung bilden.\n");
+ if (DebugLevel > 0) write_fortschritt (9, "Unteren Teil der Umhüllung bilden.\n");
ExpandQHull(XYList, QHull, RXy, LXy);
- write_fortschritt("<-Erzeugen des Begrenzungspolygons beendet\n");
+ write_fortschritt (9, "<-Erzeugen des Begrenzungspolygons beendet\n");
}
Modified: trunk/src/quadtree.cpp
===================================================================
--- trunk/src/quadtree.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/quadtree.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -61,7 +61,7 @@
if (Xy)
{
- write_fortschritt("%.2f,%.2f\n", Xy->X / 100.0, Xy->Y / 100.0);
+ write_fortschritt (9, "%.2f,%.2f\n", Xy->X / 100.0, Xy->Y / 100.0);
Summe = Summe + 1;
}
Modified: trunk/src/shape.cpp
===================================================================
--- trunk/src/shape.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/shape.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -1,3 +1,4 @@
+//
// $Id$
//
// Copyright (C) 2005 STADT-LAND-FLUSS INGENIEURDIENSTE GmbH
Modified: trunk/src/test.cpp
===================================================================
--- trunk/src/test.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/test.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -43,27 +43,27 @@
}
catch (const std::runtime_error& e)
{
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (const std::length_error& e)
{
- write_fortschritt ("Es steht leider nicht genug Speicher zur Verfügung\n", e.what());
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Es steht leider nicht genug Speicher zur Verfügung\n", e.what());
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (const std::exception& e)
{
- write_fortschritt ("%s\n", e.what());
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Bitte informieren sie den Programmierer\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "%s\n", e.what());
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Bitte informieren sie den Programmierer\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (...)
{
- write_fortschritt ("Unbekannter Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Bitte informieren sie den Programmierer\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Unbekannter Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Bitte informieren sie den Programmierer\n");
+ write_fortschritt (9, "Programmabbruch\n");
ReturnCode = 2;
}
Modified: trunk/src/tools.cpp
===================================================================
--- trunk/src/tools.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/tools.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -135,12 +135,19 @@
}
//---------------------------------------------------------------------------
-void write_fortschritt(char *format, ...)
+void write_fortschritt(int DebugLevel, char *format, ...)
{
- if (strncmp(format, "<-", 2) == 0 && strlen(Indent) >= 2) Indent[strlen(Indent)-2] = '\0';
-
+ static long LastTime = 0;
struct timeb Now;
- ftime (&Now);
+ ftime(&Now);
+
+ if (DebugLevel < 9)
+ {
+ if (Now.time <= LastTime + 1) return;
+ }
+
+ if (strncmp(format, "<-", 2) == 0 && strlen(Indent) >= 2) Indent[strlen(Indent)-2] = '\0';
+
long Secs;
long Mins;
long Hours;
@@ -155,6 +162,8 @@
va_end(argptr);
fflush(fhlog);
+ LastTime = Now.time;
+
if (strncmp(format, "->", 2) == 0) strcat(Indent, " ");
}
@@ -309,7 +318,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke wurden angefordert\n", MemMap.size());
}
}
catch(...)
@@ -348,7 +357,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke wurden angefordert\n", MemMap.size());
}
}
catch(...)
@@ -387,7 +396,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke wurden angefordert\n", MemMap.size());
}
}
catch(...)
@@ -426,7 +435,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke wurden angefordert\n", MemMap.size());
}
}
catch(...)
@@ -465,7 +474,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke wurden angefordert\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke wurden angefordert\n", MemMap.size());
}
}
catch(...)
@@ -504,7 +513,7 @@
if (MemMap.size() % 10 == 0)
{
- write_fortschritt("%d Speicherblöcke werden verwaltet\n", MemMap.size());
+ write_fortschritt (9, "%d Speicherblöcke werden verwaltet\n", MemMap.size());
}
}
catch(...)
@@ -817,19 +826,19 @@
if (CR1 - CR2 < -0.2 || CR1 - CR2 > 0.2)
{
- write_fortschritt("CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
+ write_fortschritt (9, "CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
dump_error(__FILE__, __LINE__, "Die Genauigkeit der Radien ist nicht gegeben.\n");
}
if (CR1 - CR3 < -0.2 || CR1 - CR3 > 0.2)
{
- write_fortschritt("CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
+ write_fortschritt (9, "CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
dump_error(__FILE__, __LINE__, "Die Genauigkeit der Radien ist nicht gegeben.\n");
}
if (CR2 - CR3 < -0.2 || CR2 - CR3 > 0.2)
{
- write_fortschritt("CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
+ write_fortschritt (9, "CR1 = %lf CR2 = %lf CR3=%lf\n", CR1, CR2, CR3);
dump_error(__FILE__, __LINE__, "Die Genauigkeit der Radien ist nicht gegeben.\n");
}
@@ -981,7 +990,7 @@
//---------------------------------------------------------------------------
void InterpolateWsp(TProfilList *ProfilList, TProfilList *WspProfilList, int DebugLevel)
{
- write_fortschritt ("->Interpolieren der Wasserstände gestartet\n");
+ write_fortschritt (9, "->Interpolieren der Wasserstände gestartet\n");
int Count = 0;
for (TProfilList::iterator i=ProfilList->begin(); i != ProfilList->end(); i++)
@@ -1016,17 +1025,17 @@
else if (UnderProfil->Station == Profil->Station)
{
Profil->Wsp = UnderProfil->Wsp;
- if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
+ write_fortschritt(DebugLevel, "Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
}
else if (OverProfil->Station == Profil->Station)
{
Profil->Wsp = OverProfil->Wsp;
- if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden ßn", Profil->Station / 10000.0, Profil->Wsp / 100.0);
+ write_fortschritt(DebugLevel, "Bei Profil %.4f konnte der Wasserstand %.2f übernommen werden ßn", Profil->Station / 10000.0, Profil->Wsp / 100.0);
}
else if (UnderProfil->Station <= Profil->Station && OverProfil->Station >= Profil->Station)
{
Profil->Wsp = UnderProfil->Wsp + (OverProfil->Wsp - UnderProfil->Wsp) * (Profil->Station - UnderProfil->Station) / (OverProfil->Station - UnderProfil->Station);
- if (DebugLevel >= 2) write_fortschritt("Bei Profil %.4f konnte der Wasserstand %.2f interpoliert werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
+ write_fortschritt(DebugLevel, "Bei Profil %.4f konnte der Wasserstand %.2f interpoliert werden\n", Profil->Station / 10000.0, Profil->Wsp / 100.0);
}
else
{
@@ -1035,20 +1044,17 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0) || (Count > 0 && Count % 100 == 0))
- {
- write_fortschritt ("%d Profile bearbeitet\n", Count);
- }
+ write_fortschritt (DebugLevel, "%d Profile bearbeitet\n", Count);
}
- write_fortschritt ("%d Profile bearbeitet\n", Count);
+ write_fortschritt (9, "%d Profile bearbeitet\n", Count);
- write_fortschritt ("<-Interpolieren der Wasserstände beendet\n");
+ write_fortschritt (9, "<-Interpolieren der Wasserstände beendet\n");
}
//---------------------------------------------------------------------------
void BuildPolygon(TProfilList *ProfilList, TXYZList *Polygon, int DebugLevel)
{
- write_fortschritt ("->Erzeugung des Begrenzungspolygons gestartet\n");
+ write_fortschritt (9, "->Erzeugung des Begrenzungspolygons gestartet\n");
if (ProfilList->size() < 2)
{
@@ -1097,10 +1103,7 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 100 == 0) || (Count > 0 && Count % 1000 == 0))
- {
- write_fortschritt("%d Begrenzungspunkte erzeugt\n", XyList->size());
- }
+ write_fortschritt(DebugLevel, "%d Begrenzungspunkte erzeugt\n", XyList->size());
}
TProfilList::reverse_iterator RProfilIter = ProfilList->rbegin();
@@ -1132,26 +1135,26 @@
}
*/
- write_fortschritt("%d Begrenzungspunkte erzeugt\n", Polygon->size());
+ write_fortschritt (9, "%d Begrenzungspunkte erzeugt\n", Polygon->size());
if (DebugLevel >= 9)
{
- write_fortschritt("Polygon:\n");
+ write_fortschritt(DebugLevel, "Polygon:\n");
for (TXYZList::iterator j = Polygon->begin(); j != Polygon->end(); j++)
{
TXYZ* Xy = *j;
- write_fortschritt("%.3f %.3f\n", Xy->X, Xy->Y);
+ write_fortschritt(DebugLevel, "%.3f %.3f\n", Xy->X, Xy->Y);
}
}
- write_fortschritt ("<-Erzeugung des Begrenzungspolygons beendet\n");
+ write_fortschritt (9, "<-Erzeugung des Begrenzungspolygons beendet\n");
}
//---------------------------------------------------------------------------
void CheckForDuplicates(TNodeList *NodeList, TElementList *ElementList, int DebugLevel)
{
- write_fortschritt ("->Suche nach doppelten Knoten gestartet\n");
+ write_fortschritt (9, "->Suche nach doppelten Knoten gestartet\n");
int KnotenGeloescht = 0;
int ElementeGeloescht = 0;
@@ -1159,7 +1162,7 @@
if (ElementList && ElementList->size() > 0)
{
- write_fortschritt ("%d Knoten und %d Elemente vorhanden\n", NodeList->size(), ElementList->size());
+ write_fortschritt (9, "%d Knoten und %d Elemente vorhanden\n", NodeList->size(), ElementList->size());
bool NetChanged = false;
do
@@ -1182,10 +1185,7 @@
if (Node2->Nr != 0 && Node1->Nr != Node2->Nr)
{
- if (DebugLevel >= 9)
- {
- write_fortschritt("Lösche Knoten %d (%.3f, %.3f) ident mit Knoten %d (%.3f, %.3f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
- }
+ write_fortschritt(DebugLevel, "Lösche Knoten %d (%.3f, %.3f) ident mit Knoten %d (%.3f, %.3f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
{
@@ -1207,10 +1207,8 @@
if (Node2->Nr != 0 && Node1->Nr != Node2->Nr)
{
- if (DebugLevel >= 9)
- {
- write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
- }
+ write_fortschritt(DebugLevel, "Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
+
for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
{
TElement *Element2 = *k;
@@ -1231,10 +1229,8 @@
if (Node2->Nr != 0 && Node1->Nr != Node2->Nr)
{
- if (DebugLevel >= 9)
- {
- write_fortschritt("Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
- }
+ write_fortschritt(DebugLevel ,"Lösche Knoten %d (%.2f, %.2f) ident mit Knoten %d (%.2f, %.2f)\n", Node1->Nr, Node1->X, Node1->Y, Node2->Nr, Node2->X, Node2->Y);
+
for (TElementList::iterator k = ElementList->begin(); k != ElementList->end(); k++)
{
TElement *Element2 = *k;
@@ -1249,10 +1245,7 @@
}
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Elementen, %d doppelte Knoten gefunden\n", Count, ElementList->size(), SollKnotenGeloescht);
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen, %d doppelte Knoten gefunden\n", Count, ElementList->size(), SollKnotenGeloescht);
}
if (SollKnotenGeloescht > 0)
@@ -1264,10 +1257,7 @@
while (i != NodeList->end())
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Knoten, %d von %d Knoten gelöscht\n", Count, AnzNodes, KnotenGeloescht, SollKnotenGeloescht);
- }
+ write_fortschritt(DebugLevel, "%d von %d Knoten, %d von %d Knoten gelöscht\n", Count, AnzNodes, KnotenGeloescht, SollKnotenGeloescht);
TNode *Node = *i;
@@ -1295,10 +1285,7 @@
for (TElementList::iterator i = ElementList->begin(); i != ElementList->end(); i++)
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Elementen, %d Elemente gelöscht\n", Count, ElementList->size(), ElementeGeloescht);
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen, %d Elemente gelöscht\n", Count, ElementList->size(), ElementeGeloescht);
TElement *Element = *i;
@@ -1315,7 +1302,7 @@
}
else
{
- write_fortschritt ("%d Knoten und keine Elemente vorhanden\n", NodeList->size());
+ write_fortschritt (9, "%d Knoten und keine Elemente vorhanden\n", NodeList->size());
NodeList->SortByXY();
@@ -1342,22 +1329,19 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Knoten, %d Knoten gelöscht\n", Count, NodeList->size(), KnotenGeloescht);
- }
+ write_fortschritt(DebugLevel, "%d von %d Knoten, %d Knoten gelöscht\n", Count, NodeList->size(), KnotenGeloescht);
}
}
- write_fortschritt ("%d Knoten gelöscht, %d Elemente gelöscht\n", KnotenGeloescht, ElementeGeloescht);
+ write_fortschritt (9, "%d Knoten gelöscht, %d Elemente gelöscht\n", KnotenGeloescht, ElementeGeloescht);
- write_fortschritt ("<-Suche nach doppelten Knoten beendet\n");
+ write_fortschritt (9, "<-Suche nach doppelten Knoten beendet\n");
}
//---------------------------------------------------------------------------
void BuildEdgeList(TNodeList* NodeList, TElementList* ElementList, TEdgeList* EdgeList, int DebugLevel)
{
- write_fortschritt ("->Erzeugung der Kanten gestartet\n");
+ write_fortschritt (9, "->Erzeugung der Kanten gestartet\n");
NodeList->ClearEdgeIndex();
@@ -1365,7 +1349,7 @@
// Erst mal genug Speicher besorgen
EdgeList->EdgeVector.reserve((size_t)(ElementList->size() * 2.0 + 1.0));
- write_fortschritt("Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeList->EdgeVector.capacity());
+ write_fortschritt (9, "Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeList->EdgeVector.capacity());
TEdge* NewEdge = 0;
TEdge* Edge = 0;
@@ -1536,12 +1520,9 @@
}
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count > 0 && Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen, %d Kanten erzeugt\n", Count, ElementList->size(), EdgeList->Anz);
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen, %d Kanten erzeugt\n", Count, ElementList->size(), EdgeList->Anz);
}
- write_fortschritt("%d von %d Elementen, %d Kanten erzeugt\n", Count, ElementList->size(), EdgeList->Anz);
+ write_fortschritt (9, "%d von %d Elementen, %d Kanten erzeugt\n", Count, ElementList->size(), EdgeList->Anz);
if (DebugLevel >= 9)
{
@@ -1549,10 +1530,7 @@
TEdgeVector::iterator i = EdgeList->EdgeVector.begin();
while (i != EdgeList->EdgeVector.end())
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("%d von %d Kanten getestet\n", Count, EdgeList->EdgeVector.size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Kanten getestet\n", Count, EdgeList->EdgeVector.size());
TEdge *Edge = *i++;
@@ -1568,16 +1546,16 @@
Count++;
}
- write_fortschritt("%d von %d Kanten getestet\n", Count, EdgeList->EdgeVector.size());
+ write_fortschritt (9, "%d von %d Kanten getestet\n", Count, EdgeList->EdgeVector.size());
}
- write_fortschritt ("<-Erzeugung der Kanten beendet\n");
+ write_fortschritt (9, "<-Erzeugung der Kanten beendet\n");
}
//---------------------------------------------------------------------------
void TransferWsp(TProfilList *ProfilList, TNodeList *NodeList, TGewaesserAchseList *GewaesserAchseList, TProfilList* SperrenList, TNodeList *NassNodeList, bool Sperre, int DebugLevel)
{
- write_fortschritt ("->Übertragen der Wasserstände gestartet\n");
+ write_fortschritt (9, "->Übertragen der Wasserstände gestartet\n");
NodeList->ClearWsp();
@@ -1588,10 +1566,7 @@
int Count = 0;
for (TProfilList::iterator i = ProfilList->begin(); i != ProfilList->end(); i++)
{
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 100 == 0) || (Count > 0 && Count % 1000 == 0))
- {
- write_fortschritt("%d von %d Profilen übertragen, %d Wasserstände übertragen\n", Count, ProfilList->size(), WspCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Profilen übertragen, %d Wasserstände übertragen\n", Count, ProfilList->size(), WspCount);
TProfil* Profil = *i;
@@ -1620,7 +1595,7 @@
{
StartNodeList = NodeList->FindAllByXY(X, Y, Radius);
Radius = Radius * 2.0;
- if (DebugLevel >= 9) write_fortschritt("Suchradius ist %.0f\n", Radius);
+ write_fortschritt(DebugLevel, "Suchradius ist %.0f\n", Radius);
} while (StartNodeList->size() == 0);
///////////////////////////////////////////////////////////
@@ -1642,10 +1617,7 @@
}
}
- if (DebugLevel >= 8)
- {
- write_fortschritt("dichtester Knoten zu Profil %.4f: (%ld,%ld)\n", Station / 10000.0, NearestNode->X, NearestNode->Y);
- }
+ write_fortschritt(DebugLevel, "dichtester Knoten zu Profil %.4f: (%ld,%ld)\n", Station / 10000.0, NearestNode->X, NearestNode->Y);
if (NearestNode->Z < Wsp)
{
@@ -1655,17 +1627,14 @@
Temp1NodeList->Add(NearestNode);
- while (Temp1NodeList->size() > 0)
+ while (Temp1NodeList->size() > 0)
{
if (DebugLevel >= 9)
{
SaveNodes("temp1.shp", Temp1NodeList, 8);
}
- if (DebugLevel >= 8)
- {
- write_fortschritt("%d Knoten in Temp1 bei Profil %.4f\n", Temp1NodeList->size(), Station / 10000.0);
- }
+ write_fortschritt(DebugLevel ,"%d Knoten in Temp1 bei Profil %.4f\n", Temp1NodeList->size(), Station / 10000.0);
// In Temp1 sind nun alle Nassen Knoten
// In Temp2 kommen alle potentiellen nassen Knoten
@@ -1698,18 +1667,12 @@
if (Edge->Node1 == Node && Edge->Node2->Wsp == NoWsp && (false == Sperre || Edge->Node2->Z < Wsp))
{
Temp2NodeList->AddUnique(Edge->Node2);
- if (DebugLevel >= 9)
- {
- write_fortschritt("möglicher nasser Knoten bei Profil %.4f: (%ld,%ld,%.3f)\n", Station / 10000.0, Edge->Node2->X, Edge->Node2->Y, Wsp / 100.0);
- }
+ write_fortschritt(DebugLevel, "möglicher nasser Knoten bei Profil %.4f: (%ld,%ld,%.3f)\n", Station / 10000.0, Edge->Node2->X, Edge->Node2->Y, Wsp / 100.0);
}
if (Edge->Node2 == Node && Edge->Node1->Wsp == NoWsp && (false == Sperre || Edge->Node1->Z < Wsp))
{
Temp2NodeList->AddUnique(Edge->Node1);
- if (DebugLevel >= 9)
- {
- write_fortschritt("möglicher nasser Knoten bei Profil %.4f: (%ld,%ld,%.3f)\n", Station / 10000.0, Edge->Node1->X, Edge->Node1->Y, Wsp / 100.0);
- }
+ write_fortschritt(DebugLevel, "möglicher nasser Knoten bei Profil %.4f: (%ld,%ld,%.3f)\n", Station / 10000.0, Edge->Node1->X, Edge->Node1->Y, Wsp / 100.0);
}
}
AktEdgeIndex = NextEdgeIndex;
@@ -1718,7 +1681,7 @@
if (DebugLevel >= 9)
{
- write_fortschritt("%d Knoten in Temp2 bei Profil %.4f\n", Temp2NodeList->size(), Station / 10000.0);
+ write_fortschritt (9, "%d Knoten in Temp2 bei Profil %.4f\n", Temp2NodeList->size(), Station / 10000.0);
}
// In Temp2 sind nun alle potentiellen nassen Knoten
@@ -1751,11 +1714,8 @@
NassNodeList->Add(Node);
- if (DebugLevel >= 9)
- {
- write_fortschritt("nasser Knoten bei Profil %.4f: (%ld,%ld,%.2f)\n", Station / 10000.0, Node->X, Node->Y, Wsp / 100.0);
- }
- }
+ write_fortschritt(DebugLevel, "nasser Knoten bei Profil %.4f: (%ld,%ld,%.2f)\n", Station / 10000.0, Node->X, Node->Y, Wsp / 100.0);
+ }
Temp1NodeList->Add(Node);
break;
@@ -1763,41 +1723,38 @@
AktEdgeIndex = NextEdgeIndex;
}
- if (DebugLevel >= 9)
- {
- write_fortschritt("nasser Knoten bei Profil %.4f: (%ld,%ld)\n", Station / 10000.0, Node->X, Node->Y);
- }
- }
+ write_fortschritt(DebugLevel, "nasser Knoten bei Profil %.4f: (%ld,%ld)\n", Station / 10000.0, Node->X, Node->Y);
+ }
Temp2NodeList->clear();
}
Count++;
}
- write_fortschritt("%d von %d Knoten getestet, %d Wasserstände übertragen\n", Count, NodeList->size(), WspCount);
+ write_fortschritt (9, "%d von %d Knoten getestet, %d Wasserstände übertragen\n", Count, NodeList->size(), WspCount);
delete Temp1NodeList;
delete Temp2NodeList;
if (Sperre)
{
- write_fortschritt ("->Zurücksetzen der Wasserstände gestartet\n");
+ write_fortschritt (9, "->Zurücksetzen der Wasserstände gestartet\n");
for (TNodeList::iterator i = NodeList->begin(); i != NodeList->end(); i++)
{
TNode* Node = *i;
if (Node->Z > Node->Wsp) Node->Wsp = NoWsp;
}
- write_fortschritt ("<-Zurücksetzen der Wasserstände beendet\n");
+ write_fortschritt (9, "<-Zurücksetzen der Wasserstände beendet\n");
}
- write_fortschritt ("<-Übertragen der Wasserstände beendet\n");
+ write_fortschritt (9, "<-Übertragen der Wasserstände beendet\n");
}
//---------------------------------------------------------------------------
void TransferWspFromGradient(TProfilList *GradientenList, TNodeList *NodeList, TEdgeList *Temp2EdgeList, double AvgDistance, int DebugLevel)
{
- if (DebugLevel >= 1) write_fortschritt ("->Übertragen der Wasserstände durch Gradienten gestartet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "->Übertragen der Wasserstände durch Gradienten gestartet\n");
int WspCount = 0;
int Count = 0;
@@ -1805,10 +1762,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0))
- {
- write_fortschritt("%d von %d Gradienten getestet, %d Wasserstände übertragen\n", Count, GradientenList->size(), WspCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Gradienten getestet, %d Wasserstände übertragen\n", Count, GradientenList->size(), WspCount);
TProfil* Gradient = *i;
@@ -1871,15 +1825,15 @@
}
}
- if (DebugLevel >= 1) write_fortschritt("%d von %d Gradienten getestet, %d Wasserstände übertragen\n", Count, GradientenList->size(), WspCount);
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "%d von %d Gradienten getestet, %d Wasserstände übertragen\n", Count, GradientenList->size(), WspCount);
- if (DebugLevel >= 1) write_fortschritt ("<-Übertragen der Wasserstände durch Gradienten beendet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "<-Übertragen der Wasserstände durch Gradienten beendet\n");
}
//---------------------------------------------------------------------------
void TransferWspFromRohr(TProfilList *RohreList, TNodeList *NodeList, TEdgeList *Temp2EdgeList, double AvgDistance, int DebugLevel)
{
- if (DebugLevel >= 1) write_fortschritt ("->Übertragen der Wasserstände durch Rohre gestartet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "->Übertragen der Wasserstände durch Rohre gestartet\n");
int WspCount = 0;
int Count = 0;
@@ -1887,10 +1841,7 @@
{
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0))
- {
- write_fortschritt("%d von %d Rohren getestet, %d Wasserstände übertragen\n", Count, RohreList->size(), WspCount);
- }
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "%d von %d Rohren getestet, %d Wasserstände übertragen\n", Count, RohreList->size(), WspCount);
TProfil* Rohr = *i;
@@ -2005,15 +1956,15 @@
}
}
- if (DebugLevel >= 1) write_fortschritt("%d von %d Rohren getestet, %d Wasserstände übertragen\n", Count, RohreList->size(), WspCount);
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "%d von %d Rohren getestet, %d Wasserstände übertragen\n", Count, RohreList->size(), WspCount);
- if (DebugLevel >= 1) write_fortschritt ("<-Übertragen der Wasserstände durch Rohre beendet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "<-Übertragen der Wasserstände durch Rohre beendet\n");
}
//---------------------------------------------------------------------------
void GetWspFromNodeListToGradient(TNodeList* NodeList, TProfilList* GradientenList, double AvgDistance, int DebugLevel)
{
- if (DebugLevel >= 1) write_fortschritt ("->Ermittlung der Wasserstände für Gradienten gestartet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "->Ermittlung der Wasserstände für Gradienten gestartet\n");
int Count = 0;
for (TProfilList::iterator i = GradientenList->begin(); i != GradientenList->end(); i++)
@@ -2022,10 +1973,7 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0))
- {
- write_fortschritt("Gradient %d von %d\n", Count, GradientenList->size());
- }
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "Gradient %d von %d\n", Count, GradientenList->size());
if (Gradient->Wsp != NoWsp) continue;
@@ -2042,18 +1990,18 @@
if (Found)
{
Gradient->Wsp = Wsp;
- if (DebugLevel >= 6) write_fortschritt("Gradient %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
+ if (DebugLevel >= 6) write_fortschritt(DebugLevel, "Gradient %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
}
}
- if (DebugLevel >= 1) write_fortschritt("Gradient %d von %d\n", Count, GradientenList->size());
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "Gradient %d von %d\n", Count, GradientenList->size());
- if (DebugLevel >= 1) write_fortschritt ("<-Ermittlung der Wasserstände für Gradienten beendet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "<-Ermittlung der Wasserstände für Gradienten beendet\n");
}
//---------------------------------------------------------------------------
void GetWspFromNodeListToRohr(TNodeList* NodeList, TProfilList* RohreList, double AvgDistance, int DebugLevel)
{
- if (DebugLevel >= 1) write_fortschritt ("->Ermittlung der Wasserstände für Rohre gestartet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "->Ermittlung der Wasserstände für Rohre gestartet\n");
int Count = 0;
for (TProfilList::iterator i = RohreList->begin(); i != RohreList->end(); i++)
@@ -2062,10 +2010,7 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10 == 0))
- {
- write_fortschritt("Rohr %d von %d\n", Count, RohreList->size());
- }
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "Rohr %d von %d\n", Count, RohreList->size());
if (Rohr->Wsp != NoWsp) continue;
@@ -2082,7 +2027,7 @@
if (Found1 && Wsp != NoWsp)
{
Rohr->Wsp = Wsp;
- if (DebugLevel >= 6) write_fortschritt("Rohr %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
+ if (DebugLevel >= 6) write_fortschritt(DebugLevel, "Rohr %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
continue;
}
@@ -2096,13 +2041,13 @@
if (Found2 && Wsp != NoWsp)
{
Rohr->Wsp = Wsp;
- if (DebugLevel >= 6) write_fortschritt("Rohr %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
+ if (DebugLevel >= 6) write_fortschritt(DebugLevel, "Rohr %d hat Wasserstand %.3f\n", Count, Wsp / 100.0);
continue;
}
}
- if (DebugLevel >= 1) write_fortschritt("Rohr %d von %d\n", Count, RohreList->size());
+ if (DebugLevel >= 1) write_fortschritt(DebugLevel, "Rohr %d von %d\n", Count, RohreList->size());
- if (DebugLevel >= 1) write_fortschritt ("<-Ermittlung der Wasserstände für Rohre beendet\n");
+ if (DebugLevel >= 1) write_fortschritt (9, "<-Ermittlung der Wasserstände für Rohre beendet\n");
}
//---------------------------------------------------------------------------
@@ -2277,33 +2222,33 @@
if (fabs(TPX - Px) > 0.1)
{
- write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
- write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
- write_fortschritt("%.2f,%.2f\n", Px, Py);
+ write_fortschritt (9, "%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+ write_fortschritt (9, "%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+ write_fortschritt (9, "%.2f,%.2f\n", Px, Py);
dump_error(__FILE__, __LINE__, "TPX nicht korrekt");
}
if (fabs(TPY - Py) > 0.1)
{
- write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
- write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
- write_fortschritt("%.2f,%.2f\n", Px, Py);
+ write_fortschritt (9, "%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+ write_fortschritt (9, "%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+ write_fortschritt (9, "%.2f,%.2f\n", Px, Py);
dump_error(__FILE__, __LINE__, "TPY nicht korrekt");
}
if (fabs(TSX - Px) > 0.1)
{
- write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
- write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
- write_fortschritt("%.2f,%.2f\n", Px, Py);
+ write_fortschritt (9, "%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+ write_fortschritt (9, "%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+ write_fortschritt (9, "%.2f,%.2f\n", Px, Py);
dump_error(__FILE__, __LINE__, "TSX nicht korrekt");
}
if (fabs(TSY - Py) > 0.1)
{
- write_fortschritt("%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
- write_fortschritt("%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
- write_fortschritt("%.2f,%.2f\n", Px, Py);
+ write_fortschritt (9, "%d,%d %d,%d\n", P0x, P0y, P1x, P1y);
+ write_fortschritt (9, "%d,%d %d,%d\n", S0x, S0y, S1x, S1y);
+ write_fortschritt (9, "%.2f,%.2f\n", Px, Py);
dump_error(__FILE__, __LINE__, "TSY nicht korrekt");
}
@@ -2554,7 +2499,7 @@
//---------------------------------------------------------------------------
void NassTrockenBerechnung(TNodeList *NodeList, TEdgeList *EdgeList, TErgebnisPolygonList* ErgebnisPolygone, TProfilList* RohreList, TProfilList* GradientenList, double AvgDistance, int Von, int Bis, int Diff, int DebugLevel)
{
- write_fortschritt("->Ermittlung der Überschwemmungsgrenzen gestartet\n");
+ write_fortschritt (9, "->Ermittlung der Überschwemmungsgrenzen gestartet\n");
NodeList->SortByXY();
@@ -2569,7 +2514,7 @@
{
AnzWetBoundaries = 0;
- write_fortschritt("Wasserstand %.3f zwischen %.3f und %.3f wird bearbeitet\n", DeltaTopo / 100.0, Von / 100.0, Bis / 100.0);
+ write_fortschritt (9, "Wasserstand %.3f zwischen %.3f und %.3f wird bearbeitet\n", DeltaTopo / 100.0, Von / 100.0, Bis / 100.0);
// Zuerst alles wieder wie gehabt einstellen
// Bloss das die Topographie etwas angehoben wird
@@ -2586,7 +2531,7 @@
else Node->Wsp = SaveNode->Wsp;
}
- if (DebugLevel >= 2) write_fortschritt("Erste Kanten mit Nass/Trocken-Übergang ermitteln\n");
+ if (DebugLevel >= 2) write_fortschritt (9, "Erste Kanten mit Nass/Trocken-Übergang ermitteln\n");
// Die Kanten bestimmen, die an einem Ende einen nassen und am anderen Ende einen trockenen Knoten haben
// Dies sind die Anfangskanten
@@ -2605,7 +2550,7 @@
}
}
- if (DebugLevel >= 2) write_fortschritt("Wasserstände ausbreiten\n");
+ if (DebugLevel >= 2) write_fortschritt (9, "Wasserstände ausbreiten\n");
TEdgeList *TempEdgeList = new TEdgeList();
int Changed = 0;
@@ -2744,17 +2689,17 @@
// Hier nur die Verwaltungsinformationen, aber nicht die richtigen Kanten löschen
// Es waren nur geliehene Kanten
- write_fortschritt("->Freigeben des Speichers der 1. temporären Kanten gestartet\n");
+ write_fortschritt (9, "->Freigeben des Speichers der 1. temporären Kanten gestartet\n");
TempEdgeList->Empty();
delete TempEdgeList;
- write_fortschritt("<-Freigeben des Speichers der 1. temporären Kanten beendet\n");
+ write_fortschritt (9, "<-Freigeben des Speichers der 1. temporären Kanten beendet\n");
// Hier nur die Verwaltungsinformationen, aber nicht die richtigen Kanten löschen
// Es waren nur geliehene Kanten
- write_fortschritt("->Freigeben des Speichers der 2. temporären Kanten gestartet\n");
+ write_fortschritt (9, "->Freigeben des Speichers der 2. temporären Kanten gestartet\n");
Temp2EdgeList->Empty();
delete Temp2EdgeList;
- write_fortschritt("<-Freigeben des Speichers der 2. temporären Kanten beendet\n");
+ write_fortschritt (9, "<-Freigeben des Speichers der 2. temporären Kanten beendet\n");
// Jetzt sind alle Knoten nass, die Nass sein sollen
@@ -2768,7 +2713,7 @@
Edge->Ready = false;
}
- if (DebugLevel >= 2) write_fortschritt("Nass/Trocken-Übergänge auf den Kanten bestimmen\n");
+ if (DebugLevel >= 2) write_fortschritt (9, "Nass/Trocken-Übergänge auf den Kanten bestimmen\n");
// Jetzt die Nass/Trocken Übergänge bestimmen
int FoundWetDry = 0;
@@ -2846,7 +2791,7 @@
// Jetzt sind alle Nass/Trockenübergänge bestimmt
- if (DebugLevel >= 2) write_fortschritt("Nass/Trocken-Übergänge verbinden\n");
+ if (DebugLevel >= 2) write_fortschritt (9, "Nass/Trocken-Übergänge verbinden\n");
// Jetzt muss man sie nur noch verbinden
@@ -2924,12 +2869,12 @@
Node->Wsp = SaveNode->Wsp;
}
- write_fortschritt("->Freigeben des Speichers der kopierten Knoten gestartet\n");
+ write_fortschritt (9, "->Freigeben des Speichers der kopierten Knoten gestartet\n");
delete SaveNodeList;
SaveNodeList = 0;
- write_fortschritt("<-Freigeben des Speichers der kopierten Knoten beendet\n");
+ write_fortschritt (9, "<-Freigeben des Speichers der kopierten Knoten beendet\n");
- write_fortschritt("<-Ermittlung der Überschwemmungsgrenzen beendet\n");
+ write_fortschritt (9, "<-Ermittlung der Überschwemmungsgrenzen beendet\n");
}
Modified: trunk/src/tools.h
===================================================================
--- trunk/src/tools.h 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/tools.h 2009-11-12 21:44:47 UTC (rev 150)
@@ -40,7 +40,7 @@
void dump_error(char *file, int line, char *format, ...);
void write_error(int ErrorNr,char *format, ...);
void write_warning(int WarningNr, char *format, ...);
-void write_fortschritt(char *format, ...);
+void write_fortschritt(int DebugLevel, char *format, ...);
void GetTimeAndDate(long* Secs, long* Mins, long* Hours, long* Days = 0, long* Months = 0, long* Years = 0);
void Swap2Bytes(void *Bytes);
void Swap4Bytes(void *Bytes);
Modified: trunk/src/tri.cpp
===================================================================
--- trunk/src/tri.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/tri.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -24,7 +24,7 @@
//---------------------------------------------------------------------
void FindLeftMostNeighbours(TNodeList* NodeList, TNode* *Node1, TNode* *Node2)
{
- write_fortschritt("->Suchen der Startkante gestartet\n");
+ write_fortschritt (9, "->Suchen der Startkante gestartet\n");
double Min1 = 0.0;
double Min2 = 0.0;
@@ -68,9 +68,9 @@
*Node2 = Node;
}
}
- if (*Node1 && *Node2) write_fortschritt("Kante: %d - %d als Startkante\n", (*Node1)->Nr, (*Node2)->Nr);
+ if (*Node1 && *Node2) write_fortschritt (9, "Kante: %d - %d als Startkante\n", (*Node1)->Nr, (*Node2)->Nr);
- write_fortschritt("<-Suchen der Startkante beendet\n");
+ write_fortschritt (9, "<-Suchen der Startkante beendet\n");
}
//---------------------------------------------------------------------
@@ -299,7 +299,7 @@
//---------------------------------------------------------------------
bool Triangulate(TNodeList *NodeList, TElementList *ElementList, TXYZList* BegrenzungsPolygon, int DebugLevel)
{
- write_fortschritt("->Triangulierung der Knoten gestartet\n");
+ write_fortschritt (9, "->Triangulierung der Knoten gestartet\n");
if (NodeList->size() < 3)
{
@@ -342,13 +342,13 @@
// Erst mal genug Speicher besorgen
ElementList->reserve((size_t)(NodeList->size() * 2.2));
- write_fortschritt("Kapazität der Elementliste wurde auf %d erhöht\n", ElementList->capacity());
+ write_fortschritt (9, "Kapazität der Elementliste wurde auf %d erhöht\n", ElementList->capacity());
TEdgeList *EdgeList = new TEdgeList;
// Erst mal genug Speicher besorgen
- EdgeList->EdgeVector.reserve((size_t)(NodeList->size() * 2.2 * 2.2));
- write_fortschritt("Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeList->EdgeVector.capacity());
+ EdgeList->EdgeVector.reserve((size_t)(NodeList->size() * 2.2 * 2.2));
+ write_fortschritt (9, "Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeList->EdgeVector.capacity());
TEdge* NewEdge = new TEdge(NewNode1, NewNode2);
EdgeList->Add(NewEdge);
@@ -384,7 +384,7 @@
int DiffMSec = NowMSec - StartMSec;
- write_fortschritt("%d von ca. %d Elementen erzeugt\n", ElementList->size(), NodeList->size() * 2);
+ write_fortschritt (9, "%d von ca. %d Elementen erzeugt\n", ElementList->size(), NodeList->size() * 2);
if (ElementList->size() > 0)
{
@@ -397,22 +397,22 @@
double TimePerElement = (MitTimeBisher * EleBisher + MitTimeNoch * EleGesamt - MitTimeNoch * EleBisher) / EleGesamt;
double RestMSec = (EleGesamt - EleBisher) * TimePerElement;
- write_fortschritt("Dauer bisher: %.0f sec -> Dauer noch ca. %.0f sec\n", DiffMSec / 1000.0, RestMSec / 1000.0);
+ write_fortschritt (9, "Dauer bisher: %.0f sec -> Dauer noch ca. %.0f sec\n", DiffMSec / 1000.0, RestMSec / 1000.0);
}
}
}
- write_fortschritt("->Freigeben des Speichers der Kanten gestartet\n");
+ write_fortschritt (9, "->Freigeben des Speichers der Kanten gestartet\n");
delete EdgeList;
EdgeList = 0;
- write_fortschritt("<-Freigeben des Speichers der Kanten beendet\n");
+ write_fortschritt (9, "<-Freigeben des Speichers der Kanten beendet\n");
NodeList->ReScale();
// SaveNet("_tmp.2dm", NodeList, ElementList, DebugLevel);
- write_fortschritt("->Löschen der überschüssigen Elemente gestartet\n");
+ write_fortschritt (9, "->Löschen der überschüssigen Elemente gestartet\n");
int Count = 0;
for (TElementList::iterator i=ElementList->begin(); i != ElementList->end(); i++)
@@ -461,15 +461,12 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen überprüft\n", Count, ElementList->size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen überprüft\n", Count, ElementList->size());
}
- write_fortschritt("<-Löschen der überschüssigen Elemente beendet\n");
+ write_fortschritt (9, "<-Löschen der überschüssigen Elemente beendet\n");
- write_fortschritt("<-Triangulierung der Knoten beendet\n");
+ write_fortschritt (9, "<-Triangulierung der Knoten beendet\n");
return (true);
}
Modified: trunk/src/wsplgen.cpp
===================================================================
--- trunk/src/wsplgen.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/wsplgen.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -33,6 +33,7 @@
#endif
#include <stdexcept>
+#include <sys/timeb.h>
#include "wsplgen.h"
#include "parameter.h"
@@ -71,12 +72,12 @@
long Secs, Mins, Hours, Days, Months, Years;
GetTimeAndDate(&Secs, &Mins, &Hours, &Days, &Months, &Years);
- write_fortschritt ("->WSPLGEN Version %s vom %s am %04d-%02d-%02d gestartet\n", Version, __DATE__, Years, Months, Days);
- write_fortschritt ("programmiert durch:\n");
- write_fortschritt ("STADT-LAND-FLUSS INGENIEURDIENSTE GmbH\n");
- write_fortschritt ("Auf dem Hollen 12, 30165 Hannover\n");
- write_fortschritt ("telefon: +49 (0) 511 353196-00\n");
- write_fortschritt ("email: info at s-l-f.de\n");
+ write_fortschritt (9, "->WSPLGEN Version %s vom %s am %04d-%02d-%02d gestartet\n", Version, __DATE__, Years, Months, Days);
+ write_fortschritt (9, "programmiert durch:\n");
+ write_fortschritt (9, "STADT-LAND-FLUSS INGENIEURDIENSTE GmbH\n");
+ write_fortschritt (9, "Auf dem Hollen 12, 30165 Hannover\n");
+ write_fortschritt (9, "telefon: +49 (0) 511 353196-00\n");
+ write_fortschritt (9, "email: info at s-l-f.de\n");
// Hier werden alle Profile drin verwaltet
TProfilList *ProfilList = new TProfilList();
@@ -226,10 +227,10 @@
CheckForDuplicates(NodeList, ElementList, Parameter.DebugLevel);
}
- write_fortschritt("->Freigeben des Speichers der Gräben gestartet\n");
+ write_fortschritt (9, "-> des Speichers der Gräben gestartet\n");
delete GrabenList;
GrabenList = 0;
- write_fortschritt("<-Freigeben des Speichers der Gräben beendet\n");
+ write_fortschritt (9, "<- des Speichers der Gräben beendet\n");
// Hier werden die Kanten drin verwaltet
// Die Kanten werden im Moment noch aus den Elementen generiert
@@ -249,7 +250,7 @@
// wird sie für die spätere Verwendung zwischengespeichert
double AvgDistance = EdgeList->AvgDistance;
- write_fortschritt("Die mittlere Kantenlänge beträgt %.2f m\n", AvgDistance / 100.0);
+ write_fortschritt (9, "Die mittlere Kantenlänge beträgt %.2f m\n", AvgDistance / 100.0);
// Nachdem die durchschnittliche Kantenlänge bekannt ist,
// werden die Profile entsprechend fein interpoliert
@@ -275,20 +276,20 @@
delete NassNodeList;
NassNodeList = 0;
- write_fortschritt("->Freigeben des Speichers der Gewaesserachse gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Gewaesserachse gestartet\n");
delete GewaesserAchseList;
GewaesserAchseList = 0;
- write_fortschritt("<-Freigeben des Speichers der Gewaesserachse beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Gewaesserachse beendet\n");
- write_fortschritt("->Freigeben des Speichers der Dämme gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Dämme gestartet\n");
delete SperrenList;
SperrenList = 0;
- write_fortschritt("<-Freigeben des Speichers der Dämme beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Dämme beendet\n");
- write_fortschritt("->Freigeben des Speichers der Profile gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Profile gestartet\n");
delete ProfilList;
ProfilList = 0;
- write_fortschritt("<-Freigeben des Speichers der Profile beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Profile beendet\n");
// Wurde der Wert für das Argument 'Bis' beim Parameter -DELTA nicht gesetzt
// so ist jetzt die Zeit das nachzuholen
@@ -329,24 +330,24 @@
NassTrockenBerechnung(NodeList, EdgeList, ErgebnisPolygone, Rohre1List, Rohre2List, AvgDistance, Parameter.Von, Parameter.Bis, Parameter.Diff, Parameter.DebugLevel);
- write_fortschritt("->Freigeben des Speichers der Rohre vom Typ 1 gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Rohre vom Typ 1 gestartet\n");
delete Rohre1List;
Rohre1List = 0;
- write_fortschritt("<-Freigeben des Speichers der Rohre vom Typ 1 beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Rohre vom Typ 1 beendet\n");
- write_fortschritt("->Freigeben des Speichers der Rohre vom Typ 2 gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Rohre vom Typ 2 gestartet\n");
delete Rohre2List;
Rohre2List = 0;
- write_fortschritt("<-Freigeben des Speichers der Rohre vom Typ 2 beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Rohre vom Typ 2 beendet\n");
NodeList->ClearEdgeIndex();
// Löscht nur die Verwaltung und nicht die Knoten der Kanten,
// die Knoten waren nur geliehen
- write_fortschritt("->Freigeben des Speichers der Kanten gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Kanten gestartet\n");
delete EdgeList;
EdgeList = 0;
- write_fortschritt("<-Freigeben des Speichers der Kanten beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Kanten beendet\n");
std::string ElementeFileName = ExchangeFileExt(Parameter.FileNameAusgabe, "_elemente.shp");
if (Parameter.DebugLevel > 2) SaveElements(ElementeFileName, ElementList, Parameter.Von, Parameter.DebugLevel);
@@ -360,10 +361,10 @@
SaveSol(SolFileName, NodeList, Parameter.DebugLevel);
}
- write_fortschritt("->Freigeben des Speichers der Elemente gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Elemente gestartet\n");
delete ElementList;
ElementList = 0;
- write_fortschritt("<-Freigeben des Speichers der Elemente beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Elemente beendet\n");
NodeList->SortByNr();
@@ -376,46 +377,46 @@
// Speichern der Meta-Daten
SaveXml(Parameter.FileNameAusgabe, &Parameter);
- write_fortschritt("->Freigeben des Speichers der ErgebnisPolygone gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der ErgebnisPolygone gestartet\n");
delete ErgebnisPolygone;
ErgebnisPolygone = 0;
- write_fortschritt("<-Freigeben des Speichers der ErgebnisPolygone beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der ErgebnisPolygone beendet\n");
- write_fortschritt("->Freigeben des Speichers der Knoten gestartet\n");
+ write_fortschritt (9, "-> Freigeben des Speichers der Knoten gestartet\n");
delete NodeList;
NodeList = 0;
- write_fortschritt("<-Freigeben des Speichers der Knoten beendet\n");
+ write_fortschritt (9, "<- Freigeben des Speichers der Knoten beendet\n");
}
catch (const std::runtime_error& e)
{
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (const std::length_error& e)
{
- write_fortschritt ("Es steht leider nicht genug Speicher zur Verfügung\n", e.what());
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Es steht leider nicht genug Speicher zur Verfügung\n", e.what());
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (const std::exception& e)
{
- write_fortschritt ("%s\n", e.what());
- write_fortschritt ("Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Bitte informieren sie den Programmierer\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "%s\n", e.what());
+ write_fortschritt (9, "Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Bitte informieren sie den Programmierer\n");
+ write_fortschritt (9, "Programmabbruch\n");
}
catch (...)
{
- write_fortschritt ("Unbekannter Fehler wurde korrekt abgefangen\n");
- write_fortschritt ("Bitte informieren sie den Programmierer\n");
- write_fortschritt ("Programmabbruch\n");
+ write_fortschritt (9, "Unbekannter Fehler wurde korrekt abgefangen\n");
+ write_fortschritt (9, "Bitte informieren sie den Programmierer\n");
+ write_fortschritt (9, "Programmabbruch\n");
ReturnCode = 2;
}
GetTimeAndDate(&Secs, &Mins, &Hours, &Days, &Months, &Years);
- write_fortschritt ("<-WSPLGEN Version %s vom %s am %04d-%02d-%02d beendet\n", Version, __DATE__, Years, Months, Days);
+ write_fortschritt (9, "<-WSPLGEN Version %s vom %s am %04d-%02d-%02d beendet\n", Version, __DATE__, Years, Months, Days);
if (argc > 1 && argv[1][0] == '$')
{
Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/wsplgen.h 2009-11-12 21:44:47 UTC (rev 150)
@@ -10,7 +10,7 @@
// Read the file COPYING coming with WSPLGEN for details.
//
-const char Version[] = "1.3.2";
+const char Version[] = "1.3.3";
// In der Datei wsplgen.h wird jetzt keine Historie mehr gespeichert.
// Diese ist nun in der Datei NEWS zu finden
Modified: trunk/src/xy.cpp
===================================================================
--- trunk/src/xy.cpp 2009-11-09 15:37:21 UTC (rev 149)
+++ trunk/src/xy.cpp 2009-11-12 21:44:47 UTC (rev 150)
@@ -268,7 +268,7 @@
//---------------------------------------------------------------------
void TXYZList::SortByXY(void)
{
- write_fortschritt("->Sortieren der Punkte gestartet\n");
+ write_fortschritt (9, "->Sortieren der Punkte gestartet\n");
if (QuadTree) delete QuadTree;
QuadTree = new TQuadTree<TXYZList, TXYZ>();
@@ -279,7 +279,7 @@
QuadTree->Insert(MinX, MaxX, MinY, MaxY, Xy);
}
- write_fortschritt("<-Sortieren der Punkte beendet\n");
+ write_fortschritt (9, "<-Sortieren der Punkte beendet\n");
}
//---------------------------------------------------------------------
@@ -378,9 +378,9 @@
//---------------------------------------------------------------------
TXYZList* TXYZList::Cut(TProfilList* ProfilList, TProfil* CutProfil)
{
- write_fortschritt("->Beschneiden des Begrenzungspolygon gestartet\n");
+ write_fortschritt (9, "->Beschneiden des Begrenzungspolygon gestartet\n");
- write_fortschritt("Beschneidung mit Profil %.4f\n", CutProfil->Station / 10000.0);
+ write_fortschritt (9, "Beschneidung mit Profil %.4f\n", CutProfil->Station / 10000.0);
// Zuerst (wenn notwendig )den ersten Punkt am Ende hinzufügen
TXYZ* XyFirst = *begin();
@@ -613,7 +613,7 @@
i++;
}
- write_fortschritt("<-Beschneiden des Begrenzungspolygon beendet\n");
+ write_fortschritt (9, "<-Beschneiden des Begrenzungspolygon beendet\n");
return (SideZero);
}
@@ -732,7 +732,7 @@
delete CutXyList;
- write_fortschritt("<-Beschneiden des Begrenzungspolygon beendet\n");
+ write_fortschritt (9, "<-Beschneiden des Begrenzungspolygon beendet\n");
if (IsInsideZeroCount > IsInsideOneCount)
{
@@ -773,10 +773,10 @@
//---------------------------------------------------------------------
void TNodeList::Clear(void)
{
- write_fortschritt("->Löschen des Suchbaumes der Knoten gestartet\n");
+ write_fortschritt (9, "->Löschen des Suchbaumes der Knoten gestartet\n");
if (QuadTree) delete QuadTree;
QuadTree = 0;
- write_fortschritt("<-Löschen des Suchbaumes der Knoten beendet\n");
+ write_fortschritt (9, "<-Löschen des Suchbaumes der Knoten beendet\n");
if (SearchNodeList)
{
@@ -785,6 +785,7 @@
SearchNodeList = 0;
}
+ write_fortschritt (9, "->Knoten löschen gestartet\n");
if (size() > 0)
{
int Count = 0;
@@ -796,10 +797,11 @@
Count++;
- if (Count % 100000 == 0) write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
+ if (Count % 100000 == 0) write_fortschritt (9, "%d von %d Knoten gelöscht\n", Count, size());
}
- write_fortschritt("%d Objekte freigegeben\n", Count);
+ write_fortschritt (9, "%d Knoten gelöscht\n", Count);
}
+ write_fortschritt (9, "<-Knoten löschen beendet\n");
clear();
@@ -854,7 +856,7 @@
if (capacity() < size() + 1)
{
reserve((size_t)(capacity() * 1.1 + 100000));
- write_fortschritt("Kapazität der Knotenliste wurde auf %d erhöht\n", capacity());
+ write_fortschritt (9, "Kapazität der Knotenliste wurde auf %d erhöht\n", capacity());
}
push_back(Node);
@@ -930,12 +932,12 @@
//---------------------------------------------------------------------
void TNodeList::SortByXY(void)
{
- write_fortschritt("->Sortieren der Knoten gestartet\n");
+ write_fortschritt (9, "->Sortieren der Knoten gestartet\n");
- write_fortschritt("->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet\n");
+ write_fortschritt (9, "->Löschen und Neuaufbauen des Suchbaumes der Knoten gestartet\n");
if (QuadTree) delete QuadTree;
QuadTree = new TQuadTree<TNodeList, TNode>();
- write_fortschritt("<-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet\n");
+ write_fortschritt (9, "<-Löschen und Neuaufbauen des Suchbaumes der Knoten beendet\n");
for (iterator i = begin(); i != end(); i++)
{
@@ -944,17 +946,17 @@
QuadTree->Insert(MinX, MaxX, MinY, MaxY, Node);
}
- write_fortschritt("<-Sortieren der Knoten beendet\n");
+ write_fortschritt (9, "<-Sortieren der Knoten beendet\n");
}
//---------------------------------------------------------------------
void TNodeList::SortByNr(void)
{
- write_fortschritt("->Sortieren der Knoten gestartet\n");
+ write_fortschritt (9, "->Sortieren der Knoten gestartet\n");
std::sort(this->begin(), this->end(), TNodeSortByNr());
- write_fortschritt("<-Sortieren der Knoten beendet\n");
+ write_fortschritt (9, "<-Sortieren der Knoten beendet\n");
}
//---------------------------------------------------------------------
@@ -1279,7 +1281,7 @@
{
if (size() > 0)
{
- write_fortschritt("->Löschen des Knoten/Kanten-Index gestartet\n");
+ write_fortschritt (9, "->Löschen des Knoten/Kanten-Index gestartet\n");
int Count = 0;
for (iterator i = begin(); i != end(); i++)
@@ -1289,17 +1291,18 @@
Count++;
- if (Count % 100000 == 0) write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
+ if (Count % 100000 == 0) write_fortschritt (9, "%d von %d Objekte freigegeben\n", Count, size());
}
+ write_fortschritt (9, "%d Objekte freigegeben\n", Count);
- write_fortschritt("<-Löschen des Knoten/Kanten-Index beendet\n");
+ write_fortschritt (9, "<-Löschen des Knoten/Kanten-Index beendet\n");
}
}
//---------------------------------------------------------------------
int TNodeList::GetMaxDepth(int DebugLevel)
{
- write_fortschritt("->Ermittlung der maximalen Wassertiefe gestartet\n");
+ write_fortschritt (9, "->Ermittlung der maximalen Wassertiefe gestartet\n");
int MaxDepth = 0;
int Count = 0;
@@ -1317,16 +1320,13 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
- }
+ write_fortschritt(DebugLevel, "Knoten %d von %d untersucht.\n", Count, size());
}
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
+ write_fortschritt (9, "Knoten %d von %d untersucht.\n", Count, size());
- write_fortschritt("Maximale Wassertiefe: %.3f.\n", MaxDepth / 100.0);
+ write_fortschritt (9, "Maximale Wassertiefe: %.3f.\n", MaxDepth / 100.0);
- write_fortschritt("<-Ermittlung der maximalen Wassertiefe beendet\n");
+ write_fortschritt (9, "<-Ermittlung der maximalen Wassertiefe beendet\n");
return (MaxDepth);
}
@@ -1334,7 +1334,7 @@
//---------------------------------------------------------------------
int TNodeList::GetMaxWsp(int DebugLevel)
{
- write_fortschritt("->Ermittlung des maximalen Wasserstandes gestartet\n");
+ write_fortschritt (9, "->Ermittlung des maximalen Wasserstandes gestartet\n");
int MaxWsp = 0;
int Count = 0;
@@ -1355,16 +1355,13 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
- }
+ write_fortschritt(DebugLevel, "Knoten %d von %d untersucht.\n", Count, size());
}
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
+ write_fortschritt (9, "Knoten %d von %d untersucht.\n", Count, size());
- write_fortschritt("Maximaler Wasserstand: %.3f.\n", MaxWsp / 100.0);
+ write_fortschritt (9, "Maximaler Wasserstand: %.3f.\n", MaxWsp / 100.0);
- write_fortschritt("<-Ermittlung des maximalen Wasserstandes beendet\n");
+ write_fortschritt (9, "<-Ermittlung des maximalen Wasserstandes beendet\n");
return (MaxWsp);
}
@@ -1372,7 +1369,7 @@
//---------------------------------------------------------------------
int TNodeList::GetMaxZ(int DebugLevel)
{
- write_fortschritt("->Ermittlung der maximale Geländehöhe gestartet\n");
+ write_fortschritt (9, "->Ermittlung der maximale Geländehöhe gestartet\n");
int MaxZ = 0;
int Count = 0;
@@ -1386,16 +1383,13 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 10000 == 0) || (Count > 0 && Count % 100000 == 0))
- {
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
- }
+ write_fortschritt(DebugLevel, "Knoten %d von %d untersucht.\n", Count, size());
}
- write_fortschritt("Knoten %d von %d untersucht.\n", Count, size());
+ write_fortschritt (9, "Knoten %d von %d untersucht.\n", Count, size());
- write_fortschritt("Maximale Geländehöhe: %.3f.\n", MaxZ / 100.0);
+ write_fortschritt (9, "Maximale Geländehöhe: %.3f.\n", MaxZ / 100.0);
- write_fortschritt("<-Ermittlung der maximale Geländehöhe beendet\n");
+ write_fortschritt (9, "<-Ermittlung der maximale Geländehöhe beendet\n");
return (MaxZ);
}
@@ -1403,7 +1397,7 @@
//---------------------------------------------------------------------
void TNodeList::Scale(void)
{
- write_fortschritt("->Verschiebung des Koordinatensystems gestartet\n");
+ write_fortschritt (9, "->Verschiebung des Koordinatensystems gestartet\n");
DiffX = MinX;
DiffY = MinY;
@@ -1421,13 +1415,13 @@
Node->Y = Node->Y - DiffY;
}
- write_fortschritt("<-Verschiebung des Koordinatensystems beendet\n");
+ write_fortschritt (9, "<-Verschiebung des Koordinatensystems beendet\n");
}
//---------------------------------------------------------------------
void TNodeList::ReScale(void)
{
- write_fortschritt("->Zurückverschiebung des Koordinatensystems gestartet\n");
+ write_fortschritt (9, "->Zurückverschiebung des Koordinatensystems gestartet\n");
for (iterator i = begin(); i != end(); i++)
{
@@ -1445,13 +1439,13 @@
DiffX = 0;
DiffY = 0;
- write_fortschritt("<-Zurückverschiebung des Koordinatensystems beendet\n");
+ write_fortschritt (9, "<-Zurückverschiebung des Koordinatensystems beendet\n");
}
//---------------------------------------------------------------------
void TNodeList::ClearWsp(void)
{
- write_fortschritt("->Vorbereiten der Wasserstände gestartet\n");
+ write_fortschritt (9, "->Vorbereiten der Wasserstände gestartet\n");
for (iterator i = begin(); i != end(); i++)
{
@@ -1460,7 +1454,7 @@
Node->Wsp = NoWsp;
}
- write_fortschritt("<-Vorbereiten der Wasserstände beendet\n");
+ write_fortschritt (9, "<-Vorbereiten der Wasserstände beendet\n");
}
//---------------------------------------------------------------------
@@ -1476,6 +1470,7 @@
//---------------------------------------------------------------------
void TElementList::Clear(void)
{
+ write_fortschritt (9, "->Elementliste löschen gestartet\n");
if (size() > 0)
{
int Count = 0;
@@ -1487,11 +1482,12 @@
Count++;
- if (Count % 100000 == 0) write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
+ if (Count % 100000 == 0) write_fortschritt (9, "%d von %d Elemente gelöscht\n", Count, size());
}
- write_fortschritt("%d Objekte freigegeben\n", Count);
+ write_fortschritt (9, "%d Elemente gelöscht\n", Count);
}
clear();
+ write_fortschritt (9, "<-Elementliste löschen beendet\n");
}
//---------------------------------------------------------------------
@@ -1500,7 +1496,7 @@
if (capacity() < size() + 1)
{
reserve((size_t)(capacity() * 1.1 + 200000));
- write_fortschritt("Kapazität der Elementliste wurde auf %d erhöht\n", capacity());
+ write_fortschritt (9, "Kapazität der Elementliste wurde auf %d erhöht\n", capacity());
}
push_back(Element);
@@ -1519,10 +1515,7 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen, %d Elemente angepasst\n", Count, size(), ChangeCount);
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen, %d Elemente angepasst\n", Count, size(), ChangeCount);
// Hier werden die zum Löschen markierten Elemente ignoriert.
if (Element->Typ == NO_ELEMENT) continue;
@@ -1735,7 +1728,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1754,7 +1747,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1773,7 +1766,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1792,7 +1785,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1807,7 +1800,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1822,7 +1815,7 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
@@ -1837,13 +1830,13 @@
NewElement->Typ = NEWTRI;
push_back(NewElement);
- if (DebugLevel >= 9) write_fortschritt("Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
+ if (DebugLevel >= 9) write_fortschritt (9, "Element %d : %d - %d - %d wird geändert\n", Count, Node1->Nr, Node2->Nr, Node3->Nr);
Element->Typ = NO_ELEMENT;
ChangeCount++;
}
}
- write_fortschritt("%d von %d Elemente, %d Elemente angepasst\n", Count, size(), ChangeCount);
+ write_fortschritt (9, "%d von %d Elemente, %d Elemente angepasst\n", Count, size(), ChangeCount);
return (ChangeCount);
}
@@ -1851,7 +1844,7 @@
//---------------------------------------------------------------------------
void TElementList::CleanChangedElements(int DebugLevel)
{
- write_fortschritt("->Suche nach entarteten Elementen gestartet\n");
+ write_fortschritt (9, "->Suche nach entarteten Elementen gestartet\n");
int Count = 0;
for (unsigned int i = 0; i < size(); i++)
@@ -1860,10 +1853,7 @@
Count++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && Count % 5000 == 0) || (Count % 50000 == 0))
- {
- write_fortschritt("%d von %d Elementen überprüft\n", Count, size());
- }
+ write_fortschritt(DebugLevel, "%d von %d Elementen überprüft\n", Count, size());
// Hier werden die zum Löschen markierten Elemente ignoriert.
if (Element->Typ == NO_ELEMENT) continue;
@@ -1902,35 +1892,35 @@
}
}
- write_fortschritt("%d von %d Elementen überprüft\n", Count, size());
+ write_fortschritt (9, "%d von %d Elementen überprüft\n", Count, size());
- write_fortschritt("<-Suche nach entarteten Elementen beendet\n");
+ write_fortschritt (9, "<-Suche nach entarteten Elementen beendet\n");
}
//---------------------------------------------------------------------------
void TElementList::ChangeElements(TNodeList *NodeList, TProfilList *SperrenList, TProfilList *GrabenList, int DebugLevel)
{
- write_fortschritt("->Anpassung der Elemente an Dämme und Gräben gestartet\n");
+ write_fortschritt (9, "->Anpassung der Elemente an Dämme und Gräben gestartet\n");
NodeList->SortByXY();
if (GrabenList && GrabenList->size() > 0)
{
- write_fortschritt("->Anpassung der Elemente an Gräben gestartet\n");
+ write_fortschritt (9, "->Anpassung der Elemente an Gräben gestartet\n");
HelpChangeElements(NodeList, GrabenList, DebugLevel);
- write_fortschritt("<-Anpassung der Elemente an Gräben beendet\n");
+ write_fortschritt (9, "<-Anpassung der Elemente an Gräben beendet\n");
}
if (SperrenList && SperrenList->size() > 0)
{
- write_fortschritt("->Anpassung der Elemente an Dämme gestartet\n");
+ write_fortschritt (9, "->Anpassung der Elemente an Dämme gestartet\n");
HelpChangeElements(NodeList, SperrenList, DebugLevel);
- write_fortschritt("<-Anpassung der Elemente an Dämme beendet\n");
+ write_fortschritt (9, "<-Anpassung der Elemente an Dämme beendet\n");
}
CleanChangedElements(DebugLevel);
- write_fortschritt("<-Anpassung der Elemente an Dämme und Gräben beendet\n");
+ write_fortschritt (9, "<-Anpassung der Elemente an Dämme und Gräben beendet\n");
}
//---------------------------------------------------------------------
@@ -2164,6 +2154,7 @@
//---------------------------------------------------------------------
void TEdgeList::Clear(void)
{
+ write_fortschritt (9, "->Kantenliste löschen gestartet\n");
if (EdgeVector.size() > 0)
{
int Count = 0;
@@ -2176,9 +2167,9 @@
Count++;
- if (Count % 100000 == 0) write_fortschritt("%d von %d Objekte freigegeben\n", Count, EdgeVector.size());
+ if (Count % 100000 == 0) write_fortschritt (9, "%d von %d Kanten gelöscht\n", Count, EdgeVector.size());
}
- write_fortschritt("%d Objekte freigegeben\n", Count);
+ write_fortschritt (9, "%d Kanten gelöscht\n", Count);
}
if (Anz != 0)
@@ -2189,6 +2180,8 @@
AvgDistance = 0;
EdgeVector.clear();
+
+ write_fortschritt (9, "<-Kantenliste löschen beendet\n");
}
//---------------------------------------------------------------------
@@ -2215,7 +2208,7 @@
if (EdgeVector.capacity() < EdgeVector.size() + 1)
{
EdgeVector.reserve((size_t)(EdgeVector.capacity() * 1.1 + 200000));
- write_fortschritt("Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeVector.capacity());
+ write_fortschritt (9, "Kapazität der Kantenliste wurde auf %d erhöht\n", EdgeVector.capacity());
}
EdgeVector.push_back(edge);
@@ -2756,7 +2749,7 @@
//---------------------------------------------------------------------------
bool TProfil::InterpolateZ(void)
{
- write_fortschritt("->Interpolation der Höhen gestartet\n");
+ write_fortschritt (9, "->Interpolation der Höhen gestartet\n");
int VorZ = NoZ;
int VorM = 0;
@@ -2797,7 +2790,7 @@
if (VorZ == NoZ)
{
- write_fortschritt("<-Interpolation der Höhen beendet\n");
+ write_fortschritt (9, "<-Interpolation der Höhen beendet\n");
// Es sind alle Z-Höhen NOZ
return (false);
@@ -2810,7 +2803,7 @@
TPoint* Point = *j;
Point->Z = VorZ;
}
- write_fortschritt("<-Interpolation der Höhen beendet\n");
+ write_fortschritt (9, "<-Interpolation der Höhen beendet\n");
return (true);
}
@@ -2829,6 +2822,7 @@
//---------------------------------------------------------------------
void TProfilList::Clear(void)
{
+ write_fortschritt (9, "->Profilliste löschen gestartet\n");
if (size() > 0)
{
int Count = 0;
@@ -2841,12 +2835,13 @@
Count++;
- if (Count % 10000 == 0) write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
+ if (Count % 10000 == 0) write_fortschritt (9, "%d von %d Profilen gelöscht\n", Count, size());
}
- write_fortschritt("%d Objekte freigegeben\n", Count);
+ write_fortschritt (9, "%d Profile gelöscht\n", Count);
}
clear();
+ write_fortschritt (9, "<-Profilliste löschen beendet\n");
}
//---------------------------------------------------------------------
@@ -2867,11 +2862,11 @@
//---------------------------------------------------------------------
void TProfilList::InterpoliereProfile(double SollAbstand)
{
- write_fortschritt("->Interpolation der Profile gestartet\n");
+ write_fortschritt (9, "->Interpolation der Profile gestartet\n");
SollAbstand = SollAbstand / 100.0;
- write_fortschritt("Gewünschter Abstand der Profile: %.1f m\n", SollAbstand);
+ write_fortschritt (9, "Gewünschter Abstand der Profile: %.1f m\n", SollAbstand);
TProfil *FirstProfil = 0;
TProfil *NextProfil = 0;
@@ -2940,13 +2935,13 @@
delete NewProfilList;
NewProfilList = 0;
- write_fortschritt("<-Interpolation der Profile beendet\n");
+ write_fortschritt (9, "<-Interpolation der Profile beendet\n");
}
//---------------------------------------------------------------------
void TProfilList::FillProfile(double SollAbstand, int SollAnz, int DebugLevel)
{
- write_fortschritt("->Auffüllen der Profile mit Stützstellen gestartet\n");
+ write_fortschritt (9, "->Auffüllen der Profile mit Stützstellen gestartet\n");
int PointCount = 0;
int Count = 0;
@@ -2993,10 +2988,7 @@
PointCount++;
- if (DebugLevel >= 9 || (DebugLevel >= 1 && PointCount % 100 == 0) || (PointCount > 0 && PointCount % 1000 == 0))
- {
- write_fortschritt("Profil %d von %d aufgefüllt, %d Punkte hinzugefügt\n", Count, size(), PointCount);
- }
+ write_fortschritt(DebugLevel, "Profil %d von %d aufgefüllt, %d Punkte hinzugefügt\n", Count, size(), PointCount);
}
if (Anz >= 1)
@@ -3011,9 +3003,9 @@
Count++;
}
- write_fortschritt("Profil %d von %d aufgefüllt\n", Count, size());
+ write_fortschritt (9, "Profil %d von %d aufgefüllt\n", Count, size());
- write_fortschritt("<-Auffüllen der Profile mit Stützstellen beendet\n");
+ write_fortschritt (9, "<-Auffüllen der Profile mit Stützstellen beendet\n");
}
//---------------------------------------------------------------------
More information about the Wsplgen-commits
mailing list