Skip to content
This repository was archived by the owner on Jul 4, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
21a62ea
[ci] Upload to cloudsmith
gergondet Jun 3, 2021
df2dcc8
[ci] Make the usage test internal
gergondet Jun 3, 2021
aa752d4
Do not rely on hard-coded path for the test
gergondet Jul 5, 2021
e34c589
Replace hand-rolled randMtoN with effolkronium/random v1.4.0
gergondet Jul 5, 2021
751ff37
Make it possible to output an stl file
gergondet Jul 5, 2021
5f4fcfd
Make stl export compatible with PCL 1.7
gergondet Jul 5, 2021
56e28fb
[ci] Update settings
gergondet Jul 5, 2021
af2ade7
Ensure the generated mesh has coherent normals
gergondet Jul 21, 2021
80aa0af
Merge pull request #1 from gergondet/topic/ExportSTL
gergondet Jul 21, 2021
b5005f3
Add mesh scaling option
arntanguy Oct 7, 2021
04de4f3
[ci] Drop Ubuntu 16.04 support
arntanguy Oct 7, 2021
75e5565
[ci] Do not generate xenial packages
arntanguy Oct 11, 2021
64d276a
[ci/packaging] Fix dependencies of dev package
arntanguy Oct 29, 2021
b15999b
[export] Add --convert option to convert between mesh types
arntanguy Nov 8, 2021
ca3a4c0
[export] Supports binary export format
arntanguy Nov 8, 2021
ff7a4b8
Remove unused dependency
arntanguy Nov 8, 2021
0c7663e
Merge pull request #2 from arntanguy/topic/convert
arntanguy Nov 8, 2021
775f35d
[cmake] Fix submodule path
arntanguy Aug 23, 2022
d14a56c
[ci] Refresh CI and packaging
gergondet Nov 1, 2023
3954830
[ci] Use latest CMake to build the package
gergondet Nov 1, 2023
118bf55
Use PCL's typedef instead of boost::shared_ptr
gergondet Nov 1, 2023
de367cd
[cmake] Fix linking issue with MPI::MPI_C
gergondet Nov 1, 2023
25a42e6
[tests] Fix usage test
gergondet Nov 1, 2023
295f9db
[README] Update APT instructions
gergondet Nov 1, 2023
9edc9ef
git(gitignore): add entries
ThomasDuvinage May 26, 2025
96a41ed
feat(cmake): update CXX version to 17 | move standalone to utils folder
ThomasDuvinage May 26, 2025
536d346
feat(mesh_sampling): create mesh_sampling library
ThomasDuvinage May 26, 2025
ef14d50
feat(cmake): update CXX version to 17
ThomasDuvinage May 26, 2025
29af5f1
feat(convex): generate convex files
ThomasDuvinage Jun 3, 2025
ebaeaec
Consider mesh_sampling changes
ThomasDuvinage Jun 3, 2025
3cd0d20
feat(utils): add convex generation
ThomasDuvinage Jun 3, 2025
088dfbf
style(mesh_sampling): move template implementation to .hpp
ThomasDuvinage Jun 4, 2025
e81fde5
doc(readme): explain new usages
ThomasDuvinage Jun 4, 2025
1799b37
feat(mesh_sampling): consider edges cases
ThomasDuvinage Jun 4, 2025
2cca1f8
feat(utils): consider folder as input and export convexes
ThomasDuvinage Jun 4, 2025
b96ce27
fix(ci): remove ubuntu 20.04
ThomasDuvinage Jun 4, 2025
5033a3d
fix(test): apply latest changes
ThomasDuvinage Jun 4, 2025
b7a3b43
fix(ci): remove package for bionic and focal, add noble
ThomasDuvinage Jun 4, 2025
ce4845b
feat(cli11): remove boost dependency, use cli11 as option handler
ThomasDuvinage Jun 6, 2025
7bdc2df
feat(pimpl): refactor using pimpl
ThomasDuvinage Jun 7, 2025
b513dae
clean(cmake): delete message and include to add_library
ThomasDuvinage Jun 7, 2025
c6938d8
fix(test): fix includes after latest refactor
ThomasDuvinage Jun 7, 2025
f1b09d5
feat(mesh_sampling): add stop_on_failure option
ThomasDuvinage Jun 7, 2025
b901b04
apply pre-commit
ThomasDuvinage Jun 9, 2025
452da9b
fix(export): match sch expected file format
ThomasDuvinage Jun 13, 2025
b3d4665
feat(mesh_sampling): return convex as string and save to file optinal
ThomasDuvinage Jun 13, 2025
91a3fe1
feat(mesh_sampling): return convexes as string
ThomasDuvinage Jun 13, 2025
7fb5d76
feat(pcl): remove PCL dependency
ThomasDuvinage Jun 17, 2025
726e84a
refactor(tests): use google test
ThomasDuvinage Jul 24, 2025
9ff6f63
refactor(impl): remove impl pattern after pcl removal
ThomasDuvinage Jul 24, 2025
526a402
fix(ci): remove pcl dependency, update boost dependency
ThomasDuvinage Jul 24, 2025
8b07bcb
doc(readme): update requirements
ThomasDuvinage Jul 24, 2025
50b5dba
fix(ci): add qhull dependency
ThomasDuvinage Jul 24, 2025
c9cbf95
fix(ci): revise qhull package
ThomasDuvinage Jul 24, 2025
81abe52
fix(ci): add missing libboost-dev
ThomasDuvinage Jul 24, 2025
64bfa3d
feat(mesh_sampling): use runtime error
ThomasDuvinage Jul 31, 2025
8a5c65e
feat(mesh_sampling): consider .obj as input
ThomasDuvinage Jul 31, 2025
c7b4ba3
feat(extension): support lower and upper case
ThomasDuvinage Sep 8, 2025
36a1d51
fix(CI): update LD_LIBRARY_PATH
ThomasDuvinage Sep 8, 2025
c73bc81
clean(test): remove C from LANGUAGES
ThomasDuvinage Sep 8, 2025
0d10a79
clean(debian): remove unused package
ThomasDuvinage Sep 8, 2025
961f72c
doc(readme): update links
ThomasDuvinage Sep 8, 2025
eb10db4
reset(ext): set random.hpp back to its style
ThomasDuvinage Sep 12, 2025
67c3cf2
feat(CLI11): use fetch content
ThomasDuvinage Sep 12, 2025
41b6e96
feat(jrl-cmakemodules): use jrl-cmakemodules for consistency
ThomasDuvinage Sep 12, 2025
66c8049
doc(readme): update dependencies and Ubuntu version
ThomasDuvinage Sep 12, 2025
cb569a2
remove(script): remove unused file
ThomasDuvinage Sep 12, 2025
547d1ed
feat(CLI11): update mesh_sampling include and linkage
ThomasDuvinage Sep 12, 2025
d3d4cab
clean(mesh-sampling): update supported extensions, move implemtation,…
ThomasDuvinage Sep 12, 2025
eb48215
clean(boost): remove boost dependency
ThomasDuvinage Sep 12, 2025
2e57a11
clean(cmake): update Eigen3 linkage and include_directories
ThomasDuvinage Sep 12, 2025
b8ae100
clean(boost): remove boost dependency
ThomasDuvinage Sep 12, 2025
7bcd9cc
fix(package): add disable -DFETCHCONTENT_FULLY_DISCONNECTED cmake opt…
ThomasDuvinage Sep 12, 2025
4c9d616
Merge pull request #4 from ThomasDuvinage/topic/library_refactoring
arntanguy Sep 12, 2025
362e02b
doc: add missing --in tag to command line
ThomasDuvinage Feb 10, 2026
89f4753
fix: export cloud to Qhull file (fix #5)
ThomasDuvinage Feb 10, 2026
4dc2f91
doc: add missing supported extension
ThomasDuvinage Feb 10, 2026
466064a
build: Try to use system's CLI11 before using fetchcontent
arntanguy Feb 20, 2026
7e7fdf0
fix(convex): Add option to generate convex hulls with qconvex
arntanguy Feb 27, 2026
1ce2533
nix: init flake, remove jrl-cmakemodules submodule
arntanguy Jun 15, 2026
fcc8675
feat(cli11): Show help on error, positional args for --in and --out
arntanguy Jun 15, 2026
2f3a419
ci(mergify): all pipelines must suceed
arntanguy Jun 15, 2026
18388d0
ci: add resolute packaging
arntanguy Jun 15, 2026
0d45a06
Merge pull request #7 from jrl-umi3218/nix
arntanguy Jun 15, 2026
4d9e754
Release 1.0.0
arntanguy Jun 15, 2026
8242b2f
packaging: fix multi-arch install path for cmake find files
arntanguy Jun 15, 2026
7793430
packaging: add lintian-overrides rule
arntanguy Jun 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,6 @@ PenaltyBreakString: 1000
PenaltyExcessCharacter: 150
PenaltyReturnTypeOnItsOwnLine: 300
PointerAlignment: Middle
RawStringFormats:
- Delimiter: pb
Language: TextProto
BasedOnStyle: google
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
Expand All @@ -107,4 +103,3 @@ Standard: Cpp11
TabWidth: 2
UseTab: Never
...

15 changes: 0 additions & 15 deletions .clang-format-common.sh

This file was deleted.

1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake .#mesh-sampling
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
49 changes: 26 additions & 23 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,13 @@ on:

jobs:
clang-format:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- name: Install clang-format-6.0
- uses: actions/checkout@v4
- name: Install clang-format
run: |
sudo apt-get -qq update
sudo apt-get -qq remove clang-6.0 libclang1-6.0 libclang-common-6.0-dev libllvm6.0
sudo apt-get -qq install clang-format-6.0 clang-format
sudo apt-get -qq install clang-format-14
- name: Run clang-format-check
run: |
./.clang-format-check.sh
Expand All @@ -27,39 +26,43 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-16.04, ubuntu-18.04]
build-type: [RelWithDebInfo, Release]
os: [ubuntu-22.04, ubuntu-24.04]
build-type: [Debug, RelWithDebInfo]
compiler: [gcc, clang]

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install cmake
run: |
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
sudo apt-add-repository -y 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get -qq update
sudo apt-get -qq install cmake
cmake --version
- name: Install dependencies
uses: jrl-umi3218/github-actions/install-dependencies@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
ubuntu: |
apt: libeigen3-dev libpcl-dev libproj-dev libassimp-dev libboost-test-dev doxygen doxygen-latex
apt: libeigen3-dev libqhull-dev libproj-dev libassimp-dev libgtest-dev doxygen doxygen-latex
- name: Build and test
uses: jrl-umi3218/github-actions/build-cmake-project@master
with:
compiler: ${{ matrix.compiler }}
build-type: ${{ matrix.build-type }}
# Checks that finding the library and building against it works
- name: Test consumption
uses: arntanguy/github-actions/build-cmake-project@topic/skip-install
with:
compiler: ${{ matrix.compiler }}
build-type: Release
project-dir: tests/test_mesh_sampling
skip-install: "true"
- name: Check usage
shell: bash
run: |
set -x
export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH}"
export CMAKE_PREFIX_PATH="/usr/lib/x86_64-linux-gnu/cmake:${CMAKE_PREFIX_PATH}"

