From 216be72f34e64185f6c12560e971c6e08eee7006 Mon Sep 17 00:00:00 2001 From: curt Date: Fri, 25 Sep 1998 19:35:25 +0000 Subject: [PATCH] Renamed assemtris.[ch] to assemtris.[ch]xx --- AssemTris/Makefile.am | 5 +- AssemTris/{assemtris.c => assemtris.cxx} | 241 +++++++++++------------ AssemTris/assemtris.h | 45 ----- AssemTris/assemtris.hxx | 48 +++++ 4 files changed, 172 insertions(+), 167 deletions(-) rename AssemTris/{assemtris.c => assemtris.cxx} (72%) delete mode 100644 AssemTris/assemtris.h create mode 100644 AssemTris/assemtris.hxx diff --git a/AssemTris/Makefile.am b/AssemTris/Makefile.am index f1cb9f24e..2398c9371 100644 --- a/AssemTris/Makefile.am +++ b/AssemTris/Makefile.am @@ -26,7 +26,7 @@ bin_PROGRAMS = assemtris -assemtris_SOURCES = assemtris.c assemtris.h +assemtris_SOURCES = assemtris.cxx assemtris.hxx assemtris_LDADD = \ $(top_builddir)/Lib/Bucket/libBucket.a @@ -36,6 +36,9 @@ INCLUDES += -I$(top_builddir) -I$(top_builddir)/Lib #--------------------------------------------------------------------------- # $Log$ +# Revision 1.4 1998/09/25 19:35:25 curt +# Renamed assemtris.[ch] to assemtris.[ch]xx +# # Revision 1.3 1998/07/30 23:49:23 curt # Removed libtool support. # diff --git a/AssemTris/assemtris.c b/AssemTris/assemtris.cxx similarity index 72% rename from AssemTris/assemtris.c rename to AssemTris/assemtris.cxx index c6e4edeb7..481943f2e 100644 --- a/AssemTris/assemtris.c +++ b/AssemTris/assemtris.cxx @@ -1,33 +1,33 @@ -/* splittris.c -- reassemble the pieces produced by splittris - * - * Written by Curtis Olson, started January 1998. - * - * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * $Id$ - * (Log is kept at end of this file) */ +// assemtris.c -- reassemble the pieces produced by splittris +// +// Written by Curtis Olson, started January 1998. +// +// Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// +// $Id$ +// (Log is kept at end of this file) #include #include -#include /* for atoi() */ +#include // for atoi() #include -#include /* for stat() */ -#include /* for stat() */ +#include // for stat() +#include // for stat() #include "assemtris.h" @@ -36,10 +36,8 @@ #include -/* -#define OFFSET_LON 0.1 -#define OFFSET_LAT 0.1 -*/ +// #define OFFSET_LON 0.1 +// #define OFFSET_LAT 0.1 #define OFFSET_LON 0.0 #define OFFSET_LAT 0.0 @@ -56,7 +54,7 @@ fgBUCKET ne_index, nw_index, sw_index, se_index; fgBUCKET north_index, south_index, east_index, west_index; -/* return the file base name ( foo/bar/file.ext = file.ext ) */ +// return the file base name ( foo/bar/file.ext = file.ext ) void extract_file(char *in, char *base) { int len, i; @@ -72,7 +70,7 @@ void extract_file(char *in, char *base) { } -/* return the file path name ( foo/bar/file.ext = foo/bar ) */ +// return the file path name ( foo/bar/file.ext = foo/bar ) void extract_path(char *in, char *base) { int len, i; @@ -88,7 +86,7 @@ void extract_path(char *in, char *base) { } -/* check to see if specified node is in the extra list */ +// check to see if specified node is in the extra list int is_extra_node(double *n) { int i; @@ -104,10 +102,10 @@ int is_extra_node(double *n) { return(0); } -/* Read all the extra nodes. These typically define inner areas to - exclude from triangulations. There will be a .poly file that - refers to these by position number which assumes all the extra - nodes come first in the generated .node file. */ +// Read all the extra nodes. These typically define inner areas to +// exclude from triangulations. There will be a .poly file that +// refers to these by position number which assumes all the extra +// nodes come first in the generated .node file. void read_extra_nodes(char *exfile) { FILE *fd; int i, junk1, junk2, junk3; @@ -136,7 +134,7 @@ void read_extra_nodes(char *exfile) { } -/* check if a file exists */ +// check if a file exists int file_exists(char *file) { struct stat stat_buf; int result; @@ -146,18 +144,18 @@ int file_exists(char *file) { result = stat(file, &stat_buf); if ( result != 0 ) { - /* stat failed, no file */ + // stat failed, no file printf("not found.\n"); return(0); } else { - /* stat succeeded, file exists */ + // stat succeeded, file exists printf("exists.\n"); return(1); } } -/* check to see if a shared object exists */ +// check to see if a shared object exists int shared_object_exists(char *basepath, char *ext, char *file) { char scene_path[256]; long int index; @@ -343,32 +341,32 @@ int shared_object_exists(char *basepath, char *ext, char *file) { } -/* my custom file opening routine ... don't open if a shared edge or - * vertex alread exists */ +// my custom file opening routine ... don't open if a shared edge or +// vertex alread exists FILE *my_open(char *basename, char *basepath, char *ext) { FILE *fp; char filename[256]; - /* check if a shared object already exists */ + // check if a shared object already exists if ( shared_object_exists(basepath, ext, filename) ) { - /* not an actual file open error, but we've already got the - * shared edge, so we don't want to create another one */ + // not an actual file open error, but we've already got the + // shared edge, so we don't want to create another one fp = fopen(filename, "r"); printf("Opening %s\n", filename); return(fp); } else { - /* open the file */ + // open the file printf("not opening\n"); return(NULL); } } -/* given a file pointer, read all the gdn (geodetic nodes from it.) - The specified offset values (in arcsec) are used to overlap the - edges of the tile slightly to cover gaps induced by floating point - precision problems. 1 arcsec == about 100 feet so 0.01 arcsec == - about 1 foot */ +// given a file pointer, read all the gdn (geodetic nodes from it.) +// The specified offset values (in arcsec) are used to overlap the +// edges of the tile slightly to cover gaps induced by floating point +// precision problems. 1 arcsec == about 100 feet so 0.01 arcsec == +// about 1 foot void read_nodes(FILE *fp, double offset_lon, double offset_lat) { double n[3]; char line[256]; @@ -388,11 +386,10 @@ void read_nodes(FILE *fp, double offset_lon, double offset_lat) { nodes[nodecount][1] = n[1] + offset_lat; nodes[nodecount][2] = n[2]; - /* - printf("read_nodes(%d) %.2f %.2f %.2f %s", nodecount, - nodes[nodecount][0], nodes[nodecount][1], - nodes[nodecount][2], line); - */ + // printf("read_nodes(%d) %.2f %.2f %.2f %s", nodecount, + // nodes[nodecount][0], nodes[nodecount][1], + // nodes[nodecount][2], line); + nodecount++; } else { @@ -406,8 +403,8 @@ void read_nodes(FILE *fp, double offset_lon, double offset_lat) { } -/* load in nodes from the various split and shared pieces to - * reconstruct a tile */ +// load in nodes from the various split and shared pieces to +// reconstruct a tile void build_node_list(char *basename, char *basepath) { char exfile[256]; FILE *ne, *nw, *se, *sw, *north, *south, *east, *west, *body; @@ -455,19 +452,19 @@ void build_node_list(char *basename, char *basepath) { } -/* dump in WaveFront .obj format */ +// dump in WaveFront .obj format void dump_nodes(char *basename) { char file[256]; FILE *fd; int i; - /* generate output file name */ + // generate output file name strcpy(file, basename); // len = strlen(file); // file[len-2] = '\0'; strcat(file, ".node"); - /* dump vertices */ + // dump vertices printf("Creating node file: %s\n", file); printf(" writing vertices in .node format.\n"); fd = fopen(file, "w"); @@ -480,7 +477,7 @@ void dump_nodes(char *basename) { i, exnodes[i][0], exnodes[i][1], exnodes[i][2]); } - /* now write out actual node data */ + // now write out actual node data for ( i = 0; i < nodecount; i++ ) { fprintf(fd, "%d %.2f %.2f %.2f 0\n", excount + i + 1, nodes[i][0], nodes[i][1], nodes[i][2]); @@ -499,13 +496,13 @@ int main(int argc, char **argv) { strcpy(basename, argv[1]); len = strlen(basename); - /* find the base path of the file */ + // find the base path of the file extract_path(basename, basepath); extract_path(basepath, basepath); extract_path(basepath, basepath); printf("%s\n", basepath); - /* find the index of the current file */ + // find the index of the current file extract_file(basename, temp); // len = strlen(temp); // if ( len >= 2 ) { @@ -517,7 +514,7 @@ int main(int argc, char **argv) { 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 */ + // generate the indexes of the neighbors fgBucketOffset(&my_index, &ne_index, 1, 1); fgBucketOffset(&my_index, &nw_index, -1, 1); fgBucketOffset(&my_index, &se_index, 1, -1); @@ -528,68 +525,70 @@ int main(int argc, char **argv) { fgBucketOffset(&my_index, &east_index, 1, 0); fgBucketOffset(&my_index, &west_index, -1, 0); - /* - printf("Corner indexes = %ld %ld %ld %ld\n", - ne_index, nw_index, sw_index, se_index); - printf("Edge indexes = %ld %ld %ld %ld\n", - north_index, south_index, east_index, west_index); - */ + // printf("Corner indexes = %ld %ld %ld %ld\n", + // ne_index, nw_index, sw_index, se_index); + // printf("Edge indexes = %ld %ld %ld %ld\n", + // north_index, south_index, east_index, west_index); + - /* load the input data files */ + // load the input data files build_node_list(basename, basepath); - /* dump in WaveFront .obj format */ + // dump in WaveFront .obj format dump_nodes(basename); return(0); } -/* $Log$ -/* Revision 1.13 1998/09/21 20:56:30 curt -/* Changes to avoid setting airport area nodes back to their original -/* elevations if they have been changed. -/* - * - * Revision 1.12 1998/09/09 16:24:51 curt - * Fixed a bug in the handling of exclude files which was causing - * a crash by calling fclose() on an invalid file handle. - * Removed overlapping offsets. - * - * Revision 1.11 1998/08/06 12:47:59 curt - * Removed overlap in tiles as a test. - * - * Revision 1.10 1998/07/21 04:34:20 curt - * Mods to handle extra nodes (i.e. preserve cutouts). - * - * Revision 1.9 1998/07/04 00:55:39 curt - * typedef'd struct fgBUCKET. - * - * Revision 1.8 1998/06/01 17:58:19 curt - * Added a slight border overlap to try to minimize pixel wide gaps between - * tiles due to round off error. This is not a perfect solution, but helps. - * - * Revision 1.7 1998/04/14 02:26:00 curt - * Code reorganizations. Added a Lib/ directory for more general libraries. - * - * Revision 1.6 1998/04/08 22:54:58 curt - * Adopted Gnu automake/autoconf system. - * - * Revision 1.5 1998/03/03 16:00:52 curt - * More c++ compile tweaks. - * - * Revision 1.4 1998/01/31 00:41:23 curt - * Made a few changes converting floats to doubles. - * - * 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. - * - */ +// $Log$ +// Revision 1.1 1998/09/25 19:35:29 curt +// Renamed assemtris.[ch] to assemtris.[ch]xx +// +// Revision 1.13 1998/09/21 20:56:30 curt +// Changes to avoid setting airport area nodes back to their original +// elevations if they have been changed. +// +// +// Revision 1.12 1998/09/09 16:24:51 curt +// Fixed a bug in the handling of exclude files which was causing +// a crash by calling fclose() on an invalid file handle. +// Removed overlapping offsets. +// +// Revision 1.11 1998/08/06 12:47:59 curt +// Removed overlap in tiles as a test. +// +// Revision 1.10 1998/07/21 04:34:20 curt +// Mods to handle extra nodes (i.e. preserve cutouts). +// +// Revision 1.9 1998/07/04 00:55:39 curt +// typedef'd struct fgBUCKET. +// +// Revision 1.8 1998/06/01 17:58:19 curt +// Added a slight border overlap to try to minimize pixel wide gaps between +// tiles due to round off error. This is not a perfect solution, but helps. +// +// Revision 1.7 1998/04/14 02:26:00 curt +// Code reorganizations. Added a Lib/ directory for more general libraries. +// +// Revision 1.6 1998/04/08 22:54:58 curt +// Adopted Gnu automake/autoconf system. +// +// Revision 1.5 1998/03/03 16:00:52 curt +// More c++ compile tweaks. +// +// Revision 1.4 1998/01/31 00:41:23 curt +// Made a few changes converting floats to doubles. +// +// 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/AssemTris/assemtris.h b/AssemTris/assemtris.h deleted file mode 100644 index 44900c4c7..000000000 --- a/AssemTris/assemtris.h +++ /dev/null @@ -1,45 +0,0 @@ -/* splittris.h -- reassemble the pieces produced by splittris - * - * Written by Curtis Olson, started January 1998. - * - * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * $Id$ - * (Log is kept at end of this file) - */ - - -#ifndef ASSEMTRIS_H -#define ASSEMTRIS_H - - -#include -#include - - -#define MAX_NODES 200000 -#define MAX_TRIS 400000 - - -#endif /* SPLITTRIS_H */ - - -/* $Log$ -/* Revision 1.1 1998/01/15 02:45:26 curt -/* Initial revision. -/* - */ diff --git a/AssemTris/assemtris.hxx b/AssemTris/assemtris.hxx new file mode 100644 index 000000000..ad22792a0 --- /dev/null +++ b/AssemTris/assemtris.hxx @@ -0,0 +1,48 @@ +// splittris.h -- reassemble the pieces produced by splittris +// +// Written by Curtis Olson, started January 1998. +// +// Copyright (C) 1997 Curtis L. Olson - curt@me.umn.edu +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +// +// $Id$ +// (Log is kept at end of this file) + + + +#ifndef ASSEMTRIS_H +#define ASSEMTRIS_H + + +#include +#include + + +#define MAX_NODES 200000 +#define MAX_TRIS 400000 + + +#endif // SPLITTRIS_H + + +// $Log$ +// Revision 1.1 1998/09/25 19:35:31 curt +// Renamed assemtris.[ch] to assemtris.[ch]xx +// +// Revision 1.1 1998/01/15 02:45:26 curt +// Initial revision. +// + -- 2.39.5