]> git.mxchange.org Git - flightgear.git/blob - FixNode/triload.cxx
6852f643d9565496ac29e846e0497a14a3b98c66
[flightgear.git] / FixNode / triload.cxx
1 // triload.cxx -- read in a .node file and fix the z values of the 
2 //                interpolated points
3 //
4 // Written by Curtis Olson, started November 1997.
5 //
6 // Copyright (C) 1997 - 1998  Curtis L. Olson  - curt@me.umn.edu
7 //
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the Free Software
20 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 //
22 // $Id$
23 // (Log is kept at end of this file)
24
25
26 #include <stdio.h>
27 #include <string.h>
28
29 #ifdef HAVE_STDLIB_H
30 #  include <stdlib.h>
31 #endif // HAVE_STDLIB_H
32
33 #include "triload.hxx"
34
35
36 int nodecount;
37
38
39 // load the node information
40 void triload(char *filename, double nodes[MAX_NODES][3]) {
41     FILE *node;
42     int dim, junk1, junk2;
43     int i;
44
45     printf("Loading node file:  %s ...\n", filename);
46     if ( (node = fopen(filename, "r")) == NULL ) {
47         printf("Cannot open file '%s'\n", filename);
48         exit(-1);
49     }
50
51     fscanf(node, "%d %d %d %d", &nodecount, &dim, &junk1, &junk2);
52
53     if ( nodecount > MAX_NODES - 1 ) {
54         printf("Error, too many nodes, need to increase array size\n");
55         exit(-1);
56     } else {
57         printf("    Expecting %d nodes\n", nodecount);
58     }
59
60     for ( i = 1; i <= nodecount; i++ ) {
61         fscanf(node, "%d %lf %lf %lf %d\n", &junk1, 
62                &nodes[i][0], &nodes[i][1], &nodes[i][2], &junk2);
63         // printf("%d %.2f %.2f %.2f\n", junk1, nodes[i][0], nodes[i][1], 
64         // nodes[i][2]);
65     }
66
67     fclose(node);
68 }
69
70
71 // $Log$
72 // Revision 1.2  1998/04/26 05:02:06  curt
73 // Added #ifdef HAVE_STDLIB_H
74 //
75 // Revision 1.1  1998/04/08 23:05:58  curt
76 // Adopted Gnu automake/autoconf system.
77 //
78 // Revision 1.3  1998/03/03 16:00:59  curt
79 // More c++ compile tweaks.
80 //
81 // Revision 1.2  1998/01/09 23:03:09  curt
82 // Restructured to split 1deg x 1deg dem's into 64 subsections.
83 //
84 // Revision 1.1  1997/11/27 00:17:35  curt
85 // Initial revision.
86 //