[Wsplgen-commits] r64 - trunk/src

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Sep 25 22:54:55 CEST 2006


Author: mrchip
Date: 2006-09-25 22:54:55 +0200 (Mon, 25 Sep 2006)
New Revision: 64

Modified:
   trunk/src/Makefile
   trunk/src/file.cpp
   trunk/src/tools.cpp
   trunk/src/wsplgen.h
   trunk/src/xy.cpp
Log:
Ein paar kleine Speicherprobleme behoben und die Endung ASC als Alternative zu GRD akzeptiert.

Modified: trunk/src/Makefile
===================================================================
--- trunk/src/Makefile	2006-09-25 05:44:29 UTC (rev 63)
+++ trunk/src/Makefile	2006-09-25 20:54:55 UTC (rev 64)
@@ -9,22 +9,23 @@
 LDFLAGS=
 LIBS=-lstdc++
 
-PROJECT=wsplgen.exe
-TEST=test.exe
-OBJFILES=tools.o xy.o tri.o parameter.o file.o shape.o quadtree.o
-TESTOBJFILES=test_profil.o test_tools.o test_xy.o test_tri.o test_file.o test_nodes.o test_quadtree.o
+OBJFILES1=tools.o xy.o tri.o parameter.o file.o shape.o quadtree.o
+OBJFILES2=test_profil.o test_tools.o test_xy.o test_tri.o test_file.o test_nodes.o test_quadtree.o
 
 all: ../bin/test.exe ../bin/wsplgen.exe
 
-../bin/test.exe: test.o $(TESTOBJFILES) $(OBJFILES)
-	$(CC) $(LDFLAGS) -o ../bin/test.exe test.o $(TESTOBJFILES) $(OBJFILES) $(LIBS)
+../bin/test.exe: test.o $(OBJFILES1) $(OBJFILES2)
+	$(CC) $(LDFLAGS) -o ../bin/test.exe test.o $(OBJFILES1) $(OBJFILES2) $(LIBS)
 
-../bin/wsplgen.exe: wsplgen.o $(OBJFILES)
-	$(CC) $(LDFLAGS) -o ../bin/wsplgen.exe wsplgen.o $(OBJFILES) $(LIBS)
+../bin/wsplgen.exe: wsplgen.o $(OBJFILES1)
+	$(CC) $(LDFLAGS) -o ../bin/wsplgen.exe wsplgen.o $(OBJFILES1) $(LIBS)
 
 %.o: %.cpp %.h Makefile
 	$(CC) -c $(CPPFLAGS) $*.cpp 
 
+%.o: %.cpp Makefile
+	$(CC) -c $(CPPFLAGS) $*.cpp 
+
 clean:
 	rm -f *.o
 

Modified: trunk/src/file.cpp
===================================================================
--- trunk/src/file.cpp	2006-09-25 05:44:29 UTC (rev 63)
+++ trunk/src/file.cpp	2006-09-25 20:54:55 UTC (rev 64)
@@ -139,7 +139,7 @@
 		LoadDGM2DM(FileName, NodeList, ElementList, BegrenzungsPolygon, DebugLevel);
 		CheckForDuplicates(NodeList, ElementList, DebugLevel);
 	}
-	else if (ToUpperCase(Ext) == ".GRD")
+	else if (ToUpperCase(Ext) == ".GRD" || ToUpperCase(Ext) == ".ASC")
 	{
 		LoadDGMGRD(FileName, NodeList, BegrenzungsPolygon, DebugLevel);
 		CheckForDuplicates(NodeList, ElementList, DebugLevel);
@@ -156,7 +156,7 @@
 	}
 	else
 	{
-		write_error(1222, "Ungültige Dateinamenserweiterung '%s' beim Dateinamen '%s' für den Parameter -DGM\nErlaubt sind nur ADF, GRD, 2DM, XYZ, TXT oder SHP\n", ToUpperCase(Ext).c_str(), FileName.c_str());
+		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());
 	}
 
 	if (BegrenzungsPolygon)
@@ -2597,7 +2597,7 @@
 		if (Count % 10000 == 0) write_fortschritt("Ring %d von %d überprüft\n", Count+1, ErgebnisPolygonList->size());
 	}
 	write_fortschritt("%d Ringe gelöscht\n", DelCount);
-	write_fortschritt("kleinste gelöschte Ringfläche: %.3f\n", MinArea);
+	write_fortschritt("kleinste Ringfläche: %.3f\n", MinArea);
 
 	write_fortschritt("<-Löschen der zu kleinen Ringe beendet\n");
 
@@ -2736,6 +2736,8 @@
 		i = ErgebnisPolygonList->begin();
 	}
 
+	delete ErgebnisPolygonList;
+
 	DBFClose(DBFHandle);
 	SHPClose(SHPHandle);
 

Modified: trunk/src/tools.cpp
===================================================================
--- trunk/src/tools.cpp	2006-09-25 05:44:29 UTC (rev 63)
+++ trunk/src/tools.cpp	2006-09-25 20:54:55 UTC (rev 64)
@@ -371,6 +371,7 @@
 
 	return (MemoryPointer);
 }
