Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
5b65ad7
style: move files
Korinin38 Nov 24, 2023
70c28b3
fix: rename "tech debt" folder
Korinin38 Nov 24, 2023
1e5206b
style: small main.cpp tweaks
Korinin38 Dec 5, 2023
7ffc09a
generalization of the code in liansearch.cpp
Dec 25, 2023
952416e
safe config cleaning
Dec 26, 2023
ce34bb7
safe logger cleaning
Dec 26, 2023
4675fa9
safe map cleaning
Dec 26, 2023
84680c0
safe map cleaning again
Dec 26, 2023
4d72cbe
refactor: names, iterations, redundancy optimisation
Korinin38 Dec 26, 2023
655bf65
fix: GCC-compliant error throw
Korinin38 Dec 26, 2023
09db525
fix: command line arguments processing
Korinin38 Dec 26, 2023
79e64f5
fix: typo
Korinin38 Dec 26, 2023
ee18f34
style: file names
Korinin38 Dec 27, 2023
f7dcd84
style: file names (amend previous commit)
Korinin38 Dec 27, 2023
74cb546
reverse vector instead of add to begin
Dec 27, 2023
248ea2b
using pointers instead of copies
Dec 27, 2023
6e70693
refactor: adding brackets and using min,max
Dec 27, 2023
7aa3650
refactor: OpenList now uses vector
Korinin38 Dec 27, 2023
421aa4c
Merge remote-tracking branch 'origin/master'
Korinin38 Dec 27, 2023
72f8696
refactor: renaming and add brackets
Dec 27, 2023
814959e
Merge branch 'master' of github.com:Nikrolaks/LIAN
Dec 27, 2023
e6e2516
binsearch and simplify some part of code
Dec 27, 2023
fa897fe
optimization for future massive launches
Dec 27, 2023
8a62bb5
unified standart and renamings
Dec 27, 2023
bed00b8
remove redundant new/delete, composing parameters to struct, cleaning
Dec 27, 2023
5b0c598
delete unused search.h
petsernik Dec 27, 2023
f0b77ab
yet another cleaning and remove redundant information from log
Dec 28, 2023
ab4bfd0
refactor: OpenList implementation changed to priority_queue
Korinin38 Jan 19, 2024
429b646
updating cmakelists for cross-platform, including the unordered_map l…
petsernik Jan 20, 2024
ba42524
updating the inclusions
Jan 21, 2024
fbd5ec9
code generalization: intermediate version of the LianSearch::expand f…
Jan 21, 2024
d5cb2ae
refactor: change close_ access to private with according changes
Korinin38 Jan 22, 2024
285ea93
Merge remote-tracking branch 'origin/master'
Korinin38 Jan 22, 2024
e09aa0b
style: small tweaks
Korinin38 Jan 22, 2024
33a9607
more generalization and some renaming
petsernik Jan 22, 2024
abc816a
update comments
petsernik Jan 22, 2024
cbdb52f
revert removing 'redundant' information from logs
Jan 22, 2024
30ecce3
some optimizations of liansearch and refactoring
petsernik Jan 22, 2024
93c9881
Merge branch 'master' of https://github.com/Nikrolaks/LIAN
petsernik Jan 22, 2024
d96b8df
start of distribution of constants across files
petsernik Jan 23, 2024
830e8da
totaly revert stupid experiments with logs
Jan 23, 2024
97e7942
I continue to distribute constants into files
petsernik Jan 23, 2024
d33a545
I'm trying to merge
petsernik Jan 23, 2024
78f0a62
returns to old version of open_list
petsernik Jan 23, 2024
4b5d41f
I’m extremely sorry for the previous commit, I put everything back in…
petsernik Jan 23, 2024
9b2adc5
forgotten
Jan 23, 2024
db1085e
style: spaces-to-tabs
Korinin38 Jan 23, 2024
eccd0ef
Update README.md
Korinin38 Jan 23, 2024
9f515fd
Update README.md
Korinin38 Jan 23, 2024
42f5533
comment warning of platform-specificity
Korinin38 Jan 23, 2024
ca1f348
style: move files
Korinin38 Jan 23, 2024
fa71985
refactor: tryIncreaseRadius and tryDecreaseRadius parity
Korinin38 Jan 24, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 27 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.8)
project(LianSearch)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O2 -Wall -Wextra")
set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
set(SOURCE_FILES
main.cpp
tinyxml/tinyxmlparser.cpp
tinyxml/tinyxmlerror.cpp
tinyxml/tinyxml.cpp
tinyxml/tinystr.cpp
liansearch.cpp
openlist.cpp
config.cpp
map.cpp
mission.cpp
xmllogger.cpp)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")

