Skip to content

Commit 9f8159d

Browse files
authored
Merge branch 'libigl:main' into feat/add-is_intrinsic_delaunay
2 parents fc8010e + aa09a61 commit 9f8159d

3 files changed

Lines changed: 38 additions & 6 deletions

File tree

.github/workflows/wheels.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Wheels
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main
@@ -27,19 +28,19 @@ jobs:
2728
strategy:
2829
fail-fast: false
2930
matrix:
30-
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-14, macos-13, windows-latest] # Use specific versions for clarity
31+
os: [ubuntu-24.04, ubuntu-24.04-arm, macos-latest, macos-15-intel, windows-latest] # Use specific versions for clarity
3132
arch: [x86_64, arm64]
3233
pybuilds: [cp38, cp39, cp310, cp311, cp312] # Define pybuilds at the top level
3334
exclude:
3435
- os: ubuntu-24.04-arm # No need to specify arch, it's already implicit
3536
arch: x86_64 # Exclude x86_64 on ARM
36-
- os: macos-14 # Exclude macOS 14 (Sonoma)
37+
- os: macos-latest
3738
arch: x86_64 # Exclude x86_64 explicitly
38-
- os: macos-14 # Exclude cp38
39+
- os: macos-latest # Exclude cp38
3940
pybuilds: cp38
40-
- os: macos-13 # Exclude macOS 13 (Ventura) - arm64
41+
- os: macos-15-intel
4142
arch: arm64 # Exclude arm64 on macOS 13
42-
- os: macos-13
43+
- os: macos-15-intel
4344
pybuilds: cp38
4445

4546
name: >
@@ -51,8 +52,13 @@ jobs:
5152
with:
5253
python-version: '3.12'
5354
- run: pip install cibuildwheel==2.23.0
54-
- run: python -m cibuildwheel --output-dir wheelhouse
55+
- name: Build wheels
56+
run: python -m cibuildwheel --output-dir wheelhouse
5557
env:
58+
CIBW_BEFORE_ALL_LINUX: "yum install -y clang"
59+
CIBW_ENVIRONMENT_LINUX: "CC=clang CXX=clang++"
60+
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"
61+
CIBW_MANYLINUX_AARCH64_IMAGE: "manylinux_2_28"
5662
CIBW_BUILD: "${{ matrix.pybuilds }}-*" # Use matrix.pybuilds and matrix.arch
5763
CIBW_ARCHS_MACOS: ${{ matrix.arch }}
5864
CIBW_SKIP: "cp*-manylinux_i686 cp*-musllinux* cp*-win32"

src/bounding_box_diagonal.cpp

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#include "default_types.h"
2+
#include <igl/bounding_box_diagonal.h>
3+
#include <nanobind/nanobind.h>
4+
#include <nanobind/eigen/dense.h>
5+
6+
namespace nb = nanobind;
7+
using namespace nb::literals;
8+
9+
namespace pyigl {
10+
auto bounding_box_diagonal(
11+
const nb::DRef<const Eigen::MatrixXd>& V
12+
) {
13+
return igl::bounding_box_diagonal(V);
14+
}
15+
}
16+
17+
void bind_bounding_box_diagonal(nb::module_ &m) {
18+
m.def("bounding_box_diagonal", &pyigl::bounding_box_diagonal,
19+
"V"_a,
20+
R"(Compute the length of the diagonal of a given meshes axis-aligned bounding
21+
22+
@param[in] V #V by 3 list of vertex/point positions
23+
@return length of bounding box diagonal)"
24+
);
25+
}

tests/test_all.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,7 @@ def test_triangle():
566566
def test_misc():
567567
V,F = igl.icosahedron()
568568
BV,BF = igl.bounding_box(V,pad=1.0)
569+
L = igl.bounding_box_diagonal(V)
569570
R,C,B = igl.circumradius(V,F)
570571
R = igl.inradius(V,F)
571572
K = igl.internal_angles(V,F)

0 commit comments

Comments
 (0)