Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gsaurel/hpp-fcl
  • coal-library/coal
2 results
Show changes
Commits on Source (2387)
Showing
with 1475 additions and 190 deletions
BasedOnStyle: Google
SortIncludes: false
0067c8aa66aac548601e2a3fd029aa264cc59f2a
76b68f785df31b00e153290b45ec290a9c5f7963
# ruff --fix . (Guilhem Saurel, 2023-10-25)
02cef56abfacee590c8444fd379c8837bf007fa1
# black . (Guilhem Saurel, 2023-10-25)
febfbcbe9c98cdb4e0c7bbf4554a6925b391834b
# ruff --fix . (Guilhem Saurel, 2023-10-24)
58dee5ae90eded5125825a2da0fe76a5031f3334
# black . (Guilhem Saurel, 2023-10-24)
889ff8d1ca00b9e317e1da4136e233bb49a049df
# SCM syntax highlighting
pixi.lock linguist-language=YAML linguist-generated=true
name: Check-changelog
on:
pull_request:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- devel
jobs:
check-changelog:
name: Check changelog action
runs-on: ubuntu-latest
steps:
- uses: tarides/changelog-check-action@v2
with:
changelog: CHANGELOG.md
name: CI - MacOS/Linux via pip
on:
push:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CTEST_OUTPUT_ON_FAILURE: 1
CTEST_PARALLEL_LEVEL: 4
jobs:
coal-pip:
name: "CI on ${{ matrix.os }} / py ${{ matrix.python-version }} with pip"
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
os: ["ubuntu", "macos"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
exclude:
- os: "macos"
python-version: "3.8" # Not available on arm64
steps:
- uses: actions/checkout@v4
with:
submodules: 'true'
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- run: python -m pip install -U pip
- run: python -m pip install cmeel-assimp cmeel-octomap cmeel-qhull eigenpy[build]
- run: echo "CMAKE_PREFIX_PATH=$(cmeel cmake)" >> $GITHUB_ENV
- run: cmake -B build -S . -DCOAL_HAS_QHULL=ON
- run: cmake --build build -j 4
- run: cmake --build build -t test
name: CI - MacOS/Linux/Windows via Pixi
on:
push:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
coal-pixi:
name: ${{ matrix.os }} - Env ${{ matrix.environment }} ${{ matrix.build_type }} ${{ matrix.cxx_options }}
runs-on: ${{ matrix.os }}
env:
CCACHE_BASEDIR: "${GITHUB_WORKSPACE}"
CCACHE_DIR: "${GITHUB_WORKSPACE}/.ccache"
CCACHE_COMPRESS: true
CCACHE_COMPRESSLEVEL: 6
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, macos-13]
environment: [all, all-python-oldest]
build_type: [Release, Debug]
cxx_options: ['', '-mavx2']
exclude:
- os: macos-latest
cxx_options: '-mavx2'
- os: macos-13
cxx_options: '-mavx2'
include:
- os: windows-latest
environment: all
cxx_options: ''
build_type: Release
- os: windows-latest
environment: all-clang-cl
cxx_options: ''
build_type: Release
- os: windows-latest
environment: default
cxx_options: ''
build_type: Debug
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: actions/cache@v4
with:
path: .ccache
key: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-${{ github.sha }}
restore-keys: ccache-macos-linux-windows-pixi-${{ matrix.os }}-${{ matrix.build_type }}-${{ matrix.cxx_options }}-${{ matrix.environment }}-
- uses: prefix-dev/setup-pixi@v0.8.1
with:
cache: true
environments: ${{ matrix.environment }}
- name: Build Coal [MacOS/Linux/Windows]
env:
CMAKE_BUILD_PARALLEL_LEVEL: 2
COAL_BUILD_TYPE: ${{ matrix.build_type }}
COAL_CXX_FLAGS: ${{ matrix.cxx_options }}
run: |
pixi run -e ${{ matrix.environment }} build
- name: Test Coal [MacOS/Linux/Windows]
if: ${{ ! (contains(matrix.os, 'windows') && matrix.build_type == 'Debug') }}
run: |
pixi run -e ${{ matrix.environment }} ctest --test-dir build --output-on-failure
check:
if: always()
name: check-macos-linux-windows-pixi
needs:
- coal-pixi
runs-on: Ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
name: "CI - Nix"
on:
push:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- colcon.pkg
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
nix:
runs-on: "${{ matrix.os }}-latest"
strategy:
matrix:
os: [ubuntu, macos]
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@v27
- uses: cachix/cachix-action@v15
with:
name: gepetto
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- run: nix build -L
# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)
name: ROS-CI
# This determines when this workflow is run
on:
push:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
pull_request:
paths-ignore:
- .gitlab-ci.yml
- .gitignore
- '*.md'
- CITATION.*
- LICENSE
- .pre-commit-config.yaml
- CHANGELOG.md
- development/*.md
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
CI:
strategy:
matrix:
env:
- {ROS_DISTRO: noetic}
- {ROS_DISTRO: iron}
- {ROS_DISTRO: humble}
#- {ROS_DISTRO: rolling}
env:
#CCACHE_DIR: /github/home/.ccache # Enable ccache
BUILDER: colcon
PRERELEASE: true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
# This step will fetch/store the directory used by ccache before/after the ci run
#- uses: actions/cache@v3
# with:
# path: ${{ env.CCACHE_DIR }}
# key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
# Run industrial_ci
- uses: 'ros-industrial/industrial_ci@9f963f67ebb889792175776c5ee00134d7bb569b'
env: ${{ matrix.env }}
check:
if: always()
name: check-ros-ci
needs:
- CI
runs-on: Ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
name: update-flake-lock
on:
workflow_dispatch:
schedule:
- cron: '0 11 12 * *'
jobs:
lockfile:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main
- name: Update flake.lock
uses: DeterminateSystems/update-flake-lock@main
with:
pr-labels: "no changelog"
token: ${{ secrets.GH_TOKEN_FOR_UPDATES }}
name: CI - Update Pixi lockfile
permissions:
contents: write
pull-requests: write
on:
workflow_dispatch:
schedule:
- cron: 0 5 1 * *
jobs:
pixi-update:
runs-on: ubuntu-latest
steps:
- uses: actions/create-github-app-token@v1
id: generate-token
with:
app-id: ${{ secrets.APP_ID }}
private-key: ${{ secrets.APP_PRIVATE_KEY }}
- uses: actions/checkout@v4
with:
token: ${{ steps.generate-token.outputs.token }}
ref: devel
# Make sure the value of GITHUB_TOKEN will not be persisted in repo's config
persist-credentials: false
- name: Set up pixi
uses: prefix-dev/setup-pixi@v0.8.1
with:
run-install: false
- name: Update lockfile
run: |
set -o pipefail
pixi update --json | pixi exec pixi-diff-to-markdown >> diff.md
- name: Create pull request
uses: peter-evans/create-pull-request@v7
with:
token: ${{ steps.generate-token.outputs.token }}
commit-message: 'pixi: Update pixi lockfile'
title: Update pixi lockfile
body-path: diff.md
branch: topic/update-pixi
base: devel
labels: |
pixi
no changelog
delete-branch: true
add-paths: pixi.lock
build*
build*/
Xcode/*
*~
*.pyc
# pixi environments
.pixi
*.egg-info
include: http://rainboard.laas.fr/project/hpp-fcl/.gitlab-ci.yml
include: https://rainboard.laas.fr/project/coal/.gitlab-ci.yml
[submodule "cmake"]
path = cmake
url = git://github.com/jrl-umi3218/jrl-cmakemodules.git
url = https://github.com/jrl-umi3218/jrl-cmakemodules.git
[submodule "third-parties/qhull"]
path = third-parties/qhull
url = https://github.com/qhull/qhull.git
ci:
autoupdate_branch: devel
autofix_prs: false
autoupdate_schedule: quarterly
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.6
hooks:
- id: ruff
args:
- --fix
- --exit-non-zero-on-fix
- id: ruff-format
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.6
hooks:
- id: clang-format
args:
- '--style={BasedOnStyle: Google, SortIncludes: false}'
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
language: cpp
env:
global:
- CTEST_PARALLEL_LEVEL=4
- CTEST_OUTPUT_ON_FAILURE=1
- CXX_FLAGS_DEBUG="-O1"
matrix:
include:
- name: "Trusty - Debug - g++"
env: BUILD_TYPE=Debug
dist: trusty
compiler: g++
- name: "Xenial - Debug - g++"
env: BUILD_TYPE=Debug
dist: xenial
compiler: g++
- name: "Xenial - Release - g++"
env: BUILD_TYPE=Release
dist: xenial
compiler: g++
- name: "Xenial - Debug - clang"
env: BUILD_TYPE=Debug
dist: xenial
compiler: clang
- name: "Bionic - Debug - g++"
env: BUILD_TYPE=Debug
dist: xenial
compiler: g++
- name: "OSX - Debug - clang"
env: BUILD_TYPE=Debug
os: osx
compiler: clang
install:
# Install dependencies for FCL
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then 'ci/install_linux.sh' ; fi
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then 'ci/install_osx.sh' ; fi
script:
# Create build directory
- mkdir build
- cd build
# Configure
- cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_FLAGS=-w -DCMAKE_CXX_FLAGS_DEBUG=${CXX_FLAGS_DEBUG} ..
# Build
- make -j4
# Run unit tests
- travis_wait 30 ctest
# Make sure we can install and uninstall with no issues
- sudo make -j4 install
- sudo make -j4 uninstall
This diff is collapsed.
@misc{coalweb,
author = {Jia Pan and Sachin Chitta and Dinesh Manocha and Florent Lamiraux and Joseph Mirabel and Justin Carpentier and Louis Montaut and others},
title = {Coal: an extension of the Flexible Collision Library},
howpublished = {https://github.com/coal-library/coal},
year = {2015--2024}
}
cff-version: 1.2.0
message: "Thanks for using Coal. Please use the following metadata to cite us in your documents."
authors:
- family-names: Pan
given-names: Jia
- family-names: Chitta
given-names: Sachin
- family-names: Pan
given-names: Jia
- family-names: Manocha
given-names: Dinesh
- family-names: Mirabel
given-names: Joseph
- family-names: Carpentier
given-names: Justin
orcid: "https://orcid.org/0000-0001-6585-2894"
- family-names: Montaut
given-names: Louis
title: "Coal - An extension of the Flexible Collision Library"
abstract: "An extension of the Flexible Collision Library"
version: 3.0.1
date-released: "2025-02-12"
license: BSD-2-Clause
url: "https://github.com/coal-library/coal"
This diff is collapsed.
Dependencies:
============
- Boost (thread, date_time, unit_test_framework, filesystem)
- libccd (available at http://libccd.danfis.cz/)
- octomap (optional dependency, available at http://octomap.github.com)
Boost and libccd are mandatory dependencies. If octomap is not found,
collision detection with octrees will not be possible.
For installation, CMake will also be needed (http://cmake.org).
Install:
=======
* Linux / Mac OS:
The CMakeLists.txt can be used to generate makefiles; For example, one may use operations such as:
mkdir build
cd build
cmake ..
make -jN # N is the maximum number of parallel compile jobs
Once the compilation is finished,
make install
will install the project. To specify the installation prefix,
pass the parameter -DCMAKE_INSTALL_PREFIX=/my/prefix/ to the "cmake .." command above.
* Visual Studio:
The CMakeLists.txt can be used to generate a Visual Studio project, using the cmake build tool.