jbuckmccready / cavalier_contours

2D polyline/shape library for offsetting, combining, etc.
Apache License 2.0
151 stars 13 forks source link

Removed slice_join_eps from pline boolean options #31

Closed jbuckmccready closed 1 year ago

jbuckmccready commented 1 year ago

Just using pos_equal_eps for stitching slices together should work fine and avoids loss in floating point accuracy in cases where intersects are very close to one another (fixing debug assert case). The slice_join_eps was originally added in the C++ code to mask over problems of floating point accuracy in the intersects code.

Also when constructing the aabb_index from the slice start points no fuzzy epsilon is applied (they are added as points), epsilon is only applied during the querying. If it is applied both in creation and querying then the epsilon is effectively doubled, which is not desired.

jbuckmccready commented 1 year ago

This fixes case number 1 reported in https://github.com/jbuckmccready/cavalier_contours/issues/27.