From: curt Date: Tue, 4 May 1999 20:53:08 +0000 (+0000) Subject: Basic tile edge matching now seems to be working. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=39c2919f5af789e815828c0945d8e894acaee2ba;p=flightgear.git Basic tile edge matching now seems to be working. --- diff --git a/Tools/Construct/Main/main.cxx b/Tools/Construct/Main/main.cxx index 1041b99b1..2b8ad4296 100644 --- a/Tools/Construct/Main/main.cxx +++ b/Tools/Construct/Main/main.cxx @@ -454,10 +454,10 @@ main(int argc, char **argv) { c.set_min_nodes( 50 ); c.set_max_nodes( (int)(FG_MAX_NODES * 0.8) ); - // lon = -146.248360; lat = 61.133950; // PAVD (Valdez, AK) + lon = -146.248360; lat = 61.133950; // PAVD (Valdez, AK) // lon = -110.664244; lat = 33.352890; // P13 // lon = -93.211389; lat = 45.145000; // KANE - lon = -92.486188; lat = 44.590190; // KRGK + // lon = -92.486188; lat = 44.590190; // KRGK // lon = -89.7446823; lat= 29.314495; // lon = -122.488090; lat = 42.743183; // 64S // lon = -114.861097; lat = 35.947480; // 61B @@ -472,10 +472,12 @@ main(int argc, char **argv) { // lon = -121.914; lat = 42.5655; // TEST (Oregon SW of Crater) // lon = -76.201239; lat = 36.894606; // KORF (Norfolk, Virginia) - double min_x = lon - 3; - double min_y = lat - 1; + double xdist = 3.0; + double ydist = 1.0; + double min_x = lon - xdist; + double min_y = lat - ydist; FGBucket b_min( min_x, min_y ); - FGBucket b_max( lon + 3, lat + 1 ); + FGBucket b_max( lon + xdist, lat + ydist ); FGBucket b_start(566777L); bool do_tile = true; diff --git a/Tools/Construct/Match/match.cxx b/Tools/Construct/Match/match.cxx index ee31af374..47dff929c 100644 --- a/Tools/Construct/Match/match.cxx +++ b/Tools/Construct/Match/match.cxx @@ -45,11 +45,11 @@ void FGMatch::scan_share_file( const string& dir, const FGBucket& b, neighbor_type search, neighbor_type dest ) { string file = dir + "/" + b.gen_base_path() + "/" + b.gen_index_str(); - cout << "reading shared data from " << file << endl; + // cout << "reading shared data from " << file << endl; fg_gzifstream in( file ); if ( !in.is_open() ) { - cout << "Cannot open file: " << file << endl; + // cout << "Cannot open file: " << file << endl; return; } @@ -78,7 +78,7 @@ void FGMatch::scan_share_file( const string& dir, const FGBucket& b, in >> key; in >> node; if ( key == target ) { - cout << key << " " << node << endl; + // cout << key << " " << node << endl; in >> key; in >> normal; @@ -140,6 +140,7 @@ void FGMatch::load_shared( const FGConstruct& c, neighbor_type n ) { FGBucket cb; if ( n == SW_Corner ) { + // cout << "searching for SW corner data" << endl; cb = fgBucketOffset(clon, clat, -1, 0); scan_share_file( base, cb, SE_Corner, n ); cb = fgBucketOffset(clon, clat, -1, -1); @@ -147,6 +148,7 @@ void FGMatch::load_shared( const FGConstruct& c, neighbor_type n ) { cb = fgBucketOffset(clon, clat, 0, -1); scan_share_file( base, cb, NW_Corner, n ); } else if ( n == SE_Corner ) { + // cout << "searching for SE corner data" << endl; cb = fgBucketOffset(clon, clat, 0, -1); scan_share_file( base, cb, NE_Corner, n ); cb = fgBucketOffset(clon, clat, 1, -1); @@ -154,6 +156,7 @@ void FGMatch::load_shared( const FGConstruct& c, neighbor_type n ) { cb = fgBucketOffset(clon, clat, 1, 0); scan_share_file( base, cb, SW_Corner, n ); } else if ( n == NE_Corner ) { + // cout << "searching for NE corner data" << endl; cb = fgBucketOffset(clon, clat, 1, 0); scan_share_file( base, cb, NW_Corner, n ); cb = fgBucketOffset(clon, clat, 1, 1); @@ -161,6 +164,7 @@ void FGMatch::load_shared( const FGConstruct& c, neighbor_type n ) { cb = fgBucketOffset(clon, clat, 0, 1); scan_share_file( base, cb, SE_Corner, n ); } else if ( n == NW_Corner ) { + // cout << "searching for NW corner data" << endl; cb = fgBucketOffset(clon, clat, 0, 1); scan_share_file( base, cb, SW_Corner, n ); cb = fgBucketOffset(clon, clat, -1, 1); @@ -168,15 +172,19 @@ void FGMatch::load_shared( const FGConstruct& c, neighbor_type n ) { cb = fgBucketOffset(clon, clat, -1, 0); scan_share_file( base, cb, NE_Corner, n ); } else if ( n == NORTH ) { + // cout << "searching for NORTH edge data" << endl; cb = fgBucketOffset(clon, clat, 0, 1); scan_share_file( base, cb, SOUTH, n ); } else if ( n == SOUTH ) { + // cout << "searching for SOUTH edge data" << endl; cb = fgBucketOffset(clon, clat, 0, -1); scan_share_file( base, cb, NORTH, n ); } else if ( n == EAST ) { + // cout << "searching for EAST edge data" << endl; cb = fgBucketOffset(clon, clat, 1, 0); scan_share_file( base, cb, WEST, n ); } else if ( n == WEST ) { + // cout << "searching for WEST edge data" << endl; cb = fgBucketOffset(clon, clat, -1, 0); scan_share_file( base, cb, EAST, n ); } @@ -197,6 +205,11 @@ void FGMatch::load_neighbor_shared( FGConstruct& c ) { load_shared( c, NE_Corner ); load_shared( c, NW_Corner ); + north_nodes.clear(); + south_nodes.clear(); + east_nodes.clear(); + west_nodes.clear(); + load_shared( c, NORTH ); load_shared( c, SOUTH ); load_shared( c, EAST ); @@ -222,10 +235,6 @@ void FGMatch::split_tile( FGConstruct& c ) { // separate nodes and normals into components - north_nodes.clear(); - south_nodes.clear(); - east_nodes.clear(); - west_nodes.clear(); body_nodes.clear(); point_list nodes = c.get_geod_nodes(); @@ -337,6 +346,7 @@ void FGMatch::write_shared( FGConstruct& c ) { system(command.c_str()); +#if 0 cout << "FLAGS" << endl; cout << "=====" << endl; cout << "sw_flag = " << sw_flag << endl; @@ -347,6 +357,7 @@ void FGMatch::write_shared( FGConstruct& c ) { cout << "south_flag = " << south_flag << endl; cout << "east_flag = " << east_flag << endl; cout << "west_flag = " << west_flag << endl; +#endif FILE *fp; if ( (fp = fopen( file.c_str(), "w" )) == NULL ) { @@ -539,7 +550,9 @@ void FGMatch::assemble_tile( FGConstruct& c ) { insert_normal( new_normals, east_normals[i], index ); } + // cout << "Total west nodes = " << west_nodes.size() << endl; for ( int i = 0; i < (int)west_nodes.size(); ++i ) { + // cout << "adding west node " << west_nodes[i] << endl; index = new_nodes.unique_add( west_nodes[i] ); insert_normal( new_normals, west_normals[i], index ); }