./.github/workflows/scripts/test-usage.sh ${{ matrix.build-type }}
check:
if: always()
name: check-build-ubuntu
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
3 changes: 0 additions & 3 deletions .github/workflows/mesh_sampling.recipe

This file was deleted.

39 changes: 39 additions & 0 deletions .github/workflows/nix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: "CI - Nix"
on:
push:
branches:
- devel
- master
- main
pull_request:
branches:
- devel
- master
- main
jobs:
nix:
runs-on: "${{ matrix.os }}-latest"
strategy:
fail-fast: false
matrix:
os: [ubuntu]
steps:
- uses: actions/checkout@v6
- uses: cachix/install-nix-action@v31
- uses: cachix/cachix-action@v17
with:
name: mc-rtc-nix
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
extraPullNames: "ros,gepetto"
- run: nix flake check -L
- run: nix build -L
check:
if: always()
name: check-macos-linux-nix
runs-on: ubuntu-latest
needs:
- nix
steps:
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
103 changes: 32 additions & 71 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,38 @@
name: Package mesh_sampling

# This workflow only runs when pushing to master or pushing a tag
#
# On master, it will:
# - Build packages for selected Debian/Ubuntu distro
# - Upload the packages to https://dl.bintray.com/arntanguy/ppa-head

on:
repository_dispatch:
types:
- package-master
- package-release
push:
paths-ignore:
- ".github/workflows/build.yml"
branches:
- "**"

