[Research] How to integrate manifold in Drake

Issue #82 wontfix
Andrés Fortier created an issue

We need to do some initial exploration on how to get manifold running in Drake

Comments (12)

  1. Agustin Alba Chicar

    For building it with Bazel, we should refer to the docs and see the inlude external libraries. Documentation can be found here:

    • https://bazel.build/versions/master/docs/be/c-cpp.html
    • https://bazel.build/versions/master/docs/external.html
  2. Agustin Alba Chicar

    I have created a docker image that loads Drake, Ignition Math and Manifold and compiles the last two. I still need to work on how to load program with Manifold and Ignition math libraries built with it.

  3. Agustin Alba Chicar

    After some research, I have found the following:

    • To include external libraries, but system wide installed ones, you have to do the following:
        linkopts = [
            "-lignition-math2",  
            "-lmanifold0",
        ],
        copts = [
            "-I/usr/include/ignition/math2", 
            "-I/usr/include/manifold0",
            "-std=c++11"  
        ],
    

    In the previous snippet I put the exact configuration for loading Manifold and Igntion-Math into a Bazel BUILD file, cc_binary section.

    • You cannot include locally built libraries in that way (except for those built inside the Bazel's WORKSPACE).

    I got a sample program that loads a sample RNDF file inside Manifold and then prints the name of all the vertices of the graph structure.

  4. Log in to comment