які представляє собою візуальне відображення вершини транспортної мережі, за цей квадратик вузли транспортної мережі можуть переміщатися, на цьому ж квадратику відображається назва вершини;
· rSize - розмір кружечка, який являє собою візуальне відображення ребра транспортної мережі, використовуючи цей кружечок користувач може вибирати ребра транспортної мережі, на цьому ж кружечку відображається вага ребра;
Розглянемо список методів для роботи з вищевказаним набором полів:
· метод AddGraph () додає новий граф в транспортну мережу;
· метод AddVertex (int iGraph, int X, int Y) додає нову вершину в заданий граф транспортної мережі, при цьому вершина відразу отримує координати свого розташування;
· метод AddEdge (int srcVertexId, int destVertexId) додає новий ребро, що з'єднує задану пару вершин транспортної мережі;
· метод GetVertexId (int x, int y, bool showInvisible, bool showDeleted) здійснює пошук номера вершини розташованої в заданих координатах (в методі передбачено два прапора, які контролюють, чи буде здійснюватися пошук серед невидимих ??і помічених на видалення вершин);
· метод GetEdgeId (int x, int y, bool showInvisible, bool showDeleted) здійснює пошук номера ребра розташованого в заданих координатах (в методі передбачено два прапора, які контролюють, чи буде здійснюватися пошук серед невидимих ??і помічених на видалення ребер);
· метод DropGraph () видаляє граф з транспортної мережі, при цьому здійснюється перевірка того чи є граф порожнім, і якщо граф не є порожнім, то автоматично будуть видалені всі вершини графа і всі ребра виходять з цих вершин (так само здійснюється пошук і видалення ребер, які входять в ці вершини);
· метод DropVertex () видаляє вершину з транспортної мережі, при цьому здійснюється перевірка того чи існують ребра виходять з цієї вершини а також ребра входять в цю вершину (і якщо такі є, то вони також автоматично видаляються) ;
· метод DropEdge () видаляє ребро з транспортної мережі;
· метод MarkIsolatedVertex () здійснює пошук (і маркування заданим кольором) ізольованих вершин, які можу з'являтися в результаті редагування транспортної мережі з тим, щоб користувач міг видалити їх або ж провести бракуючі зв'язку;
· метод PackArrays () здійснює упаковку масивів, в яких зберігаються графи, вершини і ребра (викликається автоматично при виході з програми або на вимогу користувача);
· метод AutoSize () здійснює підбір розміру зображення для відображення транспортної мережі (розмір зображення може бути як збільшений так і зменшений);
· метод Draw (bool showInvisible, bool showDeleted) здійснює промальовування транспортної мережі на задане зображення (в методі передбачено два прапора, які контролюють, чи будуть промальовані елементи транспортної мережі помічені як невидимі і як позначені на видалення).
Клас Element є базовим для класів Graph, Vertex, Edge і містить в собі загальні характеристики.
Розглянемо список полів:
· Title - назва абстрактного об'єкта;
· Description - опис абстрактного об'єкта;
· Color - колір абстрактного об'єкта;
· Visible - ознака того, чи є абстрактний об'єкт видимим, це властивість необхідно для того, щоб можна було тимчасово відключати відображення не потрібних в даний момент елементів транспортної мережі;
· Enabled - ознака того, чи є абстрактний об'єкт доступним, це властивість необхідно для того, щоб можна було тимчасово виключати з розрахунків окремі частини транспортної мережі;
· Deleted - ознака того, чи був абстрактний об'єкт позначений для видалення;
· Selected - ознака того, абстрактний об'єкт є поточним і користувач веде з ним зараз роботу.
Перейдемо до розгляду класу Graph, який містить в собі опис графа, що представляє собою частину транспортної мережі.
· tn - посилання на транспортну мережу в яку входить граф, необхідна для доступу до інших об'єктів входять до транспортну мережу;
· iVertex - масив, що містить номери вершин, що входять до граф.
Розглянемо список методів:
· конструктор Graph (TransportNetwork tn) здійснює ініціалізацію графа, як параметр передається посилання на транспортну мережу, в яку входить граф;
· деструктор ~ Graph () здійснює видалення графа.
Перейдемо до розгляду класу Vertex, який містить в собі опис вершин, що входять до гр...