+
 //---------------------------------------------------------------------------
 void* SfMalloc(int Size)
 {
@@ -380,6 +381,7 @@
 
 	return (MemoryPointer);
 }
+
 //---------------------------------------------------------------------------
 void* SfCalloc(int Anz, int Size)
 {
@@ -389,6 +391,7 @@
 
 	return (MemoryPointer);
 }
+
 //---------------------------------------------------------------------------
 void    Swap2Bytes(void *Bytes)
 {
@@ -2432,15 +2435,13 @@
 
 					Edge->Node1->Wsp = Edge->Node2->Wsp;
 
-					// Hier jetzt neue potentielle Kante aufnehmen
+					// Hier jetzt neue potentielle Kanten aufnehmen
 					TEdgeIndex *AktEdgeIndex = Edge->Node1->EdgeIndex;
 					while (AktEdgeIndex)
 					{
 						TEdgeIndex *NextEdgeIndex = AktEdgeIndex->NextEdgeIndex;
 
-// Hier war eine ganze Zeit die erste Zeile auskommentiert und die zweite nicht
-						Temp2EdgeList->Add(new TEdge(AktEdgeIndex->Edge));
-//						if (0 == Temp2EdgeList->Find(AktEdgeIndex->Edge)) Temp2EdgeList->Add(AktEdgeIndex->Edge);
+						Temp2EdgeList->Add(AktEdgeIndex->Edge);
 
 						AktEdgeIndex = NextEdgeIndex;
 					}
@@ -2462,9 +2463,7 @@
 					{
 						TEdgeIndex *NextEdgeIndex = AktEdgeIndex->NextEdgeIndex;
 
-// Hier war eine ganze Zeit die erste Zeile auskommentiert und die zweite nicht
-						Temp2EdgeList->Add(new TEdge(AktEdgeIndex->Edge));
-//						if (0 == Temp2EdgeList->Find(AktEdgeIndex->Edge)) Temp2EdgeList->Add(AktEdgeIndex->Edge);
+						Temp2EdgeList->Add(AktEdgeIndex->Edge);
 
 						AktEdgeIndex = NextEdgeIndex;
 					}

Modified: trunk/src/wsplgen.h
===================================================================
--- trunk/src/wsplgen.h	2006-09-25 05:44:29 UTC (rev 63)
+++ trunk/src/wsplgen.h	2006-09-25 20:54:55 UTC (rev 64)
@@ -10,8 +10,17 @@
 // Read the file COPYING coming with WSPLGEN for details.
 //
 
-const char Version[] = "0.9.17 r2";
+const char Version[] = "0.9.17 r3";
 
+// Es wird nun auch die Endung ASC für GRD-Files akzeptiert.
+// Zwei Speicherfehler wurden behoben
+
+// const char Version[] = "0.9.17 r2";
+
+// Die Speicherverwaltung wurde komplett überarbeitet
+// Es wurden diverse Ausgaben hinzugefügt
+// Es wurde eine Funktion zum Erzeugen von Point-Shapes-Files hinzugefügt
+
 // const char Version[] = "0.9.17 r1";
 
 // Ein Fehler bei der Erzeugung von Dämmen und Gräben wurde behoben (entartete Elemente).

Modified: trunk/src/xy.cpp
===================================================================
--- trunk/src/xy.cpp	2006-09-25 05:44:29 UTC (rev 63)
+++ trunk/src/xy.cpp	2006-09-25 20:54:55 UTC (rev 64)
@@ -435,7 +435,7 @@
 
 			Count++;
 
-			if (Count % 100000 == 0)	write_fortschritt("%d Objekte freigegeben\n", Count);
+			if (Count % 100000 == 0)	write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
 		}
 		write_fortschritt("%d Objekte freigegeben\n", Count);
 	}
@@ -886,7 +886,7 @@
 
 			Count++;
 
-			if (Count % 100000 == 0)	write_fortschritt("%d Objekte freigegeben\n", Count);
+			if (Count % 100000 == 0)	write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
 		}
 
 		write_fortschritt("<-Löschen des Knoten/Kanten-Index beendet\n");
@@ -1072,7 +1072,7 @@
 
 			Count++;
 
-			if (Count % 100000 == 0)	write_fortschritt("%d Objekte freigegeben\n", Count);
+			if (Count % 100000 == 0)	write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
 		}
 		write_fortschritt("%d Objekte freigegeben\n", Count);
 	}
@@ -1773,7 +1773,7 @@
 
 			Count++;
 
-			if (Count % 100000 == 0)	write_fortschritt("%d Objekte freigegeben\n", Count);
+			if (Count % 100000 == 0)	write_fortschritt("%d von %d Objekte freigegeben\n", Count, EdgeVector.size());
 		}
 		write_fortschritt("%d Objekte freigegeben\n", Count);
 	}
@@ -2323,7 +2323,7 @@
 
 			Count++;
 
-			if (Count % 10000 == 0)	write_fortschritt("%d Objekte freigegeben\n", Count);
+			if (Count % 10000 == 0)	write_fortschritt("%d von %d Objekte freigegeben\n", Count, size());
 		}
 		write_fortschritt("%d Objekte freigegeben\n", Count);
 	}



More information about the Wsplgen-commits mailing list