нтів. Метод повертає об'єкт типу HolstTable. Використовується для збереження поточного полотна при переході на новий рівень;
Вѕ SetHolst - установка таблиці мережевих елементів. Використовується для переходу по рівнях мережі;
Вѕ Draw - перемальовування полотна. При проході в циклі таблиці полотна перевіряється наявність елемента в комірці, якщо об'єкт виявлений - викликається віртуальний метод GetType - який повертає тип знайденого об'єкта. Далі створюємо об'єкт заданого типу і викликаємо у нього метод Draw, після чого видаляємо створений об'єкт. Дана технологія дозволила заощадити величезну кількість пам'яті, що є життєво необхідною вимогою для безперебійної і правильної роботи програми. Також ця технологія дала можливість зробити вкладеність мереж до дев'ятого рівня.
.4.3 Класи відображення мережевих об'єктів
Батьківським класом для всіх мережевих об'єктів є клас Element, який містить в собі дві віртуальні функції - функцію промальовування елемента і функцію отримання типу похідного класу. Всі класи мережевих об'єктів перевизначають ці два методи, що наочно продемонстровано на малюнку 5.10:
В
Малюнок 5.10 - UML діаграма зв'язків мережевих об'єктів
Функція для отримання типу (GetType) - повертає один шістнадцятковий символ, який відповідає поточному типом об'єкта. Всі типи зберігаються у файлі elementType.h у формі препроцесорну директив define. Типи мережевих елементів з їх описом наведені в таблиці 5.1:
Таблиця 5.1 - Типи мережевих елементів
Позначення СимволОписаниеt_computer1Компьютерt_net2СетьОбозначение В«ВихідВ» з підмережі (будівлі) t_pointer6Указательlt_fpoint11Указатель для визначення початкової точки сполучної лінііlt_lpoint12Указатель на визначення останньої точки сполучної линииlt_horizontal13Горизонтальная лініяlt_vertical14Вертікальная лініяlt_left_bottom15Угол - з ліва внізlt_right_bottom16Угол - з права внізlt_right_top17Угол - з права вверхlt_left_top18Угол - з ліва вверхlt_crosswise19Пересеченіе ліній В«перехрестяВ» lt_vertical_left20Соедінітельний елемент для трьох ліній - зверху , знизу і слеваlt_horizontal_bottom21Соединительный елемент для трьох ліній - знизу, зліва і справаlt_vertical_right22Соединительный елемент для трьох ліній - зверху, знизу і справаlt_horizontal_top23Соединительный елемент для трьох ліній - зверху, ліворуч і праворуч
Клас Line крім усього іншого має метод SetLineType який задає лінії певне значення - символи з одинадцятого по двадцять третій з таблиці 5.1. Всі типи лінії з їх шістнадцятковій матрицею наведені в таблиці 5.2:
Таблиця 5.2 - Типи сполучної лінії
ОбозначениеИзобр...