]> git.mxchange.org Git - flightgear.git/blobdiff - FixNode/fixnode.c
Restructured to split 1deg x 1deg dem's into 64 subsections.
[flightgear.git] / FixNode / fixnode.c
index 274e5627ccb31278e9e68c146d9d71fe63ca143a..8c3aee33a1b5d0d350b84ae6300f7854e4657952 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <stdio.h>
 #include <string.h>
+#include <unistd.h>
 
 #include "fixnode.h"
 #include "../Dem2node/mesh.h"
 
 
 /* load the node information */
-void fixnodes(struct MESH *m) {
+void fixnodes(char *filename, struct MESH *m) {
+    char toname[256];
+    FILE *fd;
     int i;
 
-    for ( i = origcount + 1; i <= nodecount; i++ ) {
-       printf("Current: %d %.2f %.2f %.2f\n", i, nodes[i][0],
-              nodes[i][1], nodes[i][2]);
+    printf("Fixing up node elevations\n");
+
+    /* we could just fix the new nodes as the first "for" statement
+     * would do, but that leads to funny results (I need to figure out
+     * why.)  So, let's try fixing all of them */
+
+    /* for ( i = origcount + 1; i <= nodecount; i++ ) { */
+    for ( i = 1; i <= nodecount; i++ ) {
+       /* printf("Current: %d %.2f %.2f %.2f\n", i, nodes[i][0],
+              nodes[i][1], nodes[i][2]); */
 
        nodes[i][2] = mesh_altitude(m, nodes[i][0], nodes[i][1]);
 
-       printf("Fixed: %d %.2f %.2f %.2f\n", i, nodes[i][0],
+       /* printf("Fixed: %d %.2f %.2f %.2f\n", i, nodes[i][0],
+              nodes[i][1], nodes[i][2]); */
+    }
+
+
+    sprintf(toname, "%s.orig", filename);
+    printf("Moving %s to %s\n", filename, toname);
+    rename(filename, toname);
+
+    printf("Saving new node file: %s\n", filename);
+
+    fd = fopen(filename, "w");
+
+    fprintf(fd, "%d 2 1 0\n", nodecount);
+
+    for ( i = 1; i <= nodecount; i++ ) {
+       fprintf(fd, "%d %.2f %.2f %.2f 0\n", i, nodes[i][0],
               nodes[i][1], nodes[i][2]);
     }
+
+    fclose(fd);
 }
 
 
 /* $Log$
-/* Revision 1.1  1997/11/27 00:17:33  curt
-/* Initial revision.
+/* Revision 1.3  1998/01/09 23:03:08  curt
+/* Restructured to split 1deg x 1deg dem's into 64 subsections.
 /*
+ * Revision 1.2  1997/12/02 13:12:07  curt
+ * Updated to fix every node.
+ *
+ * Revision 1.1  1997/11/27 00:17:33  curt
+ * Initial revision.
+ *
  */