]> git.mxchange.org Git - flightgear.git/blob - FixNode/triload.c
2d6d670d7cbd1959196a99db20b0bd89dfc6b4f3
[flightgear.git] / FixNode / triload.c
1 /* triload.c -- read in a .node file and fix the z values of the interpolated 
2  *              points
3  *
4  * Written by Curtis Olson, started November 1997.
5  *
6  * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
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
27 #include <stdio.h>
28 #include <string.h>
29
30 #include "triload.h"
31
32
33 int origcount;
34 int nodecount;
35 double nodes[MAX_NODES][3];
36
37
38 /* load the node information */
39 void triload(char *basename) {
40     char origname[256], nodename[256];
41     FILE *orig, *node;
42     int dim, junk1, junk2;
43     int i;
44
45     strcpy(origname, basename);
46     strcat(origname, ".node");
47
48     strcpy(nodename, basename);
49     strcat(nodename, ".1.node");
50
51     /* open original node file to see number of original nodes */
52
53     printf("Checking original node file:  %s ...\n", origname);
54     if ( (orig = fopen(origname, "r")) == NULL ) {
55         printf("Cannot open file '%s'\n", origname);
56         exit(-1);
57     }
58     fscanf(orig, "%d %d %d %d", &origcount, &dim, &junk1, &junk2);
59     printf("    Found %d nodes\n", origcount);
60
61     printf("Loading node file:  %s ...\n", nodename);
62     if ( (node = fopen(nodename, "r")) == NULL ) {
63         printf("Cannot open file '%s'\n", nodename);
64         exit(-1);
65     }
66
67     fscanf(node, "%d %d %d %d", &nodecount, &dim, &junk1, &junk2);
68
69     if ( nodecount > MAX_NODES - 1 ) {
70         printf("Error, too many nodes, need to increase array size\n");
71         exit(-1);
72     } else {
73         printf("    Expecting %d nodes\n", nodecount);
74     }
75
76     for ( i = 1; i <= nodecount; i++ ) {
77         fscanf(node, "%d %lf %lf %lf %d\n", &junk1, 
78                &nodes[i][0], &nodes[i][1], &nodes[i][2], &junk2);
79         /* printf("%d %.2f %.2f %.2f\n", junk1, nodes[i][0], nodes[i][1], 
80            nodes[i][2]); */
81     }
82
83     fclose(node);
84 }
85
86
87 /* $Log$
88 /* Revision 1.1  1997/11/27 00:17:35  curt
89 /* Initial revision.
90 /*
91  */