Inspired by the project nori2 from the lecture computer graphics, I decide to use cmake to build this project, since cmake has a good cross-platform performance and is easy to maintain. For unit tests, Catch2 is used here.
- No strict rules for the format of the code text.
- Separate declaration and definitions into header files and cpp files respectively.
- Before submitting pull requests, you should write unit tests for your code and make sure that the code could work as you expected. In such manner the effort to debug could be minimized for everyone.
File/Folder Name | Usage | Notice |
---|---|---|
CMakeLists.txt |
cmake control file | |
src\ |
source code | |
ext\ |
external libraries | |
include\ |
header files and other internal libraries | |
test\ |
unit test files | |
build\ |
all things built | Not Tracked |
data\ |
scripts to generate data set | Limited Tracked |
landscape_demo\ |
demo to show the elevation data | Matlab |
you can download some demonstrations of the project with the following link: https://drive.google.com/file/d/1SR0iJv06M0FsZnBvHHSCBlNEyIDEVwKG/view?usp=share_link
Since this repository contains no data, you need to first download the preprocessed data set from google drive(recommended) into data\
or to preprocess the data set from scratch according to the description in data\readme.md
Here we use Catch2 for unit tests because it is much smaller and neater than google test. About Catch2, please read their readme or check their github.
Those files under the folder landscape_demo
is for visualizing original/fake elevation map file. The script should be runned with Matlab.
Our server is built on the Windows 11/10 and client is on the MacOS. The change of operating system is currently not allowed
- We use cmake to compile the code, please make sure you have the compiler with required version on your local machine before running the code
- Make sure the client and server are connected to the same network.
- Make sure the client and server share the same IP address and port number (check
scr\main.cpp for server
andSettingsViewController.swift
for client) - If you want to use the north calibration, please let the mobile device roughly face the north direction before you launch the app.
cd HoloDaYe
mkdir build
cd build
cmake ..
make
You will find the file in name of holodaye.exe when you compile the code successfully Start the exe file and it will automatically open a terminal (start of the server)
Citation: Our app is developed on the codebase of ARKit-Corelocation
Please build our app using Xcode on an apple device with IOS 16 or upwards. Our app has been tested on iPhone 12 and iPad pro-2021 with IOS 16.1.
Please remember to sign the app with an apple developer account before building.
- add to the podfile:
pod 'ARCL'
pod 'SwiftSocket'
- In Terminal, navigate to the project folder, then:
pod update
pod install
- make sure your server and your app are under the same LAN and modify the IP address in the file
SettingsViewController.swift
- build the app on your device with Xcode