moved uml diagram to docs folder changed readme communcation model to a result image view
86 lines
1.8 KiB
Markdown
86 lines
1.8 KiB
Markdown
# Cloud Point RPC
|
|
|
|
Communication JSON RPC protocol and implementation with Unity Scene.
|
|
|
|
## TODO
|
|
|
|
- [ ] Server implementation with C-API for Unity
|
|
- [ ] Client correct implementation with OpenCV
|
|
|
|
## API Documentation
|
|
|
|
See [API.md](API.md) for detailed request/response formats.
|
|
|
|
## Development
|
|
|
|
The project uses **Meson** build system and **C++20**.
|
|
|
|
### Dependencies
|
|
|
|
- Meson, Ninja
|
|
- GCC/Clang (C++20 support)
|
|
- Git (for subprojects)
|
|
|
|
### Build & Run
|
|
|
|
```bash
|
|
git submodule init
|
|
git submodule update
|
|
meson setup build
|
|
meson compile -C build
|
|
./build/src/cloud_point_rpc_server config.yaml
|
|
```
|
|
|
|
#### Build on windows
|
|
|
|
It's assumed that you have `GCC` and `make`/`ninja` installed on your system (and available in `PATH`)
|
|
|
|
```powershell
|
|
## FIRST OF ALL!
|
|
git submodule init
|
|
git submodule update
|
|
# Next python:
|
|
python3 -m venv .\venv
|
|
.\.venv\Scripts\Activate.ps1
|
|
pip install meson cmake
|
|
meson setup -Ddefault_library=static build
|
|
meson compile -C build
|
|
# To correctly get dlls:
|
|
meson devenv -C build
|
|
## .\build\tests\unit_tests < for dummy test
|
|
## .\build\src\.. < produced execs and libs
|
|
```
|
|
|
|
### Testing
|
|
|
|
```bash
|
|
meson test -C build -v
|
|
```
|
|
|
|
## Docker
|
|
|
|
You can build and run the cli using `Docker`.
|
|
|
|
### 1. Build Image
|
|
|
|
```bash
|
|
docker build -t cloud-point-rpc .
|
|
```
|
|
|
|
### 2. Run Container
|
|
|
|
The cli will try to connect to a **running server** on ip and port defined in config.yml file. (defined in `config.yaml` inside the image).
|
|
For simplicity, it's better to use a host network, so you will not have any headache with accessability.
|
|
|
|
> _Server is not configured to run through container, if you need, contact me_
|
|
|
|
You also can mount your own `config.yaml` to override the default settings:
|
|
|
|
```bash
|
|
docker run --network=host -it -v $(pwd)/my_config.yaml:/app/config.yaml cloud-point-rpc
|
|
```
|
|
|
|
## Communication model
|
|
|
|

|