/// <summary> /// Проверка инсоляции секции /// </summary> /// <param name="section">Проверяемая секция</param> /// <returns>Секции прошедшие инсоляцию</returns> public List <FlatInfo> GetInsolationSections(Section section) { IInsCheck insCheck = InsCheckFactory.CreateInsCheck(this, section); var resFlats = insCheck.CheckSections(section); if (ProjectScheme.MaxSectionBySize != 0) { // Рандомно выбрать заданное кол секций resFlats = GetRandomMaxCountSections(resFlats, ProjectScheme.MaxSectionBySize); } return(resFlats); }
public static IInsCheck CreateInsCheck(IInsolation insService, Section section) { IInsCheck insCheck = null; if (section.IsCorner) { insCheck = new InsCheckCorner(insService, section); } else { insCheck = new InsCheckOrdinary(insService, section); } return(insCheck); }