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]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds
[CL 26082269 by henrik karlsson in ue5-main branch]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong
[CL 26082043 by henrik karlsson in ue5-main branch]
[FYI] Jimmy.Andrews
Original CL Desc
-----------------------------------------------------------------
Add a new hull merge node for reducing the hulls used on convex decompositions
+ minor cleanup/fixes of hull merging algorithms
[CL 25960651 by jimmy andrews in ue5-main branch]
+ add a 'max hulls' option to convex decomposition, which functions like 'target num hulls' but can still cap the number of hulls when an error tolerance is specified (target num hulls is ignored when error tolerance is set)
#rb rinat.abdrashitov
#preflight 646d1033f85111e06c3a8fb7
[CL 25593250 by jimmy andrews in ue5-main branch]
+ expose this to dataflow
+ make cluster-convex-from-children algorithm use depth-first node ordering, to get more consistent results
#rb cedric.caillaud
#preflight 645e73ccaa3c584c0bb0b17a
[CL 25458948 by jimmy andrews in ue5-main branch]
+ Add a generalized winding triangulation mode for Delaunay2 as a useful fallback for inputs where some edges failed to insert + make the blueprint general polygon triangulation use it as a fallback
#rb rinat.abdrashitov
#preflight 64462661641e2c3cb469409b
[CL 25175533 by jimmy andrews in ue5-main branch]