Repository navigation
pointsinside() winding-number test via natcpp; macOS CI on CRAN binaries (v1.11.1) - #528
Merged
Merged
Conversation
When natcpp (>= 0.3.2) is installed, pointsinside() logical results now use its generalised (solid-angle) winding-number test (c_pointsinside, method= "auto") instead of the normal-based Rvcg signed-distance test. The winding number does not depend on face normals, so it is robust to inconsistently oriented meshes that could previously give spurious inside/outside results. The choice is conditional at runtime via use_natcpp(version=): Rvcg remains the fallback when natcpp is absent and still serves rval="distance" and rval="mesh3d". Set options(nat.use_natcpp=FALSE) to force the Rvcg path. Bump version to 1.11.1 and update NEWS. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
P3M's macOS arm64 Rvcg 0.25 binary currently fails to load with a missing libomp symbol (___kmpc_dispatch_init_4u), breaking vignette rebuilding on the macOS check leg. Restrict use-public-rspm to Linux (where the binary speed-up matters) so macOS and Windows fall back to CRAN's cleanly-linked binaries. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 of 2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Point release nat 1.11.1.
pointsinside()now uses natcpp's generalised winding-number test for logical results when natcpp (>= 0.3.2) is installed. The winding number (solid-angle) test does not depend on face normals, so it is robust to inconsistently oriented meshes that could previously give spurious inside/outside classifications with the normal-basedRvcgsigned-distance test.use_natcpp(version=); natcpp stays inEnhances:with no version floor, so users without natcpp 0.3.2 are unaffected.consistent_logicalfunnel, so thelogicalpath keeps its bounding-box pre-filter and only in-box points hit the winding-number test.Rvcgremains the fallback and still servesrval="distance"andrval="mesh3d".options(nat.use_natcpp=FALSE)forces theRvcgpath.kcs20(the difference is near-boundary robustness); existing hxsurf tests pass.CI: restrict
use-public-rspmto Linux. P3M's macOS arm64Rvcg 0.25binary currently fails to load (symbol not found ___kmpc_dispatch_init_4u, a missinglibompsymbol), breaking macOS vignette rebuilding on master. macOS/Windows now fall back to CRAN's cleanly-linked binaries; Linux keeps the P3M speed-up.Depends on natcpp >= 0.3.2 (released; also on r-universe). CI installs natcpp from
natverse/natcpp.🤖 Generated with Claude Code