2d Delaunay triangulation with mesh refinement for Unity with Burst compiler
PlantingSeedJob
by removing generics and introducing an algorithm based on constraintEdges
. This resulted in improved performance.AffineTransform2D
struct, and several jobs have been removed.Triangulator.Settings.ConstrainEdges
property. To enable constrained edges, pass the corresponding array into input.Triangulator.Settings.BatchCount
property. This property is no longer used, setting it has no effect.pointToHalfedges
during constraint resolution. This resolves GitHub issue #111.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v2.4.0...v2.5.0
Hello, and happy holidays! 🎅 This marks the final release of 2023, but exciting updates await in 2024!
In this release, significant improvements were made to the refinement algorithm, enhancing the overall quality of the mesh. The refined mesh now features non-uniform triangle density, with increased concentration near boundaries and reduced density in the mesh bulk. See the example attached below:
ConcentricShellParameter
in TriangulationSettings
, serving as a constant for concentric shells segment splitting.RefinementThresholds
in TriangulationSettings
, including .Area
and .Angle
. Previous corresponding parameters are marked with obsolete.README.md
to include a comparison between different refinement settings.MinimumArea
, MaximumArea
, and MinimumAngle
as obsolete. Replace these parameters with the more versatile RefinementThresholds
.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v2.3.0...v2.4.0
half-edges
approach.edgeToTriangles
and triangleToEdges
mappings.Triangle
struct.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v2.2.0...v2.3.0
half-edges
approach, which significantly improved performance. The algorithm no longer relies on triangulation mappings, such as edge-to-triangle and triangle-to-edge relationships (or circles). The complexity of the intersection searching algorithm has been reduced from a naive $O(n^2)$ solution to $O(n \log n)$.README.md
.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v2.1.0...v2.2.0
half-edges
(see delaunator
and delaunator-sharp
for more details). This change has led to a significant performance boost in unconstrained triangulation. See README.md
for more details.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v2.0.0...v2.1.0
Preprocessor
enum with the following options: None
, COM
, and PCA
. This enum replaces the previous transformation settings (UseLocalTransformation
/UsePCATransformation
).Status
(with values OK
, ERR
) enum along with corresponding native data. This enum is now utilized for input validation, with functionality extending beyond the Unity editor to encompass validation in builds as well.TriangulationSettings
.2022.2.1f1
.1.8.7
, Collections to 2.2.0
.Schedule(NativeArray<float2>, ...)
.Positions
, Triangles
, PositionsDeferred
, PositionsDeferred
.TriangulatorNativeData
as part of a significant refactor to simplify the code structure. Internal implementations were cleaned up, and code structure was simplified.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v1.5.0...v2.0.0
Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v1.4.0...v1.5.0
README.md
.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v1.3.0...v1.4.0
RestoreBoundary
.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v1.2.0...v1.3.0
TriangulatorNativeData
.Full Changelog: https://github.com/andywiecko/BurstTriangulator/compare/v1.1.0...v1.2.0