mjxu96 / xviz

C++ Implementation of XVIZ Protocol

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XVIZ Protocol In C++

libxviz CI codecov

Overview

This is an incomplete implementation of XVIZ protocol in C++.

This project has been migrated to Conan. Please checkout to old branch for legacy build mechanism.

Requirements

  1. Conan 1.55.0+
  2. C++20 compiler

Example

Please see example.cc, example_server.cc for more information.

Use Case

  1. CarlaViz

Build and Test

Download from Conan remote

conan remote add gitlab https://gitlab.com/api/v4/projects/44861904/packages/conan
conan install xviz

Build xviz builder example

mkdir build && cd build
conan install -pr gcc11 --build=missing -o build_examples=True ..
conan build .. --build
./examples/example

Build xviz server example

Frontend is needed. You can refer to these two repos for frontend:

  1. CarlaViz Frontend
  2. Aurora streetscape.gl
mkdir build && cd build
conan install -pr gcc11 --build=missing -o build_examples=True ..
conan build .. --build
./examples/example_server [PNG FILE PATH (this is optional)]

Build tests

mkdir build && cd build
conan install -pr gcc11 --build=missing -o build_tests=True ..
conan build .. --test

Format script

find . -iname *.h -not -path "./build/*" -o -iname *.cc -not -path "./build/*" | xargs clang-format -i -style=file

About

C++ Implementation of XVIZ Protocol

License:MIT License


Languages

Language:C++ 74.3%Language:CMake 21.9%Language:Python 3.1%Language:Shell 0.7%