1. Actually use the SpatialLevels argument
2. Only allow early stopping at level boundaries, so the priority ordering can properly sort points at the same spatial level. Fixes points being spatially clumped when early stopping is enabled.
3. Stop referring to some of the importance weights as "curvature" (we often weight by things other than curvature)
4. Expose OffsetResFactor to allow more control of how clumpy the distribution is (value was hardcoded at 4, but I think 1 or 2 tends to space things better)
#rb david.hill
#preflight 628fb6d48c23e52ef0fbec28
[CL 20381323 by Jimmy Andrews in ue5-main branch]
Should be faster in most practical cases, though can be slower if an inserted edge must cross a lot of existing edges.
#rb rinat.abdrashitov
#preflight 62845c74ac1a933d478fcc0b
[CL 20261922 by Jimmy Andrews in ue5-main branch]
unittests are included for the blocked grids and sdf generation, as well as benchmarks for sdf generation.
( This CL flushes out an old shelf of Ryan's.)
#preflight 62713371fe09c0cfbc3719a1
#rb Tyson.Brochu
[CL 20042490 by David Hill in ue5-main branch]
Update Arrangement2d's triangulation functions to use that fill mode, and also to be explicit about whether the boundary group is expected or not
#rb david.hill
#rb rinat.abdrashitov
#preflight 6269606c8c2782e4f2327a34
[CL 19941732 by Jimmy Andrews in ue5-main branch]
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().
Resubmission of CL# 19833778 with fixes for problematic Mac and Android toolchains, causing spurious errors while building PCHs.
#rb devin.doucette, charles.bloom, will.damon, chris.babcock
#jira UE-148435
#preflight 6260764d91376845adf9893f
[CL 19840896 by Steve Robb in ue5-main branch]
Deprecation of FPlatformMath::IsNegative*() functions.
New FPlatformMath::IsNegativeOrNegativeZero().
Fix up of existing usage to either use < 0 or IsNegativeOrNegativeZero where appropriate.
Fixes for aliasing problems in various FMath functions, including IsNegative*().
#rb devin.doucette, charles.bloom
#jira UE-148435
#preflight 625ece48f16e0d2accab15d9
[CL 19833778 by Steve Robb in ue5-main branch]
also fix handling of splitting into connected components when some of the components don't have a valid convex hull (by bailing on the component split in that case)
#rb rinat.abdrashitov
#preflight 6255ec9eef3d24a90eb4e00f
[CL 19730210 by Jimmy Andrews in ue5-main branch]
Works by trying a bunch of plane cuts to break reduce the volume of the convex pieces, then merging them back together to remove those that were not helpful. We need the merge step especially for meshes where it takes multiple plane cuts to start reducing the hull volumes, as the initial cuts in that case are not informed by the error metric.
#rb tyson.brochu
#rb matija.kecman
#preflight 624614b1b6084b98324d2059
[CL 19578614 by Jimmy Andrews in ue5-main branch]
- Allow the Attribute Editor Tool to add/delete weight maps from DynamicMesh targets.
- Enable transferring scalar weight maps back and forth between DynamicMesh and MeshDescription.
- Serialize TDynamicAttributeBase::Name when its subclasses are serialized
#rb nathan.mitchell
#preflight 62439b2ab6084b9832307f6e
[CL 19551734 by tyson brochu in ue5-main branch]
- fix bug with detection of vertices on the solid segment of a ghost triangle
- detect when 'fill' of a triangulation is ambiguous under winding rules (e.g. due to open edges)
- optionally automatically track duplicate vertices and remap duplicate-vertex references to the vertex that was actually inserted
#rb rinat.abdrashitov
#preflight 623e11a9982d12a89973cdec
[CL 19521151 by Jimmy Andrews in ue5-main branch]
- Report failures to constrain edges, optionally detecting the case where the edge was flipped away by a subsequent constraint (happens if the constraint edges intersect)
- Add options to directly triangulation TPolygon2 and TGeneralPolygon2 (+ the supporting fill algorithms to be run on any array of edges)
- Add validation of Delaunay property for CDTs on all non-constrained edges
- Update edge cache (if enabled) on sub-triangulation append, improving perf on CDTs with many constrained edges
add corresponding test coverage, and change the test runner to always automatically run exact predicates globalinit
#preflight 62321d0fe2541b4ff3b35efd
#rb rinat.abdrashitov
[CL 19408363 by Jimmy Andrews in ue5-main branch]
Much faster and usable from non-plugin code
#rb rinat.abdrashitov
#rb tyson.brochu
#preflight 622a6e9632749f363c5a22ba
[CL 19341780 by Jimmy Andrews in ue5-main branch]
- Support InCircle
- Support float as well as double
- Add safer, templated versions that specify whether float or double is to be used (for TVector/TVector2)
#rb rinat.abdrashitov
#preflight 62277e1e7077eb04cf6db63d
[CL 19309153 by Jimmy Andrews in ue5-main branch]
- add FColliderMeshProjectionTarget to allow a FColliderMesh to be used as a projection target
- remove dead code from TDenseGrid3
- add TBlockedDenseGrid3, variant of TDenseGrid3 that lazy-allocates sub-blocks of a dense grid, to reduce memory usage in sparse/narrow-band situations on large uniform grids
- replace usage of TDenseGrid3 in FMarchingCubes with TBlockedDenseGrid3, to reduce memory footprint on large meshing problems
#rb David.Hill, Jimmy.Andrews
#jira UE-141151
#preflight 61fc0007176256ec4f744c4
#lockdown Aurel.Cordonnier
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18846016 in //UE5/Release-5.0/... via CL 18846053 via CL 18846421
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)
[CL 18846468 by ryan schmidt in ue5-main branch]