- "**"
tags:
- v*
pull_request:
branches:
- "**"
jobs:
# This job build binary packages for Ubuntu
build-packages:
strategy:
fail-fast: false
matrix:
dist: [xenial, bionic, focal]
arch: [amd64]
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
- name: Prepare recipe
run: |
set -x
cp .github/workflows/mesh_sampling.recipe /tmp/mesh_sampling.recipe
export REF=`echo ${{ github.ref }} | sed -e 's@refs/[a-z]*/@@'`
sed -i "s#@REF@#${REF}#" /tmp/mesh_sampling.recipe
echo "Prepared recipe"
echo "###############"
cat /tmp/mesh_sampling.recipe
- name: Build package
uses: arntanguy/github-actions/build-package@topic/cmake3.11
with:
dist: ${{ matrix.dist }}
arch: ${{ matrix.arch }}
recipe: /tmp/mesh_sampling.recipe
- uses: actions/upload-artifact@v1
with:
name: packages-${{ matrix.dist }}-${{ matrix.arch }}
path: /tmp/packages-${{ matrix.dist }}-${{ matrix.arch }}/
# This job upload binary packages for Ubuntu
upload-packages:
needs: build-packages
strategy:
max-parallel: 1
fail-fast: false
matrix:
dist: [bionic,focal]
arch: [amd64]
runs-on: ubuntu-18.04
if: github.ref == 'refs/heads/master' && github.repository == 'arntanguy/mesh_sampling'
package:
uses: jrl-umi3218/github-actions/.github/workflows/package-project.yml@master
with:
latest-cmake: true
update-stable-and-head: true
matrix: |
{
"dist": ["jammy", "noble", "resolute"],
"arch": ["amd64"]
}
secrets:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
GH_TOKEN: ${{ secrets.GH_PAGES_TOKEN }}
check:
if: always()
name: check-package-ubuntu
runs-on: ubuntu-latest
needs:
- package
steps:
- name: Download packages
uses: actions/download-artifact@v1
with:
name: packages-${{ matrix.dist }}-${{ matrix.arch }}
- name: Upload
uses: jrl-umi3218/github-actions/upload-package@master
with:
dist: ${{ matrix.dist }}
arch: ${{ matrix.arch }}
subject: arntanguy
repo: ppa-head
package: |
name: mesh-sampling
desc: "mesh-sampling Convert CAD models to PCL pointcloud"
licenses: [BSD 2-Clause]
vcs_url: https://github.com/arntanguy/mesh_sampling
version: 1.0.0
path: packages-${{ matrix.dist }}-${{ matrix.arch }}
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}
12 changes: 12 additions & 0 deletions .github/workflows/scripts/test-usage.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

