Add a 'source ID' concept to the convex part decomposition, to enable tracking of which hulls were not merged to any other hulls when running the convex hull merging algorithm.
#rb rinat.abdrashitov
[CL 28106868 by jimmy andrews in ue5-main branch]
Note: These settings were all introduced post-5.3, so moving them should not require deprecation
#rb rinat.abdrashitov
[CL 27715888 by jimmy andrews in ue5-main branch]
1. A MaxHullVertices setting. If positive, the convex hull algorithm will greedily add vertices to best expand the hull, generating a simplified hull if the exact hull would exceed the specified budget.
2. SkipAtHullDistanceAbsolute/SkipAtHullDistanceAsFraction settings. If positive, the convex hull algorithm will ignore points that are closer than the threshold value, resulting in a simpler hull.
Also stop relying on the Orient3 exact predicate to find the farthest hull points (regardless of whether PointsBudget is specified) both so that the PointsBudget and SkipAtHullDistance settings can accurately compare distances from different triangles and also to fix an issue where the Orient3 magnitude was discarded when requesting a single-precision Orient3 value.
Update convex hull unit test to also test these new settings.
Also adds a small optimization the reduces the number of duplicate points considered.
#rb rinat.abdrashitov
#jira none
[CL 27604026 by Jimmy Andrews in ue5-main branch]
- ZeroValue and NoneValue in TIntVector2 (from TIntVector3)
- GridValues() in TDenseGrid3 (from TDenseGrid2)
#rb jimmy.andrews
[CL 27294375 by frederic doll in ue5-main branch]
Add initial PointSetFunctions to Geometry Script, including: K-Means Clustering, Flatten/Unflatten, Make Bounding Box, Transforms -> Points
Add a custom For Each-style macro to provide a more convenient interface for working with the clustering result
#rb semion.piskarev, ryan.schmidt, david.hill
[CL 26785428 by jimmy andrews in ue5-main branch]
Specifically the computations of attribute gradients now uses a local coordinate system defined in terms of the triangle faces.
#rb jimmy.andrews
[CL 26771504 by david hill in ue5-main branch]
+ removed occupancy grid computation when useless (this is only used for debug purposes and slows down the binding calculation)
#jira UE-187013
#jira UE-180559
#rb halfdan.ingvarsson
[CL 26506572 by benoit gadreau in ue5-main branch]
- create TSparseGrid2 from TSparseGrid3
- implement missing methods in FAxisAlignedBox2i
- add basic auto test
#rb jimmy.andrews
[CL 26357668 by frederic doll in ue5-main branch]