private double TerrainCategoryToMultiplier(TerrainCategories tc, double height) { if (tc == TerrainCategories.TC3) { return(0.83); } else if (height > 10) { throw new ParamException(); //("Buildings higher than 10 are not supported", 0); } else { if (height <= 3.000) { switch (tc) { case TerrainCategories.TC1: return(0.99); case TerrainCategories.TC2: return(0.91); case TerrainCategories.TC2_5: return(0.87); } } else { switch (tc) { case TerrainCategories.TC1: return(Interpolate(1.05, 1.12, height)); case TerrainCategories.TC2: return(Interpolate(0.91, 1.00, height)); case TerrainCategories.TC2_5: return(Interpolate(0.87, 0.92, height)); } } } return(ParamError); }
private double TerrainCategoryToMultiplier(TerrainCategories tc, double height) { if (tc == TerrainCategories.TC3) return 0.83; else if (height > 10) { throw new ParamException(); //("Buildings higher than 10 are not supported", 0); } else { if (height <= 3.000) { switch (tc) { case TerrainCategories.TC1: return 0.99; case TerrainCategories.TC2: return 0.91; case TerrainCategories.TC2_5: return 0.87; } } else { switch (tc) { case TerrainCategories.TC1: return Interpolate(1.05, 1.12, height); case TerrainCategories.TC2: return Interpolate(0.91, 1.00, height); case TerrainCategories.TC2_5: return Interpolate(0.87, 0.92, height); } } } return ParamError; }