set(HEADER_FILES
tinyxml/tinyxml.h
tinyxml/tinystr.h
searchresult.h
gl_const.h
liansearch.h
node.h
openlist.h
config.h
map.h
logger.h
mission.h
search.h
xmllogger.h)
add_executable(LianSearch ${SOURCE_FILES} ${HEADER_FILES})
add_subdirectory(contrib)

add_executable(LianSearch
src/main.cpp
src/liansearch.cpp
src/structures/search_tree.cpp
src/structures/config.cpp
src/structures/map.cpp
src/structures/mission.cpp
src/log/logger.cpp
src/log/xml_utils.cpp

src/structures/search_result.h
src/log/gl_const.h
src/liansearch.h
src/structures/node.h
src/structures/search_tree.h
src/structures/config.h
src/structures/map.h
src/log/logger.h
src/structures/mission.h
src/log/xml_utils.h)
target_link_libraries(LianSearch PUBLIC tinyxml)
target_include_directories(LianSearch PUBLIC contrib)
16 changes: 7 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,15 @@ Algorithm supports XML files as input and output format. Input file contains map

## Getting Started

To go and try this algorithm you can use QtCreator or CMake.
Both `.pro` and `CMakeLists` files are available in the repository.
To go and try this algorithm you can use CMake.
`CMakeLists` file is available in the repository.

Notice, that project uses C++11 standart. Make sure that your compiler supports it.
Notice, that project uses C++20 standard. Make sure that your compiler supports it.

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

### Prerequisites

**[Qt Creator](https://info.qt.io/download-qt-for-device-creation?hsCtaTracking=c80600ba-f2ea-45ed-97ef-6949c1c4c236%7C643bd8f4-2c59-4c4c-ba1a-4aaa05b51086)** — a cross-platform C++, JavaScript and QML integrated development environment which is part of the SDK for the Qt GUI Application development framework.

**[CMake](https://cmake.org/)** — an open-source, cross-platform family of tools designed to build, test and package software.

### Installing
Expand Down Expand Up @@ -83,10 +81,10 @@ Input file should contain:

* `<loglevel>` &mdash; defines the level of detalization of log-file. Default value is "1". Possible values:
- "0" or "none" &mdash; log-file is not created.
- "0.5" or "tiny" &mdash; All the input data is copied to the log-file plus short `<summary>` is appended. `<summary>` contains info of the path length, number of steps, elapsed time, etc.
- "1" or "short" &mdash; 0.5 - log plus `<path>` is appended. It looks like `<grid>` but cells forming the path are marked by "\*" instead of "0". The following tags are also appended: `<hplevel>` and `<lplevel>`. `<lplevel>` is the sequence of coordinates of cells forming the path. `<hplevel>` is the sequence of sections forming the path.
- "1.5" or "medium" &mdash; 1 - log plus the information (explicit enumeration) on last iteration's OPEN and CLOSE lists.
- "2" or "full" &mdash; 1 - log plus OPEN and CLOSE lists are written into the log-file after each step of the algorithm. Can make log-files really huge and also slow down the whole algorithm.
- "2" or "short" &mdash; All the input data is copied to the log-file plus short `<summary>` is appended. `<summary>` contains info of the path length, number of steps, elapsed time, etc.
- "3" or "high" &mdash; 0.5 - log plus `<path>` is appended. It looks like `<grid>` but cells forming the path are marked by "\*" instead of "0". The following tags are also appended: `<hplevel>` and `<lplevel>`. `<lplevel>` is the sequence of coordinates of cells forming the path. `<hplevel>` is the sequence of sections forming the path.
- "4" or "medium" &mdash; 1 - log plus the information (explicit enumeration) on last iteration's OPEN and CLOSE lists.
- "5" or "full" &mdash; 1 - log plus OPEN and CLOSE lists are written into the log-file after each step of the algorithm. Can make log-files really huge and also slow down the whole algorithm.

In order to understand differences between output files with different `<loglevel>` tags there are examples of each in [samples](https://github.com/PathPlanning/LIAN/tree/master/examples) folder.

Expand Down
299 changes: 0 additions & 299 deletions config.cpp

This file was deleted.

Loading