Skip to content

mjxu96/xviz

Repository files navigation

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