Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ coverage.xml
*.rhl
*.rui_bak
temp/
data/omg.*
recipe/**
!recipe/sha256.py

Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

* Bumped `nanobind` build-system requirement from `>=1.3.2` to `>=2.12` to fix `refined_delaunay_mesh` (and other `Eigen::Ref` overloads) raising `TypeError: incompatible function arguments` when called with `numpy>=2.4.0`.
* Extended `[tool.cibuildwheel] test-requires` to `numpy>=2.4` and `compas>=2.15,<3` so the wheel test job exercises the post-2.4 ndarray ABI on every build.
* Applied `ruff format` to `docs/examples/example_booleans_with_face_source.py`, `docs/examples/example_isolines.py`, `tasks.py`, and `tests/test_booleans.py` so the working tree is clean for the next `invoke release` run.

### Removed

Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

![build](https://github.com/compas-dev/compas_cgal/workflows/build/badge.svg)
[![GitHub - License](https://img.shields.io/github/license/compas-dev/compas_cgal.svg)](https://github.com/compas-dev/compas_cgal)
[![Conda - Latest Release](https://anaconda.org/conda-forge/compas_cgal/badges/version.svg)](https://anaconda.org/conda-forge/compas_cgal)
[![Conda - Platform](https://img.shields.io/conda/pn/conda-forge/compas_cgal)](https://anaconda.org/conda-forge/compas_cgal)
[![PyPI - Latest Release](https://img.shields.io/pypi/v/compas-cgal)](https://pypi.org/project/compas-cgal/)

This package provides Python bindings for specific algorithms of CGAL.
The bindings are generated with Nanobind and data is exchanged using NumPy arrays.
Expand Down
5 changes: 1 addition & 4 deletions docs/examples/example_booleans_with_face_source.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,7 @@ def cylinder_along(axis, radius=0.8):
# submesh is independent (boundary vertices are duplicated across submeshes)
# and gets its own scene object with a single color. Convenient for viewers
# that prefer one material/layer per object.
submeshes = {
mesh_id: Mesh.from_vertices_and_faces(Vs, Fs)
for mesh_id, (Vs, Fs) in split_by_source(V, F, S).items()
}
submeshes = {mesh_id: Mesh.from_vertices_and_faces(Vs, Fs) for mesh_id, (Vs, Fs) in split_by_source(V, F, S).items()}

# =============================================================================
# Visualize — toggle USE_SPLIT to compare the two paths.
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/example_isolines.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
mesh = Mesh.from_off(FILE)
mesh.quads_to_triangles()

V, F = mesh_subdivide_loop(mesh.to_vertices_and_faces(), k=2) # k=4 for proper smoothness
V, F = mesh_subdivide_loop(mesh.to_vertices_and_faces(), k=2) # k=4 for proper smoothness
mesh = Mesh.from_vertices_and_faces(V.tolist(), F.tolist())

# =============================================================================
Expand Down
2 changes: 1 addition & 1 deletion tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@
{
"base_folder": os.path.dirname(__file__),
}
)
)
4 changes: 1 addition & 3 deletions tests/test_booleans.py
Original file line number Diff line number Diff line change
Expand Up @@ -211,9 +211,7 @@ def test_boolean_chain_with_face_source():

cube = Box(2).to_vertices_and_faces(triangulated=True)
sphere = Sphere(0.8, point=[1, 1, 1]).to_vertices_and_faces(u=32, v=32, triangulated=True)
cyl = Cylinder(
0.4, 4.0, Frame([0, 0, 0], [1, 0, 0], [0, 1, 0])
).to_vertices_and_faces(u=32, triangulated=True)
cyl = Cylinder(0.4, 4.0, Frame([0, 0, 0], [1, 0, 0], [0, 1, 0])).to_vertices_and_faces(u=32, triangulated=True)

V, F, S = boolean_chain_with_face_source(
[cube, sphere, cyl],
Expand Down
Loading