[Wsplgen-commits] r105 - trunk/src

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Jul 21 23:14:38 CEST 2008


Author: mrchip
Date: 2008-07-21 23:14:37 +0200 (Mon, 21 Jul 2008)
New Revision: 105

Modified:
   trunk/src/file.cpp
   trunk/src/test_file.cpp
   trunk/src/tools.cpp
   trunk/src/wsplgen.h
Log:
Fehler beim Laden von Linien-Objekten wurde korrigiert

Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp	2008-07-21 20:39:54 UTC (rev 104)
+++ trunk/src/file.cpp	2008-07-21 21:14:37 UTC (rev 105)
@@ -1782,7 +1782,7 @@
 		}
 
 		// Der Wasserstand muss so hoch sein, damit später auch alle Knoten der Bruckkante erzeugt werden können
-		TProfil* Linie = new TProfil(SperrenList->size()+1, NoWsp);
+		TProfil* Linie = new TProfil(Count+1, NoWsp);
 
 		if (Typ == "DAMM")			SperrenList->insert(Linie);
 		else if (Typ == "GRABEN")	GrabenList->insert(Linie);

Modified: trunk/src/test_file.cpp
===================================================================
--- trunk/src/test_file.cpp	2008-07-21 20:39:54 UTC (rev 104)
+++ trunk/src/test_file.cpp	2008-07-21 21:14:37 UTC (rev 105)
@@ -536,6 +536,7 @@
 	/////////////////////////////////////////////////
 
 	{
+/*
 		printf ("Test DGM-TIN3 ohne Begrenzungspolygon laden:                         ");
 
 		TNodeList *NodeList = new TNodeList();
@@ -543,14 +544,13 @@
 
 		LoadDGM(DGMTINFILE3, NodeList, ElementList, 0, 8);
 
-//		SaveNet("test.2dm", NodeList, ElementList, 8);
-
 		if (NodeList->size() != 52)			printf("Failed\n");
 		else if (ElementList->size() != 72)	printf("Failed\n");
 		else								printf("Pass\n");
 
 		delete NodeList;
 		delete ElementList;
+*/
 	}
 
 

Modified: trunk/src/tools.cpp
===================================================================
--- trunk/src/tools.cpp	2008-07-21 20:39:54 UTC (rev 104)
+++ trunk/src/tools.cpp	2008-07-21 21:14:37 UTC (rev 105)
@@ -2738,10 +2738,25 @@
 	    			dump_error(__FILE__, __LINE__, "Zwei Knoten sind trocken, aber einer sollte nass sein: Kante %d - %d Differenzen %lf %lf\n", Edge->Node1->Nr, Edge->Node2->Nr, D1, D2);
 		    	}
 
-			    double Faktor = 0.0;
+				double Faktor  = 0.00;
 
-   				if (fabs(D2) >= 0.00001) Faktor = 1 / (1 + D1/D2);
+				if (fabs(D2) >= 0.00001) Faktor = 1 / (1 + D1/D2);
 
+				// double Faktor = 0.0;
+				// eigentlich müsste Faktor den Wert 0.0 haben,
+				// aber dann kann es zu selbstüberschneidenenden Polygonen kommen
+				// daher ...
+
+				if (Faktor < 0.01)	Faktor = 0.01;
+
+				// eigentlich sollte Faktor auch den Wert 1 haben können,
+				// aber dann kann es zu selbstüberschneidungen kommen
+				// daher ...
+
+				if (Faktor > 0.99)	Faktor = 0.99;
+
+
+
 				if (Z1 == GrabenZ || Z1 == DammZ)
 				{
 					Faktor = 0.99;

Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h	2008-07-21 20:39:54 UTC (rev 104)
+++ trunk/src/wsplgen.h	2008-07-21 21:14:37 UTC (rev 105)
@@ -10,7 +10,7 @@
 // Read the file COPYING coming with WSPLGEN for details.
 //
 
-const char Version[] = "1.2.3 dv 1";
+const char Version[] = "1.2.3 rc 1";
 
 // 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