Giter VIP home page Giter VIP logo

xodr's Introduction

xodr

Easily accessible C++ object structure of OpenDRIVE automatically generated from the OpenDRIVE XSD schema. Currently only OpenDRIVE 1.4 is supported.

Building

Dependencies

Building on Unix

For an exemplary build on a fresh Ubuntu Linux 20.04 x64 (gcc 9.3.0) we first install the dependencies:

sudo apt install xsdcxx
sudo apt install libxerces-c-dev

With CMake as plattform-independent build tool xodr can be configured for various native build environments. For our Ubuntu environment with Make:

cd xodr
mkdir build
cd build
cmake ..

To build the project afterwards run

make

If everything went fine, you will find the resulting library in the lib/ folder of the project root.

Source Code Generation

For convenience the underlying OpenDRIVE schema is provided in schema/ but can be obtained for free from ASAM in recent and previous versions. The C++ class structure was generated with CodeSynthesis XSD and can be automatically re-generated using the XML data binding tool xsd. The code used in xodr was generated with xsd version 4.0.0 as follows:

xsd cxx-tree --hxx-suffix .h --cxx-suffix .cpp --reserved-name access=parkingSpace_access --reserved-name link=lane_link schema/OpenDRIVE_1.4H.xsd

Licence

Due to XSD's FLOSS Exception the generated code is includable in various Free/Libre and Open Source Software projects, see XSD Licence.

xodr's People

Contributors

michikommader avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xodr's Issues

namespace clashes

The generated OpenDrive header and source has class names like max and color in global namespace, which is generally not a good idea. I suggest to at least map more identifiers to a "safe" name, as was done with e.g. "link"

terminate called after throwing an instance of 'xsd::cxx::tree::parsing<char>'

Hello,

I managed to build the OpenDrive Driver with the GDAL base library following steps described here.

T downloaded some test datasets from the official OpenDrive download section. But when trying to convert .xodr file to ESRI Shapefile, I got the following message :

terminate called after throwing an instance of 'xsd::cxx::tree::parsing<char>' what(): instance document parsing failed Aborted (core dumped)

I saw that you already mentioned the issue in this page, is there any progress on this topic ?

Thank you !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.