[Wsplgen-commits] r152 - in trunk: . src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri May 7 16:11:13 CEST 2010
Author: mrchip
Date: 2010-05-07 16:11:12 +0200 (Fri, 07 May 2010)
New Revision: 152
Modified:
trunk/NEWS
trunk/src/file.cpp
trunk/src/wsplgen.h
Log:
Fehler beim Ausrichten der Profile behoben
Modified: trunk/NEWS
===================================================================
--- trunk/NEWS 2009-11-13 08:13:50 UTC (rev 151)
+++ trunk/NEWS 2010-05-07 14:11:12 UTC (rev 152)
@@ -10,6 +10,11 @@
// Read the file COPYING coming with WSPLGEN for details.
//
+Version 1.3.5
+
+ - Wenn eine Stützstelle eines Profil genau auf der Gewässerachse lag,
+ konnte das Profil nicht korrekt ausgerichtet werden.
+
Version 1.3.4
- Einige überflüssige Ausgaben werden nun nur noch bei (DebugLevel=9) ausgegeben
Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp 2009-11-13 08:13:50 UTC (rev 151)
+++ trunk/src/file.cpp 2010-05-07 14:11:12 UTC (rev 152)
@@ -1702,8 +1702,6 @@
{
Count++;
- write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
-
VorProfil = NachProfil;
NachProfil = *i;
@@ -1765,7 +1763,12 @@
ExChangeProfil->PointList = TempPointList;
delete ExChangeProfil;
+
+ write_fortschritt(DebugLevel ,"Profil bei km %.4f wurde umgedreht\n", NachProfil->Station / 10000.0);
}
+
+ write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+
i++;
}
write_fortschritt (9, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
@@ -1779,8 +1782,6 @@
{
Count++;
- write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
-
TProfil* Profil = *i;
bool Found = false;
@@ -1850,10 +1851,15 @@
// Hier ist ein echter Schnittpunkt gefunden
// Jetzt prüfen wo welcher Punkt liegt
+ if ((X == P1x && Y == P1y) || (X == S1x && Y == S1y))
+ {
+ // Der Schnittpunkt ist ein Endpunkt und wird gleich nochmal gefunden
+ // dann funktioniert CrossProduct auch
+ continue;
+ }
+
if (CrossProduct(X, Y, P1x, P1y, S1x, S1y) < 0.0)
{
- write_fortschritt(DebugLevel ,"Profil '%.4f' wurde umgedreht\n", Profil->Station / 10000.0);
-
SwitchCount++;
TProfil* ExChangeProfil = new TProfil(Profil->Station);
@@ -1870,6 +1876,8 @@
ExChangeProfil->PointList = TempPointList;
delete ExChangeProfil;
+
+ write_fortschritt(DebugLevel ,"Profil bei km %.4f wurde umgedreht\n", Profil->Station / 10000.0);
}
break; // Schnittpunkt gefunden
}
@@ -1878,6 +1886,9 @@
} // Ende der Iteration über die Punkte eins Profils
if (Found) break;
} // Ende der Iteration über die Achsen
+
+ write_fortschritt(DebugLevel, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
+
i++;
}
write_fortschritt (9, "%d von %d Profilspuren ausgerichtet, %d gedreht\n", Count, ProfilList->size(), SwitchCount);
Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h 2009-11-13 08:13:50 UTC (rev 151)
+++ trunk/src/wsplgen.h 2010-05-07 14:11:12 UTC (rev 152)
@@ -10,7 +10,7 @@
// Read the file COPYING coming with WSPLGEN for details.
//
-const char Version[] = "1.3.4";
+const char Version[] = "1.3.5";
// In der Datei wsplgen.h wird jetzt keine Historie mehr gespeichert.
// Diese ist nun in der Datei NEWS zu finden
More information about the Wsplgen-commits
mailing list