diff --git a/src/BuildTiles/Main/construct.cxx b/src/BuildTiles/Main/construct.cxx index a5eadfa4..bc35beb2 100644 --- a/src/BuildTiles/Main/construct.cxx +++ b/src/BuildTiles/Main/construct.cxx @@ -1734,9 +1734,9 @@ void TGConstruct::CalcPointNormals( void ) void TGConstruct::LoadSharedEdgeData( void ) { - match.load_neighbor_shared( bucket, work_base ); + match.load_neighbor_shared( bucket, share_base ); if ( useOwnSharedEdges ) { - match.load_missing_shared( bucket, work_base ); + match.load_missing_shared( bucket, share_base ); } match.add_shared_nodes( this ); } @@ -1749,7 +1749,7 @@ void TGConstruct::SaveSharedEdgeData( void ) if ( writeSharedEdges ) { SG_LOG(SG_GENERAL, SG_ALERT, "write shared edges"); - match.write_shared( bucket, work_base ); + match.write_shared( bucket, share_base ); } } diff --git a/src/BuildTiles/Main/construct.hxx b/src/BuildTiles/Main/construct.hxx index 42ac1eb8..92edb783 100644 --- a/src/BuildTiles/Main/construct.hxx +++ b/src/BuildTiles/Main/construct.hxx @@ -245,6 +245,7 @@ private: // paths std::string work_base; std::string output_base; + std::string share_base; std::vector<std::string> load_dirs; @@ -383,6 +384,8 @@ public: inline void set_work_base( const std::string s ) { work_base = s; } inline std::string get_output_base() const { return output_base; } inline void set_output_base( const std::string s ) { output_base = s; } + inline std::string get_share_base() const { return share_base; } + inline void set_share_base( const std::string s ) { share_base = s; } inline void set_load_dirs( const std::vector<std::string> ld ) { load_dirs = ld; } // UK grid flag diff --git a/src/BuildTiles/Main/main.cxx b/src/BuildTiles/Main/main.cxx index c4c2121c..4eec3148 100644 --- a/src/BuildTiles/Main/main.cxx +++ b/src/BuildTiles/Main/main.cxx @@ -156,6 +156,7 @@ static void usage( const string name ) { int main(int argc, char **argv) { string output_dir = "."; string work_dir = "."; + string share_dir = ""; string cover = ""; string priorities_file = DEFAULT_PRIORITIES_FILE; string usgs_map_file = DEFAULT_USGS_MAPFILE; @@ -198,6 +199,8 @@ int main(int argc, char **argv) { output_dir = arg.substr(13); } else if (arg.find("--work-dir=") == 0) { work_dir = arg.substr(11); + } else if (arg.find("--share-dir=") == 0) { + share_dir = arg.substr(12); } else if (arg.find("--tile-id=") == 0) { tile_id = atol(arg.substr(10).c_str()); } else if (arg.find("--lon=") == 0) { @@ -235,8 +238,13 @@ int main(int argc, char **argv) { } } + if ( share_dir == "" ) { + share_dir = work_dir + "/Shared"; + } + SG_LOG(SG_GENERAL, SG_ALERT, "Output directory is " << output_dir); SG_LOG(SG_GENERAL, SG_ALERT, "Working directory is " << work_dir); + SG_LOG(SG_GENERAL, SG_ALERT, "Shared directory is " << share_dir); if ( tile_id > 0 ) { SG_LOG(SG_GENERAL, SG_ALERT, "Tile id is " << tile_id); } else { @@ -274,6 +282,7 @@ int main(int argc, char **argv) { c->set_cover( cover ); c->set_work_base( work_dir ); c->set_output_base( output_dir ); + c->set_share_base( share_dir ); c->set_load_dirs( load_dirs ); c->set_useUKGrid( useUKgrid ); c->set_write_shared_edges( writeSharedEdges ); @@ -302,6 +311,7 @@ int main(int argc, char **argv) { c->set_cover( cover ); c->set_work_base( work_dir ); c->set_output_base( output_dir ); + c->set_share_base( share_dir ); c->set_load_dirs( load_dirs ); c->set_useUKGrid( useUKgrid ); c->set_write_shared_edges( writeSharedEdges ); @@ -335,6 +345,7 @@ int main(int argc, char **argv) { c->set_cover( cover ); c->set_work_base( work_dir ); c->set_output_base( output_dir ); + c->set_share_base( share_dir ); c->set_load_dirs( load_dirs ); c->set_useUKGrid( useUKgrid ); c->set_write_shared_edges( writeSharedEdges ); @@ -363,6 +374,7 @@ int main(int argc, char **argv) { c->set_cover( cover ); c->set_work_base( work_dir ); c->set_output_base( output_dir ); + c->set_share_base( share_dir ); c->set_load_dirs( load_dirs ); c->set_useUKGrid( useUKgrid ); c->set_write_shared_edges( writeSharedEdges ); diff --git a/src/BuildTiles/Match/match.cxx b/src/BuildTiles/Match/match.cxx index 51ca6893..07db42f3 100644 --- a/src/BuildTiles/Match/match.cxx +++ b/src/BuildTiles/Match/match.cxx @@ -202,10 +202,10 @@ void TGMatch::load_shared( SGBucket b, string base, neighbor_type n ) { // load any previously existing shared data from all neighbors (if // shared data for a component exists set that components flag to true -void TGMatch::load_neighbor_shared( SGBucket b, string work ) { +void TGMatch::load_neighbor_shared( SGBucket b, string share_dir ) { // cout << "Loading existing shared data from neighbor tiles" << endl; - string base = work + "/Shared/"; + string base = share_dir + "/"; // start with all flags false sw_flag = se_flag = ne_flag = nw_flag = false; @@ -272,8 +272,8 @@ void TGMatch::load_neighbor_shared( SGBucket b, string work ) { } // try to load any missing shared data from our own shared data file -void TGMatch::load_missing_shared( SGBucket b, string work ) { - string base = work + "/Shared/"; +void TGMatch::load_missing_shared( SGBucket b, string share ) { + string base = share + "/"; if ( !nw_flag ) { scan_share_file( base, b, NW_Corner, NW_Corner ); @@ -505,10 +505,10 @@ void TGMatch::split_tile( SGBucket b, TGConstruct* c ) { // write the new shared edge points, normals, and segments for this // tile -void TGMatch::write_shared( SGBucket b, string base ) { +void TGMatch::write_shared( SGBucket b, string shared ) { - string dir = base + "/Shared/" + b.gen_base_path(); - string file = dir + "/" + b.gen_index_str(); + string dir = shared + "/" + b.gen_base_path(); + string file = dir + "/" + b.gen_index_str(); SGPath sgp( dir ); sgp.append( "dummy" );