public TerrainDB(string bmsBaseDirectory, bool loadAllLods = false) : this() { if (bmsBaseDirectory == null) { throw new ArgumentNullException(nameof(bmsBaseDirectory)); } if (!bmsBaseDirectory.EndsWith(Path.DirectorySeparatorChar.ToString())) { bmsBaseDirectory += Path.DirectorySeparatorChar; } BMSBaseDirectory = bmsBaseDirectory; _loadAllLods = loadAllLods; _elevationPostCoordinateClamper = new ElevationPostCoordinateClamper(this); _columnAndRowElevationPostRecordRetriever = new ColumnAndRowElevationPostRecordRetriever(this, _elevationPostCoordinateClamper); _nearTileTextureLoader = new NearTileTextureLoader(this); _farTileTextureRetriever = new FarTileTextureRetriever(this); _theaterMapBuilder = new TheaterMapBuilder(this); _distanceBetweenElevationPostsCalculator = new DistanceBetweenElevationPostsCalculator(this); _terrainTextureByTextureIdRetriever = new TerrainTextureByTextureIdRetriever(this, _nearTileTextureLoader, _farTileTextureRetriever); _detailTextureForElevationPostRetriever = new DetailTextureForElevationPostRetriever(this, _elevationPostCoordinateClamper, _terrainTextureByTextureIdRetriever, _columnAndRowElevationPostRecordRetriever); _terrainDotBilFileReader = new TerrainDotBilFileReader(); _terrainDotTidFileReader = new TerrainDotTidFileReader(); _nearestElevationPostColumnAndRowCalculator = new NearestElevationPostColumnAndRowCalculator(this, _distanceBetweenElevationPostsCalculator, _elevationPostCoordinateClamper); _terrainHeightCalculator = new TerrainHeightCalculator(this, _columnAndRowElevationPostRecordRetriever, _distanceBetweenElevationPostsCalculator, _nearestElevationPostColumnAndRowCalculator); _latLongCalculator = new LatLongCalculator(this); _tileSetConfigValueReader = new TileSetConfigValueReader(bmsBaseDirectory); }
public TerrainTextureByTextureIdRetriever( TerrainDB terrainDB, INearTileTextureLoader nearTileTextureLoader = null, IFarTileTextureRetriever farTileTextureRetriever = null) { _terrainDB = terrainDB; _nearTileTextureLoader = nearTileTextureLoader ?? new NearTileTextureLoader(_terrainDB); _farTileTextureRetriever = farTileTextureRetriever ?? new FarTileTextureRetriever(_terrainDB); }