hpp-pinocchio 9.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. hpp_pinocchio-9.0.0/.git-blame-ignore-revs +4 -0
  2. hpp_pinocchio-9.0.0/.github/dependabot.yml +6 -0
  3. hpp_pinocchio-9.0.0/.github/workflows/ci_ros2.yml +33 -0
  4. hpp_pinocchio-9.0.0/.github/workflows/dockgen.yml +53 -0
  5. hpp_pinocchio-9.0.0/.github/workflows/nix.yml +40 -0
  6. hpp_pinocchio-9.0.0/.github/workflows/release.yml +159 -0
  7. hpp_pinocchio-9.0.0/.github/workflows/update-flake-lock.yml +31 -0
  8. hpp_pinocchio-9.0.0/.gitignore +4 -0
  9. hpp_pinocchio-9.0.0/.gitlab-ci.yml +1 -0
  10. hpp_pinocchio-9.0.0/.mergify.yml +14 -0
  11. hpp_pinocchio-9.0.0/.pre-commit-config.yaml +40 -0
  12. hpp_pinocchio-9.0.0/AUTHORS +3 -0
  13. hpp_pinocchio-9.0.0/CMakeLists.txt +196 -0
  14. hpp_pinocchio-9.0.0/LICENSE +7 -0
  15. hpp_pinocchio-9.0.0/NEWS +44 -0
  16. hpp_pinocchio-9.0.0/PKG-INFO +61 -0
  17. hpp_pinocchio-9.0.0/README.md +40 -0
  18. hpp_pinocchio-9.0.0/doc/Doxyfile.extra.in +11 -0
  19. hpp_pinocchio-9.0.0/doc/figures/figure-gripper.png +0 -0
  20. hpp_pinocchio-9.0.0/doc/figures/figure-gripper.svg +598 -0
  21. hpp_pinocchio-9.0.0/doc/figures/gripper.png +0 -0
  22. hpp_pinocchio-9.0.0/doc/main-page.hh +26 -0
  23. hpp_pinocchio-9.0.0/dockgen.toml +17 -0
  24. hpp_pinocchio-9.0.0/flake.lock +582 -0
  25. hpp_pinocchio-9.0.0/flake.nix +26 -0
  26. hpp_pinocchio-9.0.0/include/hpp/pinocchio/body.hh +123 -0
  27. hpp_pinocchio-9.0.0/include/hpp/pinocchio/center-of-mass-computation.hh +125 -0
  28. hpp_pinocchio-9.0.0/include/hpp/pinocchio/collision-object.hh +133 -0
  29. hpp_pinocchio-9.0.0/include/hpp/pinocchio/configuration.hh +179 -0
  30. hpp_pinocchio-9.0.0/include/hpp/pinocchio/device-data.hh +86 -0
  31. hpp_pinocchio-9.0.0/include/hpp/pinocchio/device-sync.hh +266 -0
  32. hpp_pinocchio-9.0.0/include/hpp/pinocchio/device.hh +381 -0
  33. hpp_pinocchio-9.0.0/include/hpp/pinocchio/extra-config-space.hh +83 -0
  34. hpp_pinocchio-9.0.0/include/hpp/pinocchio/frame.hh +164 -0
  35. hpp_pinocchio-9.0.0/include/hpp/pinocchio/fwd.hh +157 -0
  36. hpp_pinocchio-9.0.0/include/hpp/pinocchio/gripper.hh +128 -0
  37. hpp_pinocchio-9.0.0/include/hpp/pinocchio/humanoid-robot.hh +148 -0
  38. hpp_pinocchio-9.0.0/include/hpp/pinocchio/joint.hh +289 -0
  39. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup/cartesian-product.hh +117 -0
  40. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup/serialization.hh +85 -0
  41. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup/special-euclidean.hh +90 -0
  42. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup/special-orthogonal.hh +86 -0
  43. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup/vector-space.hh +120 -0
  44. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup-element.hh +243 -0
  45. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup-space.hh +344 -0
  46. hpp_pinocchio-9.0.0/include/hpp/pinocchio/liegroup.hh +210 -0
  47. hpp_pinocchio-9.0.0/include/hpp/pinocchio/pool.hh +134 -0
  48. hpp_pinocchio-9.0.0/include/hpp/pinocchio/serialization.hh +269 -0
  49. hpp_pinocchio-9.0.0/include/hpp/pinocchio/simple-device.hh +52 -0
  50. hpp_pinocchio-9.0.0/include/hpp/pinocchio/urdf/util.hh +123 -0
  51. hpp_pinocchio-9.0.0/include/hpp/pinocchio/util.hh +230 -0
  52. hpp_pinocchio-9.0.0/package.xml +32 -0
  53. hpp_pinocchio-9.0.0/pyproject.toml +33 -0
  54. hpp_pinocchio-9.0.0/src/addition-visitor.hh +63 -0
  55. hpp_pinocchio-9.0.0/src/body.cc +140 -0
  56. hpp_pinocchio-9.0.0/src/center-of-mass-computation.cc +181 -0
  57. hpp_pinocchio-9.0.0/src/collision-object.cc +163 -0
  58. hpp_pinocchio-9.0.0/src/comparison.hh +104 -0
  59. hpp_pinocchio-9.0.0/src/comparison.hxx +107 -0
  60. hpp_pinocchio-9.0.0/src/configuration.cc +224 -0
  61. hpp_pinocchio-9.0.0/src/device-data.cc +158 -0
  62. hpp_pinocchio-9.0.0/src/device-sync.cc +121 -0
  63. hpp_pinocchio-9.0.0/src/device.cc +601 -0
  64. hpp_pinocchio-9.0.0/src/dintegrate-visitor.hh +78 -0
  65. hpp_pinocchio-9.0.0/src/frame.cc +221 -0
  66. hpp_pinocchio-9.0.0/src/gripper.cc +73 -0
  67. hpp_pinocchio-9.0.0/src/humanoid-robot.cc +176 -0
  68. hpp_pinocchio-9.0.0/src/is-normalized-visitor.hh +58 -0
  69. hpp_pinocchio-9.0.0/src/jdifference-visitor.hh +79 -0
  70. hpp_pinocchio-9.0.0/src/joint/bound.hh +49 -0
  71. hpp_pinocchio-9.0.0/src/joint.cc +611 -0
  72. hpp_pinocchio-9.0.0/src/liegroup-element.cc +185 -0
  73. hpp_pinocchio-9.0.0/src/liegroup-space.cc +504 -0
  74. hpp_pinocchio-9.0.0/src/log-visitor.hh +106 -0
  75. hpp_pinocchio-9.0.0/src/simple-device.cc +153 -0
  76. hpp_pinocchio-9.0.0/src/size-visitor.hh +74 -0
  77. hpp_pinocchio-9.0.0/src/substraction-visitor.hh +62 -0
  78. hpp_pinocchio-9.0.0/src/urdf/util.cc +517 -0
  79. hpp_pinocchio-9.0.0/src/util.cc +97 -0
  80. hpp_pinocchio-9.0.0/src/visitor/interpolate.hh +61 -0
  81. hpp_pinocchio-9.0.0/tests/CMakeLists.txt +76 -0
  82. hpp_pinocchio-9.0.0/tests/device-sync.cc +145 -0
  83. hpp_pinocchio-9.0.0/tests/device.cc +190 -0
  84. hpp_pinocchio-9.0.0/tests/frame.cc +128 -0
  85. hpp_pinocchio-9.0.0/tests/joint-bounds.cc +76 -0
  86. hpp_pinocchio-9.0.0/tests/liegroup-element.cc +344 -0
  87. hpp_pinocchio-9.0.0/tests/pool.cc +65 -0
  88. hpp_pinocchio-9.0.0/tests/print.cc +64 -0
  89. hpp_pinocchio-9.0.0/tests/serialization.cc +104 -0
  90. hpp_pinocchio-9.0.0/tests/tconfiguration.cc +448 -0
  91. hpp_pinocchio-9.0.0/tests/urdf.cc +63 -0
  92. hpp_pinocchio-9.0.0/tests/utils.hh +41 -0
