8000 misc changes by pca006132 · Pull Request #1190 · elalish/manifold · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

misc changes #1190

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 15, 2025
Merged

misc changes #1190

merged 5 commits into from
Mar 15, 2025

Conversation

pca006132
Copy link
Collaborator
  1. Removed the use of acos and fma in boolean code. Our boolean should hopefully be deterministic across machines now, please let us know if this is not.
  2. Made mesh dump function public. This will write an OBJ file in a custom format to an ostream in full precision, which can be imported via the ImportMesh64 function. This is for debug purposes only because the format is subject to changes, and the ImportMesh64 cannot read OBJ files exported by other programs (and not intended to be used that way, user should just use meshio).

Copy link
codecov bot commented Mar 13, 2025

Codecov Report

Attention: Patch coverage is 83.56164% with 12 lines in your changes missing coverage. Please review.

Project coverage is 92.10%. Comparing base (1f18803) to head (c533984).
Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
src/impl.cpp 7.69% 12 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1190      +/-   ##
==========================================
- Coverage   92.21%   92.10%   -0.11%     
==========================================
  Files          31       31              
  Lines        5959     5966       +7     
==========================================
  Hits         5495     5495              
- Misses        464      471       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Owner
@elalish elalish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@@ -561,7 +568,7 @@ void Manifold::Impl::CalculateNormals() {
// should just exclude it from the normal calculation...
if (!la::isfinite(currEdge[0]) || !la::isfinite(prevEdge[0])) return;
double dot = -la::dot(prevEdge, currEdge);
double phi = dot >= 1 ? 0 : (dot <= -1 ? kPi : std::acos(dot));
double phi = dot >= 1 ? 0 : (dot <= -1 ? kPi : acos(dot));
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe we should call these floats, since our acos function isn't giving us double precision?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at it, no, because our face normal is double, so we will have to downcast that as well if we want to use float.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess what I mean is, our normals aren't really as precise as doubles anymore right? It's probably fine to leave it as is, but I was just thinking maybe it would be good to remind ourselves that these have more error than e.g. our positions.

@pca006132 pca006132 merged commit beb9ca6 into master Mar 15, 2025
27 checks passed
@pca006132 pca006132 deleted the misc branch March 15, 2025 09:00
@elalish elalish mentioned this pull request May 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0