This repository has been archived by the owner on Dec 28, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
33 changed files
with
2,190 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
cmake_minimum_required(VERSION 3.5) | ||
|
||
project(Graph VERSION 0.1 LANGUAGES CXX) | ||
|
||
set(CMAKE_AUTOUIC ON) | ||
set(CMAKE_AUTOMOC ON) | ||
set(CMAKE_AUTORCC ON) | ||
|
||
set(CMAKE_CXX_STANDARD 17) | ||
set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
|
||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets) | ||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) | ||
|
||
set(PROJECT_SOURCES | ||
main.cpp | ||
mainwindow.cpp | ||
mainwindow.h | ||
mainwindow.ui | ||
) | ||
|
||
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) | ||
qt_add_executable(Graph | ||
MANUAL_FINALIZATION | ||
${PROJECT_SOURCES} | ||
graph.h graph.cpp graph.ui | ||
) | ||
# Define target properties for Android with Qt 6 as: | ||
# set_property(TARGET Graph APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR | ||
# ${CMAKE_CURRENT_SOURCE_DIR}/android) | ||
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation | ||
else() | ||
if(ANDROID) | ||
add_library(Graph SHARED | ||
${PROJECT_SOURCES} | ||
) | ||
# Define properties for Android with Qt 5 after find_package() calls as: | ||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") | ||
else() | ||
add_executable(Graph | ||
${PROJECT_SOURCES} | ||
) | ||
endif() | ||
endif() | ||
|
||
target_link_libraries(Graph PRIVATE Qt${QT_VERSION_MAJOR}::Widgets) | ||
|
||
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. | ||
# If you are developing for iOS or macOS you should consider setting an | ||
# explicit, fixed bundle identifier manually though. | ||
if(${QT_VERSION} VERSION_LESS 6.1.0) | ||
set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.Graph) | ||
endif() | ||
set_target_properties(Graph PROPERTIES | ||
${BUNDLE_ID_OPTION} | ||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION} | ||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} | ||
MACOSX_BUNDLE TRUE | ||
WIN32_EXECUTABLE TRUE | ||
) | ||
|
||
include(GNUInstallDirs) | ||
install(TARGETS Graph | ||
BUNDLE DESTINATION . | ||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | ||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} | ||
) | ||
|
||
if(QT_VERSION_MAJOR EQUAL 6) | ||
qt_finalize_executable(Graph) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<p align="center"> Министерство образования Республики Беларусь</p> | ||
<p align="center">Учреждение образования</p> | ||
<p align="center">“Брестский Государственный технический университет”</p> | ||
<p align="center">Кафедра ИИТ</p> | ||
<br><br><br><br><br><br><br> | ||
<p align="center">Лабораторная работа №3</p> | ||
<p align="center">По дисциплине “Общая теория интеллектуальных систем”</p> | ||
<p align="center">Тема: “Разработка редактора графов”</p> | ||
<br><br><br><br><br> | ||
<p align="right">Выполнил:</p> | ||
<p align="right">Студент 2 курса</p> | ||
<p align="right">Группы ИИ-23</p> | ||
<p align="right">Kопач А.В.</p> | ||
<p align="right">Проверил:</p> | ||
<p align="right">Иванюк Д. С.</p> | ||
<br><br><br><br><br> | ||
<p align="center">Брест 2023</p> | ||
|
||
|
||
--- | ||
Целью данного программного продукта является обеспечение удобного взаимодействия с графами, позволяя пользователю выполнять различные операции, такие как работа с несколькими графами одновременно, задание имен графам, сохранение и восстановление графов, экспорт и импорт графов в текстовый формат, а также выполнение разнообразных операций над вершинами и дугами графа. | ||
|
||
# Работа с несколькими графами (MDI) | ||
![Снимок экрана 2023-12-17 232854](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/2253a71a-d379-4592-81c4-c9c8fe0fffd0) | ||
|
||
Программа поддерживает работу с несколькими графами одновременно с использованием механизма Multiple Document Interface (MDI). Это обеспечивает удобную организацию рабочего пространства и позволяет пользователям легко манипулировать несколькими графами. | ||
|
||
# Задание имен графам | ||
![Снимок экрана 2023-12-15 230003](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/2774fd1c-2741-4b66-b40c-192f13317cbe) | ||
|
||
Пользователь имеет возможность задавать имена графам при их создании. Это улучшает навигацию и идентификацию графов при работе с несколькими экземплярами. | ||
|
||
# Сохранение и восстановление графов | ||
|
||
Программа предоставляет функциональность сохранения графов во внутреннем формате программы. Это позволяет пользователям сохранять текущее состояние графа и восстанавливать его позже. | ||
|
||
# Экспорт и импорт графов в текстовый формат | ||
|
||
![Снимок экрана 2023-12-17 233053](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/7c12f1b4-a992-4332-a552-02a762596f1d) | ||
|
||
Программа позволяет экспортировать и импортировать графы в текстовый формат. Это облегчает обмен графами между пользователями и интеграцию с другими инструментами. | ||
|
||
# Работа с узлами и дугами | ||
![Снимок экрана 2023-12-17 232910](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/b42b08e1-34bd-4684-814b-fd116fcf7017) | ||
|
||
Создание, удаление, именование, переименование, перемещение узлов. | ||
Создание ориентированных и неориентированных дуг, их удаление. | ||
Добавление, удаление и редактирование содержимого узла в виде текста или ссылки на файл. | ||
Задание цвета дуги и узла. | ||
# Вывод информации о графе | ||
|
||
![Снимок экрана 2023-12-17 233141](https://github.com/AtticaQQ/OTIS-2023/assets/144312354/4dfa54cb-200e-465e-82d2-1bf83f7fe240) | ||
|
||
Количество вершин и дуг в графе. | ||
Степени для всех вершин и выбранной вершины. | ||
Матрица инцидентности и смежности. | ||
|
||
# Заключение | ||
|
||
Программный продукт обеспечивает удобный и многофункциональный инструмент для работы с графами, предоставляя широкий набор операций для создания, редактирования и анализа графов. Пользователи могут эффективно взаимодействовать с графами и выполнять различные операции для анализа и визуализации их структуры и свойств. | ||
--- | ||
|
Oops, something went wrong.