readonly CMAKE_BUILD_TYPE=$1
readonly this_dir=`cd $(dirname $0); pwd`
readonly root_dir=`cd $this_dir/../../../; pwd`
readonly project_dir=$root_dir/tests/test_mesh_sampling

mkdir -p $project_dir/build

cd $project_dir/build
cmake ../ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} || exit 1
cmake --build . --config ${CMAKE_BUILD_TYPE} || exit 1
32 changes: 32 additions & 0 deletions .github/workflows/update-flake-lock.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: update-flake-lock
on:
workflow_dispatch:
schedule:
# runs at 2:00 AM on the 25th day of every month
- cron: '0 2 25 * *'
jobs:
update-flake-inputs:
runs-on: ubuntu-slim
permissions:
contents: write
pull-requests: write
steps:
- name: Generate GitHub App Token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ secrets.MC_RTC_NIX_APP_ID }}
private-key: ${{ secrets.MC_RTC_NIX_APP_PRIVATE_KEY }}
- name: Checkout repository
uses: actions/checkout@v6
with:
token: ${{ steps.app-token.outputs.token }}
- name: Setup Nix
uses: cachix/install-nix-action@v31
- name: Update flake inputs
uses: mic92/update-flake-inputs@v1
with:
github-token: ${{ steps.app-token.outputs.token }}
pr-labels: 'no-changelog'
git-author-name: 'arntanguy[bot]'
git-author-email: '67139+arntanguy@users.noreply.github.com'
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
compile_commands.json
*.pyc
build/
.cache/
.vscode/
.direnv/
result
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +0,0 @@
[submodule "cmake"]
path = cmake
url = git://github.com/jrl-umi3218/jrl-cmakemodules.git
27 changes: 27 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
pull_request_rules:
# automatically queues when a bot pr succeeds (see queue_rules)
- name: merge [bot] PRs when CI pass
conditions:
- or:
- author = dependabot[bot]
- author = gepetto-flake-updater[bot]
- author = mc-rtc-nixpkgs-flake-updater[bot]
- author = github-actions[bot]
- author = pre-commit-ci[bot]
actions:
queue:

# runs when commenting @mergifyio queue
- name: queue PRs with "queue" label when all CI checks pass
conditions:
- label = queued
actions:
queue:

# ensure that required CI jobs suceed
queue_rules:
- name: default
merge_conditions:
- check-success = "check-macos-linux-nix"
- check-success = "check-build-ubuntu"
- check-success = "check-package-ubuntu"
30 changes: 30 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
ci:
autoupdate_schedule: quarterly
exclude: '^ext/'
repos:
- repo: meta
hooks:
- id: check-useless-excludes
- id: check-hooks-apply
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.7
hooks:
- id: clang-format
types_or: [c++, c]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-added-large-files
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace

- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.13
hooks:
- id: cmake-format
Loading
Loading