* earclip compiles
* some tests passing
* 46 tests passing
* refactor
* cleanup
* new cost
* cleanup
* fixed TouchingHole
* more fixes
* only 5 tests failing
* fixed short sides
* fixed Sponge2
* better cost
* improved keyholing
* Moved Rect to public
* added top/bottom check
* fixed bBox
* Polygon tests pass
* fixed Sponge3a
* another fix, another test
* keyhole refactor
* Added ClipDegenerates
* Refactor FindStarts
* fixed bugs
* fixed Sponge4
* refactor clipped
* another bug, another test
* another bug, another test
* Sponge4 passing
* all tests passing
* removed old triangulator
* fix isfinite
* debug checks
* remove 2-manifold check
* added comments
* fixed missing point bug
* another test, another fix
* two tests added and fixed
* fix build
* fixed CoplanarProp
* fixed seg fault
* reenable 2-manifold check
* refactor for polygon area
* factored out loop
* tests passing
* another test, another fix
* another test, another fix
* fixed dedupe segfault
* ignore duplicated verts
* re-enabled turn180
* re-enabled duplicate tests
* another test, another fix
* refactor keyholing
* more precise area computation
* disabled a test
* added test
* another test, another test
* fixed bridge bound
* fewer short edges
* replaced intersection sorting with InsideEdge
* another test, another fix
* allow a few degenerates in Sponge4
* Add Status() to the Python Bindings
This will help consumers of the Python bindings diagnose why their input meshes are not translating into manifolds properly...
* Make clang-format happier
* Use its suggestions verbatim
* python stuff
* do not choose musllinux_1_2
* skip musl build
musllinux_1_1 is too old
* try musllinux_1_2
* pep-0632
* fix
* update
* fix CI
* skip emulated tests on mac
* use build frontend
* use scikit-build-core
* re-enable action
* minor changes
speed up compilation a bit
* use nanobind
* don't use SABIModule for older python versions
* fix build error
* fix find and replace error
* Revert "re-enable action"
This reverts commit b3ede2a707743def16ded29bfb8e2b9a1c37f596.
* use better policies
* removed redundant copy
* added condensed_matter test
* disable normal check for CondensedMatter16
* disable overlap checking as well
* use single vector SparseIndices
* faster binary search
* tracy
* disable cuda and omp backends
* formatting
* find data races
* remove some cuda stuff
* rename indices to vertices
* fix
* better SparseIndices API
* minor fixes
* parallel boolean
* optimize csg_tree
* relax Samples.GyroidModule
* small fixes
* vec_dh refactor
* fix compiler errors
* disable some gcc warnings
* only apply new warning flags for GCC
* parallel some more
* use std::mutex
* fix compilation error
* check if max concurrency > 1
* use task_group
* disable face reordering
* preserve face order
* comments
* fix cuda build
* fix meshid not found situation
* use explicit stack and scratch buffer
this avoids potential stack overflow and reduces allocation calls
* faster collider
* please cuda
* missing commit
* remove collider optimization
* dedup face_op.cpp
* dedup boolean_result.cpp
* remove ambiguous comment
* include array
* use system gtest if possible
* optional tracy support
* fix meshid not found situation
* try fix CI
* fix ubuntu build
* disable windows tbb build first
* update tbb config
* format
* fix cmake BUILD_SHARED_LIBS
we should make the library type implicit, so users can decide whether or
not to build shared libraries.
* revert public.h changes
* remove version requirement for gtest
* update tracy instructions
no need to use sudo,
and we need some debug flags for good stack capture
* fix js build
* simple speedup from stl algorithms
* fix build
* std::list allocator optimization
* added documentation
* fix weird formatting issues
* try fixing MacOS build
it seems that Apple Clang 14 does not support pstl
* fix again
* fix macos build
* fix apple
* clean up using macro
* fix apple?
* small fix...
* fix apple (again...)
* remove extra prefetch
this is in the hot path and causes performance issues
* implemented optimization proposed by @stephomi in #483
* formatting
* fix cuda build
* combine the loop
Allows a developer to pass some context to the level set function in the C FFI bindings, such as a pointer to an object in the host language, so that parallel calls can be threadsafe.
Following discussion on #455, this removes RectClip from our API, as it does not provide the same guarantees that Clipper2's regular boolean clipping operations give us (that make sure that CrossSections can be extruded successfully).
Also, this fixes AsCrossSection which was returning empty CrossSections due to incorrect winding followed by a Positive fill rule union operation. Now it is working as advertised, while skipping over the needless clipping by implementing it as a CrossSection constructor (building a PathsD directly).