@@ -0,0 +1,4 @@
1
+ # format (Guilhem Saurel, 2022-04-05)
2
+ cfc6bb065814560a406fda95f867ace9673c482e
3
+ # pre-commit run -a (Guilhem Saurel, 2022-10-05)
4
+ 4c6f5209e5b25efb7d26dcbb27c48bb636105ecf
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "monthly"
@@ -0,0 +1,33 @@
1
+ name: ROS2 Continuous Integration
2
+ on:
3
+ push:
4
+ branches:
5
+ - devel
6
+ - main
7
+ pull_request:
8
+ jobs:
9
+ build:
10
+ strategy:
11
+ matrix:
12
+ env:
13
+ - {ROS_DISTRO: rolling}
14
+ env:
15
+ UPSTREAM_WORKSPACE: |
16
+ github:humanoid-path-planner/hpp-environments#devel
17
+ github:humanoid-path-planner/hpp-util#devel
18
+ github:gepetto/example-robot-data#devel
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: actions/checkout@v7
22
+ - uses: 'ros-industrial/industrial_ci@125164b9f1883cdf1858897a7146d1bebf2be5c6'
23
+ env: ${{ matrix.env }}
24
+ check:
25
+ if: always()
26
+ name: check-ros-ci
27
+ runs-on: ubuntu-latest
28
+ needs:
29
+ - build
30
+ steps:
31
+ - uses: re-actors/alls-green@release/v1
32
+ with:
33
+ jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,53 @@
1
+ name: "Publish docker image"
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - devel
7
+ tags:
8
+ - "v*"
9
+
10
+ jobs:
11
+ dockgen:
12
+ runs-on: "ubuntu-latest"
13
+ permissions:
14
+ contents: read
15
+ packages: write
16
+ attestations: write
17
+ id-token: write
18
+ steps:
19
+ - uses: actions/checkout@v6
20
+
21
+ - uses: astral-sh/setup-uv@v7
22
+ - run: uvx dockgen
23
+
24
+ # https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions
25
+
26
+ - name: Log in to the Container registry
27
+ uses: docker/login-action@v4
28
+ with:
29
+ registry: ghcr.io
30
+ username: ${{ github.actor }}
31
+ password: ${{ secrets.GITHUB_TOKEN }}
32
+
33
+ - name: Extract metadata (tags, labels) for Docker
34
+ id: meta
35
+ uses: docker/metadata-action@v6
36
+ with:
37
+ images: ghcr.io/${{ github.repository }}
38
+
39
+ - name: Build and push Docker image
40
+ id: push
41
+ uses: docker/build-push-action@v7
42
+ with:
43
+ context: .
44
+ push: true
45
+ tags: ${{ steps.meta.outputs.tags }}
46
+ labels: ${{ steps.meta.outputs.labels }}
47
+
48
+ - name: Generate artifact attestation
49
+ uses: actions/attest-build-provenance@v4
50
+ with:
51
+ subject-name: ghcr.io/${{ github.repository }}
52
+ subject-digest: ${{ steps.push.outputs.digest }}
53
+ push-to-registry: true
@@ -0,0 +1,40 @@
1
+ name: "CI - Nix"
2
+ on:
3
+ push:
4
+ branches:
5
+ - devel
6
+ - master
7
+ - main
8
+ - stable
9
+ pull_request:
10
+ branches:
11
+ - devel
12
+ - master
13
+ - main
14
+ - stable
15
+ jobs:
16
+ nix:
17
+ runs-on: "${{ matrix.os }}-latest"
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ os: [ubuntu]
22
+ steps:
23
+ - uses: actions/checkout@v7
24
+ - uses: cachix/install-nix-action@v31
25
+ - uses: cachix/cachix-action@v17
26
+ with:
27
+ name: gepetto
28
+ authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
29
+ - run: nix flake check -L
30
+ - run: nix build -L
31
+ check:
32
+ if: always()
33
+ name: check-macos-linux-nix
34
+ runs-on: ubuntu-latest
35
+ needs:
36
+ - nix
37
+ steps:
38
+ - uses: re-actors/alls-green@release/v1
39
+ with:
40
+ jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,159 @@
1
+ name: Release on GitHub & PyPI
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*.c*"
7
+ branches:
8
+ - cmeel
9
+ pull_request:
10
+ branches:
11
+ - cmeel
12
+
13
+ env:
14
+ CMEEL_LOG_LEVEL: DEBUG
15
+ DEPS: cmeel-boost[build] example-robot-data[build] hpp-environments[build] hpp-util[build] pin[build]
16
+ PROJECT: hpp-pinocchio
17
+
18
+ jobs:
19
+ wheel:
20
+ name: "Build ${{ matrix.python }} ${{ matrix.os }}"
21
+ runs-on: "${{ matrix.os }}"
22
+ strategy:
23
+ matrix:
24
+ os: ["ubuntu-24.04", "ubuntu-24.04-arm", "macos-15-intel", "macos-15"]
25
+ python: ["cp310", "cp311", "cp312", "cp313", "cp314"]
26
+ steps:
27
+ - uses: actions/checkout@v6
28
+ with:
29
+ submodules: 'true'
30
+ - run: pipx install cibuildwheel
31
+ - run: echo "OPENMP=OFF" >> $GITHUB_ENV
32
+ if: ${{ startsWith(matrix.os, 'macos') }}
33
+ - run: echo "OPENMP=ON" >> $GITHUB_ENV
34
+ if: ${{ startsWith(matrix.os, 'ubuntu') }}
35
+ - run: cibuildwheel
36
+ env:
37
+ CIBW_BUILD: "${{ matrix.python }}-*"
38
+ CIBW_SKIP: "*-musllinux* *i686"
39
+ CIBW_MANYLINUX_X86_64_IMAGE: "quay.io/pypa/manylinux_2_28_x86_64"
40
+ CIBW_MANYLINUX_AARCH64_IMAGE: "quay.io/pypa/manylinux_2_28_aarch64"
41
+ CIBW_REPAIR_WHEEL_COMMAND: ""
42
+ CIBW_ENVIRONMENT: CMEEL_LOG_LEVEL="DEBUG" CMEEL_JOBS="1" CMEEL_TEST_JOBS="1" CMEEL_RUN_TESTS="false" CMEEL_CMAKE_ARGS="-DBUILD_WITH_OPENMP_SUPPORT=${{
43
+ env.OPENMP }}"
44
+ - uses: actions/upload-artifact@v7
45
+ with:
46
+ name: "artifact-${{ matrix.os }}-${{ matrix.python }}"
47
+ path: wheelhouse
48
+
49
+ test-wheel:
50
+ needs: ["wheel"]
51
+ name: "Test ${{ matrix.python }} ${{ matrix.os }}"
52
+ runs-on: "${{ matrix.os }}"
53
+ strategy:
54
+ matrix:
55
+ os: ["ubuntu-24.04", "ubuntu-24.04-arm", "macos-15-intel", "macos-15"]
56
+ python: ["cp310", "cp311", "cp312", "cp313", "cp314"]
57
+ steps:
58
+ - uses: actions/download-artifact@v8
59
+ with:
60
+ name: "artifact-${{ matrix.os }}-${{ matrix.python }}"
61
+ path: wheelhouse
62
+ - run: echo "${{ matrix.python }}" | sed "s/cp3/PYTHON_VERSION=3./" >> "${GITHUB_ENV}"
63
+ - uses: actions/setup-python@v6
64
+ with:
65
+ python-version: ${{ env.PYTHON_VERSION }}
66
+ - name: index
67
+ run: |
68
+ python -m pip install -U pip
69
+ python -m pip install wheel simple503
70
+ python -m simple503 --base-url ${{ github.workspace }}/wheelhouse ${{ github.workspace }}/wheelhouse
71
+ - name: install deps
72
+ run: python -m pip install cmeel $DEPS
73
+ - name: install wheel
74
+ run: python -m pip install -i "file://${{ github.workspace }}/wheelhouse" $PROJECT
75
+
76
+ sdist:
77
+ runs-on: ubuntu-24.04
78
+ steps:
79
+ - uses: actions/checkout@v6
80
+ with:
81
+ submodules: 'true'
82
+ - uses: actions/setup-python@v6
83
+ with:
84
+ python-version: 3.13
85
+ - name: setup
86
+ run: |
87
+ python -m pip install -U pip
88
+ python -m pip install build cmeel[build] $DEPS
89
+ - name: build sdist
90
+ run: python -m build -nso dist .
91
+ - uses: actions/upload-artifact@v7
92
+ with:
93
+ name: artifact-sdist
94
+ path: dist
95
+
96
+ test-sdist:
97
+ runs-on: ubuntu-24.04
98
+ needs: ["sdist"]
99
+ name: "Test sdist"
100
+ steps:
101
+ - uses: actions/download-artifact@v8
102
+ with:
103
+ name: "artifact-sdist"
104
+ path: dist
105
+ - uses: actions/setup-python@v6
106
+ with:
107
+ python-version: 3.13
108
+ - name: setup
109
+ run: |
110
+ python -m pip install -U pip
111
+ python -m pip install build cmeel[build] $DEPS
112
+ - name: install sdist
113
+ run: python -m pip install dist/$(echo "$PROJECT" | tr - _)*.tar.gz
114
+
115
+ release:
116
+ needs: ["test-wheel", "test-sdist"]
117
+ if: ${{ startsWith(github.ref, 'refs/tags/v') }}
118
+ runs-on: ubuntu-24.04
119
+ environment: release
120
+ permissions:
121
+ id-token: write
122
+ contents: write
123
+ steps:
124
+ - uses: actions/checkout@v6
125
+ with:
126
+ ref: ${{ github.ref_name }}
127
+ - run: curl https://github.com/nim65s.gpg | gpg --import
128
+ - name: validate signature
129
+ run: >
130
+ git verify-tag --raw ${{ github.ref_name }} 2>&1
131
+ | grep -q 'VALIDSIG 9B1A79065D2F2B806C8A5A1C7D2ACDAF4653CF28'
132
+ - uses: actions/download-artifact@v8
133
+ with:
134
+ merge-multiple: true
135
+ path: dist
136
+ - run: echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
137
+ - run: gh release create -t "Release ${{ env.TAG}}" "${{ env.TAG }}" dist/$(echo $PROJECT | tr - _)*.{whl,tar.gz}
138
+ env:
139
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
140
+ - name: Publish package distributions to PyPI
141
+ uses: pypa/gh-action-pypi-publish@release/v1
142
+ with:
143
+ skip-existing: true
144
+
145
+ check:
146
+ if: always()
147
+ name: check-macos-linux
148
+
149
+ needs:
150
+ - test-wheel
151
+ - test-sdist
152
+
153
+ runs-on: Ubuntu-latest
154
+
155
+ steps:
156
+ - name: Decide whether the needed jobs succeeded or failed
157
+ uses: re-actors/alls-green@release/v1
158
+ with:
159
+ jobs: ${{ toJSON(needs) }}
@@ -0,0 +1,31 @@
1
+ name: update-flake-lock
2
+ on:
3
+ workflow_dispatch:
4
+ schedule:
5
+ - cron: '0 11 30 * *'
6
+ jobs:
7
+ update-flake-inputs:
8
+ runs-on: ubuntu-slim
9
+ permissions:
10
+ contents: write
11
+ pull-requests: write
12
+ steps:
13
+ - name: Generate GitHub App Token
14
+ id: app-token
15
+ uses: actions/create-github-app-token@v3
16
+ with:
17
+ app-id: ${{ secrets.GEPETTO_NIX_APP_ID }}
18
+ private-key: ${{ secrets.GEPETTO_NIX_APP_PRIVATE_KEY }}
19
+ - name: Checkout repository
20
+ uses: actions/checkout@v7
21
+ with:
22
+ token: ${{ steps.app-token.outputs.token }}
23
+ - name: Setup Nix
24
+ uses: cachix/install-nix-action@v31
25
+ - name: Update flake inputs
26
+ uses: mic92/update-flake-inputs@v1
27
+ with:
28
+ github-token: ${{ steps.app-token.outputs.token }}
29
+ pr-labels: 'no-changelog'
30
+ git-author-name: 'hrp2-14'
31
+ git-author-email: '40568249+hrp2-14@users.noreply.github.com'
@@ -0,0 +1,4 @@
1
+ build*/*
2
+ Xcode/*
3
+ *.swp
4
+ *.user
@@ -0,0 +1 @@
1
+ include: https://rainboard.laas.fr/project/hpp-pinocchio/.gitlab-ci.yml
@@ -0,0 +1,14 @@
1
+ pull_request_rules:
2
+ - name: merge [bot] PRs when CI pass
3
+ conditions:
4
+ - check-success = "check-macos-linux-nix"
5
+ - check-success = "check-ros-ci"
6
+ - check-success = "pre-commit.ci - pr"
7
+ - or:
8
+ - author = dependabot[bot]
9
+ - author = gepetto-flake-updater[bot]
10
+ - author = github-actions[bot]
11
+ - author = hrp2-14
12
+ - author = pre-commit-ci[bot]
13
+ actions:
14
+ merge:
@@ -0,0 +1,40 @@
1
+ ci:
2
+ autoupdate_schedule: quarterly
3
+ repos:
4
+ - repo: https://github.com/BlankSpruce/gersemi-pre-commit
5
+ rev: 0.27.7
6
+ hooks:
7
+ - id: gersemi
8
+ - repo: https://github.com/astral-sh/ruff-pre-commit
9
+ rev: v0.15.20
10
+ hooks:
11
+ - id: ruff-check
12
+ - id: ruff-format
13
+ - repo: https://github.com/pappasam/toml-sort
14
+ rev: v0.24.4
15
+ hooks:
16
+ - id: toml-sort-fix
17
+ - repo: https://github.com/pre-commit/mirrors-clang-format
18
+ rev: v22.1.5
19
+ hooks:
20
+ - id: clang-format
21
+ args:
22
+ - --style=Google
23
+ - repo: https://github.com/pre-commit/pre-commit-hooks
24
+ rev: v6.0.0
25
+ hooks:
26
+ - id: check-added-large-files
27
+ - id: check-ast
28
+ - id: check-executables-have-shebangs
29
+ - id: check-json
30
+ - id: check-merge-conflict
31
+ - id: check-symlinks
32
+ - id: check-toml
33
+ - id: check-yaml
34
+ - id: debug-statements
35
+ - id: destroyed-symlinks
36
+ - id: detect-private-key
37
+ - id: end-of-file-fixer
38
+ - id: fix-byte-order-marker
39
+ - id: mixed-line-ending
40
+ - id: trailing-whitespace
@@ -0,0 +1,3 @@
1
+ This package was written by and with the assistance of
2
+
3
+ * Joseph Mirabel
@@ -0,0 +1,196 @@
1
+ # Copyright 2016-2018 CNRS-LAAS
2
+ #
3
+ # Author: Joseph Mirabel, Nicolas Mansard from Antonio El Khoury
4
+ #
5
+
6
+ # Redistribution and use in source and binary forms, with or without
7
+ # modification, are permitted provided that the following conditions are met:
8
+ #
9
+ # 1. Redistributions of source code must retain the above copyright notice, this
10
+ # list of conditions and the following disclaimer.
11
+ #
12
+ # 1. Redistributions in binary form must reproduce the above copyright notice,
13
+ # this list of conditions and the following disclaimer in the documentation
14
+ # and/or other materials provided with the distribution.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
+ # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20
+ # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22
+ # SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23
+ # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24
+ # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25
+ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+
27
+ cmake_minimum_required(VERSION 3.30)
28
+
29
+ set(CXX_DISABLE_WERROR TRUE)
30
+ set(PROJECT_NAME hpp-pinocchio)
31
+ set(PROJECT_DESCRIPTION
32
+ "Wrapping of the kinematic/dynamic chain Pinocchio for HPP."
33
+ )
34
+
35
+ option(INSTALL_DOCUMENTATION "Generate and install the documentation" ON)
36
+ set(PROJECT_USE_CMAKE_EXPORT TRUE)
37
+
38
+ # Check if the submodule cmake have been initialized
39
+ set(JRL_CMAKE_MODULES "${CMAKE_CURRENT_LIST_DIR}/cmake")
40
+ if(EXISTS "${JRL_CMAKE_MODULES}/base.cmake")
41
+ message(STATUS "JRL cmakemodules found in 'cmake/' git submodule")
42
+ else()
43
+ find_package(jrl-cmakemodules QUIET CONFIG)
44
+ if(jrl-cmakemodules_FOUND)
45
+ get_property(
46
+ JRL_CMAKE_MODULES
47
+ TARGET jrl-cmakemodules::jrl-cmakemodules
48
+ PROPERTY INTERFACE_INCLUDE_DIRECTORIES
49
+ )
50
+ message(
51
+ STATUS
52
+ "JRL cmakemodules found on system at ${JRL_CMAKE_MODULES}"
53
+ )
54
+ else()
55
+ message(STATUS "JRL cmakemodules not found. Let's fetch it.")
56
+ include(FetchContent)
57
+ FetchContent_Declare(
58
+ "jrl-cmakemodules"
59
+ GIT_REPOSITORY "https://github.com/jrl-umi3218/jrl-cmakemodules.git"
60
+ )
61
+ FetchContent_MakeAvailable("jrl-cmakemodules")
62
+ FetchContent_GetProperties(
63
+ "jrl-cmakemodules"
64
+ SOURCE_DIR JRL_CMAKE_MODULES
65
+ )
66
+ endif()
67
+ endif()
68
+
69
+ include("${JRL_CMAKE_MODULES}/hpp.cmake")
70
+ include("${JRL_CMAKE_MODULES}/apple.cmake")
71
+
72
+ compute_project_args(PROJECT_ARGS LANGUAGES CXX)
73
+ project(${PROJECT_NAME} ${PROJECT_ARGS})
74
+ check_minimal_cxx_standard(11 REQUIRED)
75
+
76
+ # Handle APPLE Cmake policy
77
+ if(APPLE)
78
+ apply_default_apple_configuration()
79
+ endif(APPLE)
80
+
81
+ # Activate hpp-util logging if requested
82
+ set(HPP_DEBUG FALSE CACHE BOOL "trigger hpp-util debug output")
83
+ if(HPP_DEBUG)
84
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHPP_DEBUG")
85
+ endif()
86
+ set(HPP_BENCHMARK FALSE CACHE BOOL "trigger hpp-util benchmarking output")
87
+ if(HPP_BENCHMARK)
88
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DHPP_ENABLE_BENCHMARK")
89
+ endif()
90
+
91
+ # Profiling flags when building with DEBUG
92
+ # -----------------------------------------
93
+ if(CMAKE_BUILD_TYPE MATCHES "DEBUG")
94
+ if(CMAKE_COMPILER_IS_GNUCXX)
95
+ set(${PROJECT_NAME}_CXXFLAGS "-ggdb3 ${${PROJECT_NAME}_CXXFLAGS}")
96
+ endif(CMAKE_COMPILER_IS_GNUCXX)
97
+ endif(CMAKE_BUILD_TYPE MATCHES "DEBUG")
98
+
99
+ # Search for dependecies.
100
+ set(BOOST_COMPONENTS thread)
101
+ if(BUILD_TESTING)
102
+ set(BOOST_COMPONENTS ${BOOST_COMPONENTS} unit_test_framework)
103
+ endif()
104
+
105
+ add_project_dependency(Boost REQUIRED COMPONENTS ${BOOST_COMPONENTS})
106
+
107
+ add_project_dependency(hpp-util REQUIRED)
108
+ add_project_dependency(pinocchio REQUIRED)
109
+ add_project_dependency(Eigen3 REQUIRED)
110
+
111
+ add_project_dependency(example-robot-data)
112
+ add_project_dependency(hpp-environments)
113
+
114
+ # Set header files.
115
+ set(${PROJECT_NAME}_HEADERS
116
+ include/hpp/pinocchio/fwd.hh
117
+ include/hpp/pinocchio/device.hh
118
+ include/hpp/pinocchio/device-data.hh
119
+ include/hpp/pinocchio/device-sync.hh
120
+ include/hpp/pinocchio/humanoid-robot.hh
121
+ include/hpp/pinocchio/joint.hh
122
+ include/hpp/pinocchio/frame.hh
123
+ include/hpp/pinocchio/body.hh
124
+ include/hpp/pinocchio/gripper.hh
125
+ include/hpp/pinocchio/configuration.hh
126
+ include/hpp/pinocchio/collision-object.hh
127
+ include/hpp/pinocchio/extra-config-space.hh
128
+ include/hpp/pinocchio/center-of-mass-computation.hh
129
+ include/hpp/pinocchio/simple-device.hh
130
+ include/hpp/pinocchio/util.hh
131
+ include/hpp/pinocchio/pool.hh
132
+ include/hpp/pinocchio/serialization.hh
133
+ include/hpp/pinocchio/liegroup.hh
134
+ include/hpp/pinocchio/liegroup-element.hh
135
+ include/hpp/pinocchio/liegroup-space.hh
136
+ include/hpp/pinocchio/liegroup/vector-space.hh
137
+ include/hpp/pinocchio/liegroup/cartesian-product.hh
138
+ include/hpp/pinocchio/liegroup/special-euclidean.hh
139
+ include/hpp/pinocchio/liegroup/special-orthogonal.hh
140
+ include/hpp/pinocchio/liegroup/serialization.hh
141
+ include/hpp/pinocchio/urdf/util.hh
142
+ )
143
+
144
+ set(${PROJECT_NAME}_SOURCES
145
+ src/addition-visitor.hh
146
+ src/comparison.hh
147
+ src/comparison.hxx
148
+ src/device.cc
149
+ src/device-data.cc
150
+ src/device-sync.cc
151
+ src/humanoid-robot.cc
152
+ src/joint.cc
153
+ src/frame.cc
154
+ src/collision-object.cc
155
+ src/body.cc
156
+ src/gripper.cc
157
+ src/center-of-mass-computation.cc
158
+ src/configuration.cc
159
+ src/simple-device.cc
160
+ src/liegroup-element.cc
161
+ src/liegroup-space.cc
162
+ src/log-visitor.hh
163
+ src/size-visitor.hh
164
+ src/substraction-visitor.hh
165
+ src/urdf/util.cc
166
+ src/util.cc
167
+ )
168
+
169
+ add_library(
170
+ ${PROJECT_NAME}
171
+ SHARED
172
+ ${${PROJECT_NAME}_SOURCES}
173
+ ${${PROJECT_NAME}_HEADERS}
174
+ )
175
+ target_include_directories(
176
+ ${PROJECT_NAME}
177
+ PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
178
+ )
179
+ target_link_libraries(
180
+ ${PROJECT_NAME}
181
+ PUBLIC
182
+ hpp-util::hpp-util
183
+ example-robot-data::example-robot-data
184
+ pinocchio::pinocchio
185
+ Boost::thread
186
+ )
187
+ target_compile_definitions(
188
+ ${PROJECT_NAME}
189
+ PUBLIC PINOCCHIO_ENABLE_COMPATIBILITY_WITH_VERSION_2
190
+ )
191
+
192
+ install(TARGETS ${PROJECT_NAME} EXPORT ${TARGETS_EXPORT_NAME} DESTINATION lib)
193
+
194
+ if(BUILD_TESTING)
195
+ add_subdirectory(tests)
196
+ endif()
@@ -0,0 +1,7 @@
1
+ Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
2
+
3
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
4
+
5
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
6
+
7
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,44 @@
1
+ -*- outline -*-
2
+ New in v4.10.0
3
+ * Enable users to create LiegroupSpace::R1 with rotation template argument.
4
+ * Use CMake to handle dependencies (cmake submodule).
5
+ * Add CollisionObject::geometry and prepare deprecation of
6
+ GeometryModel.colisionObjects.
7
+ * Add function replaceGeometryByConvexHull.
8
+ * Add package.xml
9
+ * Add equality operator in class Joint.
10
+ * Add serialization functions.
11
+ New in v4.9.0
12
+ New in v4.6.1
13
+ * Revert default bounding volume to BV_OBBRSS instead of BV_OBB.
14
+ - distance computations between BV_OBBRSS is not available.
15
+
16
+ New in v4.6,
17
+ * Fix API of loadModel (use base frame rather than base joint).
18
+ * Change default bounding volume to BV_OBB rather than BV_OBBRSS.
19
+ * Make MeshLoader static to avoid reloading the same mesh several times.
20
+ * Fix SetBoundStep algo.
21
+ * [LiegroupSpace] Merge vector spaces in operator*.
22
+ * Add a test to set and get joint bounds.
23
+ * Fix method mergeVectorSpaces when first vector space is Rn(0).
24
+ New in v4.2,
25
+ * Update to API changes in pinocchio: se3::LieGroupTpl -> se3::LieGroupMap.
26
+ * Rename hpp::pinocchio::LieGroupTpl -> hpp::pinocchio::RnxSOnLieGroupMap.
27
+ * Device::getFrameByName accepts all frame types.
28
+ * Add optional doc generation.
29
+ * Replace Jintegrate by dIntegrate_dq and dIntegrate_dv in LiegroupSpace.
30
+ * Set Device::clone() method as const.
31
+ New in v4.1, 2018-05-17
32
+ * Fix optional dependency to hpp-model-urdf.
33
+ * Enhance documentation
34
+ * Provide LiegroupSpace and LiegroupElement classes to represent configuration
35
+ spaces.
36
+ * Add parentheses around configuration and precision parameter in displayConfig .
37
+ * Frame::positionInParentFrame moves the geometry as well.
38
+ * Remove dependency to resource_retriever.
39
+ * Add method Device::computeAABB.
40
+ * Add prismatic root joint type.
41
+ * Remove dynamic allocation in Device::computeForwardKinematics
42
+ * Expose urdf::loadModel
43
+ * Body and Joint have a weak_ptr of device, not a shared_ptr.
44
+ * Remove some deprecated methods and classes.