From f389ae86de07c4106b88ed7654c05cdc3d8dedf8 Mon Sep 17 00:00:00 2001 From: curt Date: Tue, 27 Jan 1998 18:36:53 +0000 Subject: [PATCH] Lots of updates to get back in sync with changes made over in .../Src/ --- AssemTris/assemtris.c | 147 +++++++++++++++++++++--------------------- SplitTris/splittris.c | 107 +++++++++++++++--------------- Tools/Makefile | 15 +++-- Tools/Todo | 11 +++- Tools/process-dem.pl | 6 +- Tri2obj/tri2obj.c | 143 ++++++++++++++++++++-------------------- 6 files changed, 225 insertions(+), 204 deletions(-) diff --git a/AssemTris/assemtris.c b/AssemTris/assemtris.c index 523d88e4b..3873fb39c 100644 --- a/AssemTris/assemtris.c +++ b/AssemTris/assemtris.c @@ -31,12 +31,12 @@ #include "assemtris.h" -#include "../../Src/Include/constants.h" -#include "../../Src/Include/types.h" -#include "../../Src/Math/fg_geodesy.h" -#include "../../Src/Math/mat3.h" -#include "../../Src/Math/polar.h" -#include "../../Src/Scenery/tileutils.h" +#include +#include +#include +#include +#include +#include int nodecount = 0; @@ -44,9 +44,9 @@ int nodecount = 0; float nodes[MAX_NODES][3]; -struct bucket my_index; -struct bucket ne_index, nw_index, sw_index, se_index; -struct bucket north_index, south_index, east_index, west_index; +struct fgBUCKET my_index; +struct fgBUCKET ne_index, nw_index, sw_index, se_index; +struct fgBUCKET north_index, south_index, east_index, west_index; /* return the file base name ( foo/bar/file.ext = file.ext ) */ @@ -108,26 +108,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { long int index; if ( strcmp(ext, ".sw") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&sw_index, scene_path); - index = gen_index(&sw_index); + fgBucketGenBasePath(&sw_index, scene_path); + index = fgBucketGenIndex(&sw_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -135,26 +135,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".se") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&se_index, scene_path); - index = gen_index(&se_index); + fgBucketGenBasePath(&se_index, scene_path); + index = fgBucketGenIndex(&se_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -162,26 +162,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".ne") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&ne_index, scene_path); - index = gen_index(&ne_index); + fgBucketGenBasePath(&ne_index, scene_path); + index = fgBucketGenIndex(&ne_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -189,26 +189,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".nw") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&nw_index, scene_path); - index = gen_index(&nw_index); + fgBucketGenBasePath(&nw_index, scene_path); + index = fgBucketGenIndex(&nw_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -216,14 +216,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".south") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.south", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.north", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -231,14 +231,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".north") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.north", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.south", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -246,14 +246,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".west") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.west", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.east", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -261,14 +261,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".east") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.east", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.west", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -276,8 +276,8 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".body") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.body", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -421,20 +421,20 @@ int main(int argc, char **argv) { } tmp_index = atoi(temp); printf("%ld\n", tmp_index); - parse_index(tmp_index, &my_index); + fgBucketParseIndex(tmp_index, &my_index); printf("bucket = %d %d %d %d\n", my_index.lon, my_index.lat, my_index.x, my_index.y); /* generate the indexes of the neighbors */ - offset_bucket(&my_index, &ne_index, 1, 1); - offset_bucket(&my_index, &nw_index, -1, 1); - offset_bucket(&my_index, &se_index, 1, -1); - offset_bucket(&my_index, &sw_index, -1, -1); + fgBucketOffset(&my_index, &ne_index, 1, 1); + fgBucketOffset(&my_index, &nw_index, -1, 1); + fgBucketOffset(&my_index, &se_index, 1, -1); + fgBucketOffset(&my_index, &sw_index, -1, -1); - offset_bucket(&my_index, &north_index, 0, 1); - offset_bucket(&my_index, &south_index, 0, -1); - offset_bucket(&my_index, &east_index, 1, 0); - offset_bucket(&my_index, &west_index, -1, 0); + fgBucketOffset(&my_index, &north_index, 0, 1); + fgBucketOffset(&my_index, &south_index, 0, -1); + fgBucketOffset(&my_index, &east_index, 1, 0); + fgBucketOffset(&my_index, &west_index, -1, 0); /* printf("Corner indexes = %ld %ld %ld %ld\n", @@ -454,11 +454,14 @@ int main(int argc, char **argv) { /* $Log$ -/* Revision 1.2 1998/01/15 21:33:36 curt -/* Assembling triangles and building a new .node file with the proper shared -/* vertices now works. Now we just have to use the shared normals and we'll -/* be all set. +/* Revision 1.3 1998/01/27 18:37:00 curt +/* Lots of updates to get back in sync with changes made over in .../Src/ /* + * Revision 1.2 1998/01/15 21:33:36 curt + * Assembling triangles and building a new .node file with the proper shared + * vertices now works. Now we just have to use the shared normals and we'll + * be all set. + * * Revision 1.1 1998/01/15 02:45:26 curt * Initial revision. * diff --git a/SplitTris/splittris.c b/SplitTris/splittris.c index 0ef6f9b9d..827e26746 100644 --- a/SplitTris/splittris.c +++ b/SplitTris/splittris.c @@ -34,12 +34,12 @@ #include "splittris.h" -#include "../../Src/Include/constants.h" -#include "../../Src/Include/types.h" -#include "../../Src/Math/fg_geodesy.h" -#include "../../Src/Math/mat3.h" -#include "../../Src/Math/polar.h" -#include "../../Src/Scenery/tileutils.h" +#include +#include +#include +#include +#include +#include int nodecount, tricount; @@ -51,8 +51,8 @@ int new_tris[MAX_TRIS][3]; struct fgCartesianPoint nodes_cart[MAX_NODES]; -struct bucket ne_index, nw_index, sw_index, se_index; -struct bucket north_index, south_index, east_index, west_index; +struct fgBUCKET ne_index, nw_index, sw_index, se_index; +struct fgBUCKET north_index, south_index, east_index, west_index; /* convert a geodetic point lon(arcsec), lat(arcsec), elev(meter) to * a cartesian point */ @@ -260,20 +260,20 @@ int shared_object_exists(char *basepath, char *ext) { long int index; if ( strcmp(ext, ".sw") == 0 ) { - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&sw_index, scene_path); - index = gen_index(&sw_index); + fgBucketGenBasePath(&sw_index, scene_path); + index = fgBucketGenIndex(&sw_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -281,20 +281,20 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".se") == 0 ) { - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&se_index, scene_path); - index = gen_index(&se_index); + fgBucketGenBasePath(&se_index, scene_path); + index = fgBucketGenIndex(&se_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -302,20 +302,20 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".ne") == 0 ) { - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&ne_index, scene_path); - index = gen_index(&ne_index); + fgBucketGenBasePath(&ne_index, scene_path); + index = fgBucketGenIndex(&ne_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -323,20 +323,20 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".nw") == 0 ) { - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&nw_index, scene_path); - index = gen_index(&nw_index); + fgBucketGenBasePath(&nw_index, scene_path); + index = fgBucketGenIndex(&nw_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -344,8 +344,8 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".south") == 0 ) { - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.north", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -353,8 +353,8 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".north") == 0 ) { - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.south", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -362,8 +362,8 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".west") == 0 ) { - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.east", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -371,8 +371,8 @@ int shared_object_exists(char *basepath, char *ext) { } if ( strcmp(ext, ".east") == 0 ) { - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.west", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -557,7 +557,7 @@ void dump_obj(char *basename, char *basepath) { int main(int argc, char **argv) { char basename[256], basepath[256], temp[256]; - struct bucket p; + struct fgBUCKET p; long int index; int len; @@ -577,19 +577,19 @@ int main(int argc, char **argv) { } index = atoi(temp); printf("%ld\n", index); - parse_index(index, &p); + fgBucketParseIndex(index, &p); printf("bucket = %d %d %d %d\n", p.lon, p.lat, p.x, p.y); /* generate the indexes of the neighbors */ - offset_bucket(&p, &ne_index, 1, 1); - offset_bucket(&p, &nw_index, -1, 1); - offset_bucket(&p, &se_index, 1, -1); - offset_bucket(&p, &sw_index, -1, -1); + fgBucketOffset(&p, &ne_index, 1, 1); + fgBucketOffset(&p, &nw_index, -1, 1); + fgBucketOffset(&p, &se_index, 1, -1); + fgBucketOffset(&p, &sw_index, -1, -1); - offset_bucket(&p, &north_index, 0, 1); - offset_bucket(&p, &south_index, 0, -1); - offset_bucket(&p, &east_index, 1, 0); - offset_bucket(&p, &west_index, -1, 0); + fgBucketOffset(&p, &north_index, 0, 1); + fgBucketOffset(&p, &south_index, 0, -1); + fgBucketOffset(&p, &east_index, 1, 0); + fgBucketOffset(&p, &west_index, -1, 0); /* printf("Corner indexes = %ld %ld %ld %ld\n", @@ -609,9 +609,12 @@ int main(int argc, char **argv) { /* $Log$ -/* Revision 1.2 1998/01/14 15:54:43 curt -/* Initial revision completed. +/* Revision 1.3 1998/01/27 18:37:04 curt +/* Lots of updates to get back in sync with changes made over in .../Src/ /* + * Revision 1.2 1998/01/14 15:54:43 curt + * Initial revision completed. + * * Revision 1.1 1998/01/14 02:11:31 curt * Initial revision. * diff --git a/Tools/Makefile b/Tools/Makefile index d28cea3e5..dd6f7e4dc 100644 --- a/Tools/Makefile +++ b/Tools/Makefile @@ -59,15 +59,15 @@ clean: source-tar: clean (cd ..; \ - tar cvzf demtools-$(VERSION).tar.gz Tools/Makefile Tools/README \ - Tools/TODO Tools/make.inc Tools/AssemTris Tools/Dem2node \ + tar cvzf demtools-$(FG_VERSION).tar.gz Tools/Makefile Tools/README \ + Tools/Todo Tools/make.inc Tools/AssemTris Tools/Dem2node \ Tools/FixNode Tools/FixObj Tools/SplitTris Tools/Stripe_u \ Tools/Tri2obj Tools/Triangle) source-zip: clean (cd ..; \ - zip -r demtools-$(VERSION).zip Tools/Makefile Tools/README \ - Tools/TODO Tools/make.inc Tools/AssemTris Tools/Dem2node \ + zip -r demtools-$(FG_VERSION).zip Tools/Makefile Tools/README \ + Tools/Todo Tools/make.inc Tools/AssemTris Tools/Dem2node \ Tools/FixNode Tools/FixObj Tools/SplitTris Tools/Stripe_u \ Tools/Tri2obj Tools/Triangle) @@ -75,20 +75,23 @@ bin-tar: all echo "need to fix this" # cp GLUT/fg0 GLUT/runfg .. # (cd ../..; \ -# tar cvzf bin-$(VERSION).tar.gz FlightGear/fgtop FlightGear/fg0 \ +# tar cvzf bin-$(FG_VERSION).tar.gz FlightGear/fgtop FlightGear/fg0 \ # FlightGear/runfg FlightGear/COPYING FlightGear/Docs FlightGear/Thanks) bin-zip: echo "need to fix this" # cp GLUT/fg0.exe GLUT/runfg.bat GLUT/cygwin.dll .. # (cd ../..; \ -# zip -r bin-$(VERSION).zip FlightGear/fgtop FlightGear/fg0.exe \ +# zip -r bin-$(FG_VERSION).zip FlightGear/fgtop FlightGear/fg0.exe \ # FlightGear/runfg.bat FlightGear/cygwin.dll FlightGear/COPYING \ # FlightGear/Docs FlightGear/Thanks) #--------------------------------------------------------------------------- # $Log$ +# Revision 1.7 1998/01/27 18:36:53 curt +# Lots of updates to get back in sync with changes made over in .../Src/ +# # Revision 1.6 1998/01/21 02:55:42 curt # Incorporated new make system from Bob Kuehne . # diff --git a/Tools/Todo b/Tools/Todo index d0a8ad198..81f0abad5 100644 --- a/Tools/Todo +++ b/Tools/Todo @@ -9,15 +9,20 @@ 1/14/98 - Reassemble triangles using only body, shared corners, and shared edges. +1/19/98 - Retro-fit tri2obj to use shared normals rather than regenerating + normals for shared vertices. + -------------------------------------------------------------------------- | Todo -------------------------------------------------------------------------- -1/15/98 - Retro-fit tri2obj to use shared normals rather than regenerating - normals for shared vertices. - 1/12/98 - Try reversing cw-wound strips rather than calling glFrontFace() in the display list. +1/21/98 - Generate an elevation quad tree. + 1/12/98 - Generate a face adjacency matrix + +1/21/98 - Remove internal shared edges and corners that are not needed + after an area is generated. diff --git a/Tools/process-dem.pl b/Tools/process-dem.pl index 3d5f000f0..209df364b 100755 --- a/Tools/process-dem.pl +++ b/Tools/process-dem.pl @@ -189,7 +189,7 @@ if ( $do_assemtris ) { foreach $file ( @FILES ) { chop($file); if ( $file =~ m/\.1\.body$/ ) { - $file =~ s/\.body$//; # strip off the ".node" + $file =~ s/\.body$//; # strip off the ".body" $command = "./AssemTris/assemtris $subdir/$file"; print "Running '$command'\n"; @@ -199,6 +199,7 @@ if ( $do_assemtris ) { } close(OUT); } + unlink("$subdir/$file.body"); } } @@ -328,6 +329,9 @@ if ( $do_fixobj ) { #--------------------------------------------------------------------------- # $Log$ +# Revision 1.9 1998/01/27 18:36:54 curt +# Lots of updates to get back in sync with changes made over in .../Src/ +# # Revision 1.8 1998/01/21 17:59:05 curt # Uncomment lines to remove several intermediate files. # diff --git a/Tri2obj/tri2obj.c b/Tri2obj/tri2obj.c index f6b7970b6..ef71af389 100644 --- a/Tri2obj/tri2obj.c +++ b/Tri2obj/tri2obj.c @@ -32,12 +32,12 @@ #include "tri2obj.h" -#include "../../Src/Include/constants.h" -#include "../../Src/Include/types.h" -#include "../../Src/Math/fg_geodesy.h" -#include "../../Src/Math/mat3.h" -#include "../../Src/Math/polar.h" -#include "../../Src/Scenery/tileutils.h" +#include +#include +#include +#include +#include +#include int nodecount, tricount; @@ -48,9 +48,9 @@ int new_tris[MAX_TRIS][3]; float normals[MAX_NODES][3]; -struct bucket my_index; -struct bucket ne_index, nw_index, sw_index, se_index; -struct bucket north_index, south_index, east_index, west_index; +struct fgBUCKET my_index; +struct fgBUCKET ne_index, nw_index, sw_index, se_index; +struct fgBUCKET north_index, south_index, east_index, west_index; /* convert a geodetic point lon(arcsec), lat(arcsec), elev(meter) to * a cartesian point */ @@ -177,26 +177,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { long int index; if ( strcmp(ext, ".sw") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&sw_index, scene_path); - index = gen_index(&sw_index); + fgBucketGenBasePath(&sw_index, scene_path); + index = fgBucketGenIndex(&sw_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -204,26 +204,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".se") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&se_index, scene_path); - index = gen_index(&se_index); + fgBucketGenBasePath(&se_index, scene_path); + index = fgBucketGenIndex(&se_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -231,26 +231,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".ne") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&ne_index, scene_path); - index = gen_index(&ne_index); + fgBucketGenBasePath(&ne_index, scene_path); + index = fgBucketGenIndex(&ne_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -258,26 +258,26 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".nw") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.nw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.ne", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&nw_index, scene_path); - index = gen_index(&nw_index); + fgBucketGenBasePath(&nw_index, scene_path); + index = fgBucketGenIndex(&nw_index); sprintf(file, "%s/%s/%ld.1.se", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.sw", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -285,14 +285,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".south") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.south", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&south_index, scene_path); - index = gen_index(&south_index); + fgBucketGenBasePath(&south_index, scene_path); + index = fgBucketGenIndex(&south_index); sprintf(file, "%s/%s/%ld.1.north", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -300,14 +300,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".north") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.north", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&north_index, scene_path); - index = gen_index(&north_index); + fgBucketGenBasePath(&north_index, scene_path); + index = fgBucketGenIndex(&north_index); sprintf(file, "%s/%s/%ld.1.south", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -315,14 +315,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".west") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.west", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&west_index, scene_path); - index = gen_index(&west_index); + fgBucketGenBasePath(&west_index, scene_path); + index = fgBucketGenIndex(&west_index); sprintf(file, "%s/%s/%ld.1.east", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -330,14 +330,14 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".east") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.east", basepath, scene_path, index); if ( file_exists(file) ) { return(1); } - gen_base_path(&east_index, scene_path); - index = gen_index(&east_index); + fgBucketGenBasePath(&east_index, scene_path); + index = fgBucketGenIndex(&east_index); sprintf(file, "%s/%s/%ld.1.west", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -345,8 +345,8 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } if ( strcmp(ext, ".body") == 0 ) { - gen_base_path(&my_index, scene_path); - index = gen_index(&my_index); + fgBucketGenBasePath(&my_index, scene_path); + index = fgBucketGenIndex(&my_index); sprintf(file, "%s/%s/%ld.1.body", basepath, scene_path, index); if ( file_exists(file) ) { return(1); @@ -612,20 +612,20 @@ int main(int argc, char **argv) { } tmp_index = atoi(temp); printf("%ld\n", tmp_index); - parse_index(tmp_index, &my_index); + fgBucketParseIndex(tmp_index, &my_index); printf("bucket = %d %d %d %d\n", my_index.lon, my_index.lat, my_index.x, my_index.y); /* generate the indexes of the neighbors */ - offset_bucket(&my_index, &ne_index, 1, 1); - offset_bucket(&my_index, &nw_index, -1, 1); - offset_bucket(&my_index, &se_index, 1, -1); - offset_bucket(&my_index, &sw_index, -1, -1); + fgBucketOffset(&my_index, &ne_index, 1, 1); + fgBucketOffset(&my_index, &nw_index, -1, 1); + fgBucketOffset(&my_index, &se_index, 1, -1); + fgBucketOffset(&my_index, &sw_index, -1, -1); - offset_bucket(&my_index, &north_index, 0, 1); - offset_bucket(&my_index, &south_index, 0, -1); - offset_bucket(&my_index, &east_index, 1, 0); - offset_bucket(&my_index, &west_index, -1, 0); + fgBucketOffset(&my_index, &north_index, 0, 1); + fgBucketOffset(&my_index, &south_index, 0, -1); + fgBucketOffset(&my_index, &east_index, 1, 0); + fgBucketOffset(&my_index, &west_index, -1, 0); /* load the input data files */ triload(basename, basepath); @@ -638,9 +638,12 @@ int main(int argc, char **argv) { /* $Log$ -/* Revision 1.8 1998/01/17 01:25:39 curt -/* Added support for shared normals. +/* Revision 1.9 1998/01/27 18:37:04 curt +/* Lots of updates to get back in sync with changes made over in .../Src/ /* + * Revision 1.8 1998/01/17 01:25:39 curt + * Added support for shared normals. + * * Revision 1.7 1998/01/12 02:42:00 curt * Average up to five triangles per vertex instead of three. *