コード例 #1
0
        /// <summary>
        /// Функция строит модель
        /// </summary>
        public void Build(HouseProperties houseProperties)
        {
            var windowsRow        = _houseProperties.GetParameter(ParameterType.WindowsRow).Value;
            var houseLength       = _houseProperties.GetParameter(ParameterType.HouseLength).Value;
            var floorsCount       = _houseProperties.GetParameter(ParameterType.FloorsCount).Value;
            var windowHeight      = _houseProperties.GetParameter(ParameterType.WindowHeight).Value;
            var windowWidth       = _houseProperties.GetParameter(ParameterType.WindowWidth).Value;
            var windowDistanceHor = _houseProperties.GetParameter(ParameterType.WindowDistanceHor).Value;
            var windowDistanceVer = _houseProperties.GetParameter(ParameterType.WindowDistanceVer).Value;
            var balconHeight      = _houseProperties.GetParameter(ParameterType.BalconHeight).Value;
            var balconWidth       = _houseProperties.GetParameter(ParameterType.BalconWidth).Value;
            var balconLength      = _houseProperties.GetParameter(ParameterType.BalconLength).Value;
            var doorHeight        = _houseProperties.GetParameter(ParameterType.DoorHeight).Value;
            var doorWidth         = _houseProperties.GetParameter(ParameterType.DoorWidth).Value;
            var peakLength        = _houseProperties.GetParameter(ParameterType.PeakLength).Value;



            double houseHeight;
            double houseWidth;
            double balconRow;
            double doorDistance = 20.0;
            double peakHeight   = 2.0;
            double lowDistance  = 5.0;


            houseHeight = (windowHeight + windowDistanceVer) * floorsCount + doorHeight + doorDistance + peakHeight + lowDistance;
            houseWidth  = (windowWidth + windowDistanceHor) * windowsRow + windowDistanceHor / 2;

            if (windowsRow % 3 == 2)
            {
                balconRow = Convert.ToInt32(windowsRow / 3) - 1;
            }
            else
            {
                balconRow = Convert.ToInt32(windowsRow / 3);
            }



            ArrayList houseBuildingParameters = new ArrayList();

            houseBuildingParameters.Add(houseWidth);
            houseBuildingParameters.Add(houseLength);
            houseBuildingParameters.Add(floorsCount);
            houseBuildingParameters.Add(windowHeight);
            houseBuildingParameters.Add(windowWidth);
            houseBuildingParameters.Add(windowDistanceHor);
            houseBuildingParameters.Add(windowDistanceVer);
            houseBuildingParameters.Add(balconHeight);
            houseBuildingParameters.Add(balconWidth);
            houseBuildingParameters.Add(balconLength);
            houseBuildingParameters.Add(doorHeight);
            houseBuildingParameters.Add(doorWidth);
            houseBuildingParameters.Add(peakLength);
            houseBuildingParameters.Add(windowsRow);
            houseBuildingParameters.Add(houseHeight);
            houseBuildingParameters.Add(doorDistance);
            houseBuildingParameters.Add(peakHeight);
            houseBuildingParameters.Add(lowDistance);
            houseBuildingParameters.Add(balconRow);



            if (houseProperties == null)
            {
                throw new AccessingNullException();
            }
            BuildHouse(houseBuildingParameters);
            BuildWindows(houseBuildingParameters);
            BuildBalcons(houseBuildingParameters);
            BuildRoof(houseBuildingParameters);
            BuildPeak(houseBuildingParameters);
            BuildDoor(houseBuildingParameters);
        }
コード例 #2
0
 //TODO:
 /// <summary>
 /// Инициализация параетров в полях формы
 /// </summary>
 public void InitParameters()
 {
     WindowsRow.Parameter        = _houseProperties.GetParameter(ParameterType.WindowsRow);
     HouseLength.Parameter       = _houseProperties.GetParameter(ParameterType.HouseLength);
     FloorsCount.Parameter       = _houseProperties.GetParameter(ParameterType.FloorsCount);
     WindowHeight.Parameter      = _houseProperties.GetParameter(ParameterType.WindowHeight);
     WindowWidth.Parameter       = _houseProperties.GetParameter(ParameterType.WindowWidth);
     WindowDistanceHor.Parameter = _houseProperties.GetParameter(ParameterType.WindowDistanceHor);
     WindowDistanceVer.Parameter = _houseProperties.GetParameter(ParameterType.WindowDistanceVer);
     BalconHeight.Parameter      = _houseProperties.GetParameter(ParameterType.BalconHeight);
     BalconWidth.Parameter       = _houseProperties.GetParameter(ParameterType.BalconWidth);
     BalconLength.Parameter      = _houseProperties.GetParameter(ParameterType.BalconLength);
     DoorWidth.Parameter         = _houseProperties.GetParameter(ParameterType.DoorWidth);
     DoorHeight.Parameter        = _houseProperties.GetParameter(ParameterType.DoorHeight);
     PeakLength.Parameter        = _houseProperties.GetParameter(ParameterType.PeakLength);
     ArcHeight.Parameter         = _houseProperties.GetParameter(ParameterType.ArcHeight);
     ArcWidth.Parameter          = _houseProperties.GetParameter(ParameterType.ArcWidth);
     StartPoint.Parameter        = _houseProperties.GetParameter(ParameterType.StartPoint);
 }