예제 #1
0
        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);
        }
예제 #2
0
        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;
        }