[Wsplgen-commits] r111 - trunk/src
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Tue Aug 19 12:24:14 CEST 2008
Author: mrchip
Date: 2008-08-19 12:24:14 +0200 (Tue, 19 Aug 2008)
New Revision: 111
Modified:
trunk/src/file.cpp
trunk/src/wsplgen.h
Log:
Ein Fehler beim Laden der Linien wurde korrigiert
Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp 2008-07-29 08:29:39 UTC (rev 110)
+++ trunk/src/file.cpp 2008-08-19 10:24:14 UTC (rev 111)
@@ -1785,21 +1785,49 @@
continue;
}
- // Der Wasserstand muss so hoch sein, damit später auch alle Knoten der Bruckkante erzeugt werden können
- TProfil* Linie = new TProfil(Count+1, NoWsp);
- if (Typ == "DAMM") SperrenList->insert(Linie);
- else if (Typ == "GRABEN") GrabenList->insert(Linie);
- else if (Typ == "ROHR") Rohre1List->insert(Linie);
- else if (Typ == "GRADIENT") Rohre2List->insert(Linie);
- else dump_error(__FILE__, __LINE__, "Unbekannter Typ '%s' in der Datei '%s'\n", Typ.c_str(), DBFFileName.c_str());
+ TProfil* Linie = 0;
+ if (Typ == "DAMM")
+ {
+ Linie = new TProfil(SperrenList->size()+1, NoWsp);
+ SperrenList->insert(Linie);
+ }
+ else if (Typ == "GRABEN")
+ {
+ Linie = new TProfil(GrabenList->size()+1, NoWsp);
+ GrabenList->insert(Linie);
+ }
+ else if (Typ == "ROHR")
+ {
+ Linie = new TProfil(Rohre1List->size()+1, NoWsp);
+ Rohre1List->insert(Linie);
+ }
+ else if (Typ == "GRADIENT")
+ {
+ Linie = new TProfil(Rohre2List->size()+1, NoWsp);
+ Rohre2List->insert(Linie);
+ }
+ else
+ {
+ dump_error(__FILE__, __LINE__, "Unbekannter Typ '%s' in der Datei '%s'\n", Typ.c_str(), DBFFileName.c_str());
+ }
+
+
for (int j=0; j < AnzVert; j++)
{
double X = psCShape->padfX[j];
double Y = psCShape->padfY[j];
- double Z = psCShape->padfZ[j];
- if (ShapeType != SHPT_ARCZ && ShapeType != SHPT_POLYGONZ)
+ double Z = 0.0;
+
+ long* L1 = (long *)&(psCShape->padfZ[j]);
+ long* L2 = L1 +1;
+
+ // Ein Test auf NaN (also einen unbestimmten Knoten)
+ if (*L1 == 0x00000000L && *L2 == 0x7FF80000L) Z = NoZ;
+ else Z = psCShape->padfZ[j];
+
+ if (ShapeType == SHPT_ARC || ShapeType == SHPT_POLYGON || Z == NoZ)
{
if (Typ == "DAMM") Z = DammZ;
else if (Typ == "GRABEN") Z = GrabenZ;
Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h 2008-07-29 08:29:39 UTC (rev 110)
+++ trunk/src/wsplgen.h 2008-08-19 10:24:14 UTC (rev 111)
@@ -10,7 +10,7 @@
// Read the file COPYING coming with WSPLGEN for details.
//
-const char Version[] = "1.2.3 rc 2";
+const char Version[] = "1.2.4";
// 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