/// <summary> /// Расчет области отрисовки /// </summary> /// <param name="maxx"></param> /// <param name="minx"></param> /// <param name="maxy"></param> /// <param name="miny"></param> public void CalcRederingArea(int maxx, int minx, int maxy, int miny) { int _height = maxy - miny; int _width = maxx - minx; pk = (double)_width / (double)_height; sizeRenderingArea = new SizeRenderingArea(Name, (int)((double)sizeRenderingArea.Width / pk), sizeRenderingArea.Width); int difx = maxx - minx; koef = (double)(sizeRenderingArea.Width - (50d * MainForm.zoom)) / (double)difx; Ox = (maxx + minx) / 2; Oy = (maxy + miny) / 2; }
/// <summary> /// Конструктор для многоугольника /// </summary> /// <param name="_Name">Имя</param> /// <param name="_loft">Чердак</param> /// <param name="_basement">Подвал</param> /// <param name="floors_count">Количество этажей</param> /// <param name="_pol">Многоугольник</param> /// <param name="index">Идентификатор</param> /// <param name="width">Ширина</param> public Building(string _Name, bool _loft, bool _basement, int floors_count, Polygon _pol, int index, int width) { sizeRenderingArea = new SizeRenderingArea(Name, (int)((double)width / pk), width); Name = _Name; loft = _loft; basement = _basement; this.floors_count = floors_count; RefreshFloors(); MainPolygon = _pol; type = 3; delete = false; MainMapDL.Level = -1; MainMapDL.Floor = -1; LocalDL.Level = index; LocalDL.Floor = 0; GenLocalPolygon(); GenText(); }
/// <summary> /// Конструктор для кругов /// </summary> /// <param name="_Name">Имя</param> /// <param name="_loft">Чердак</param> /// <param name="_basement">Подвал</param> /// <param name="floors_count">Количество этажей</param> /// <param name="_circle">Круг</param> /// <param name="index">Идентификатор</param> /// <param name="width">Ширина</param> public Building(string _Name, bool _loft, bool _basement, int floors_count, Circle _circle, int index, int width) { sizeRenderingArea = new SizeRenderingArea(Name, (int)((double)width / pk), width); Name = _Name; loft = _loft; basement = _basement; this.floors_count = floors_count; RefreshFloors(); MainCircle = _circle; type = 360; delete = false; MainMapDL.Level = -1; MainMapDL.Floor = -1; LocalDL.Level = index; LocalDL.Floor = 0; MainCircle.DL = MainMapDL; GenLocalCircle(); GenText(); }