forked from AngusJohnson/Clipper2
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Merge upstream after 1.3.0 ~ #6
Merged
Merged
Conversation
This file contains 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
…ohnson#736) Fixed bugs in PointInPolygon benchmark testing.
Updated other benchmark tests.
…ly in the CI script (AngusJohnson#745)
…ets the internal lists capacity, even if the capacity already sufficient. This causes C# to drop the currently allocated array and create a new, smaller one. (AngusJohnson#750) This changes check if the capacity is sufficient before setting it to reduces allocations.
…le point. (AngusJohnson#752) Minor code tidy (Delphi).
Other minor tweaks
Renamed GetIntersectPoint to GetSegmentIntersectPt (clipper.core) Renamed DistanceFromLineSqrd to PerpendicDistFromLineSqrd (clipper.core) Other minor tweaks.
Add -Wno-c++20-compat to compile flags. Without this, g++ will turn on compatibility testing. In C++20, template IDs are not allowed in constructors (clipper.core.h). The combination of `-Wall`, which turns on the warning, and `-Werror`, which makes the warning an error prevented builds using newer g++ versions
Improved Free Pascal compatibility (AngusJohnson#787)
(was too agressive in removing 'over-shrunk' paths)
* Floating point comparison * Clean-up The variables are initialized in the constructor, and this using line seems to be unused. * Update Clipper.RectClip.cs Variable initialized in constructor. * This looked to be unnecessary * group is not used, remove unused using statement. min_area also not used. _solutionTree initialized in constructor. * Null check corrections Assuming that the user can supply nulls as input. This addresses parts of AngusJohnson#802 One remaining issue is that there is a null check against a value returned from PathFromStr(), but that method always returns a non-null value, so the check would appear to be meaningless. * Clean up null checks These seem to be redundant due to outer checks. * More redundant null checks Also remove one unused variable (result) * Remove redundant base constructors Remove redundant .ToString() * Readability change The long while statement made this confusing to understand. Use braces to make the end of the statement and the action more apparent.
…ohnson#447) * Generate and install a cmake configuration file, which can be automatically picked up by downstream cmake projects. Downstream projects can link to Clipper2 or Clipper2Z by adding 'Clipper2::Clipper2' or 'Clipper2::Clipper2Z' as target dependency, and don't need to implement a FindPackage module. * Fix package config for Clipper2Z * Be a little less lenient when version-checking the configuration file.
…ot need to do it separately (AngusJohnson#813) * Do not explicitly clone googletest in the Github Actions script * Automatically clone googletest in the CMake script
also fixed a compiler warning (AngusJohnson#823)
* Remove typecasting in `IsCollinear` * Update the C# and Delphi versions as well * In the C++ version, multiply unsigned numbers (so that the result just wraps, and there is no undefined behavior) * Add test case for `IsCollinear`
Clipper.Core.pas - added overflow management for IsCollinear function.
Required for hash functions to work
…sion 2) (AngusJohnson#834) * Add test case that fails * IsCollinear: detect and handle integer multiplication wrapping
Otherwise a minor code tidy and updated code comments
* Add carry calculation tests * Fix carry calculation * Minor simplification * Test both ways, now that we are here * Add helpful remark * Avoid a single multiplication instruction per product (=one for `a*b`, and another for `c*d`)
… target architecture is at least 64-bit) (AngusJohnson#837)
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.
No description provided.