Various improvements to FSparseDynamicPointOctree:
- replaced FSmallListSet with new TSparseListSet<int>
- removed ValidPointIDs flag array, can be inferred from PointIDToCellMap
- replaced checks with checkSlow
- added some variants of internal functions for box center, width, etc, that can work off level/index directly, instead of requiring a cell
- range query functinos use new TSparseGrid3::RangeIteration to avoid iterating over all root cells
- added ::ParallelInsertDensePointSet() which can do parallel octree build into fully-expanded leaf nodes
- added ::ConfigureFromPointCountEstimate() which can estimate MaxDepth and RootDimension given an estimate of point count, useful primarily with ParallelInsertDensePointSet()
- added ::RemovePointUnsafe() which skips various range checking etc
#rb jimmy.andrews
#preflight 37e92f8cc307d6fa52d41c7
[CL 23258977 by ryan schmidt in ue5-main branch]
+ add a find-any variant that can early out
+ fix the FindPointsInBall return value to return the number of points found, not the number of points in the append array (matching the comment, and the behavior if 0 points are present)
#rb david.hill
#preflight 637e47a72a05dabce9d5c735
[CL 23253099 by Jimmy Andrews in ue5-main branch]
+ move down some sqrts that only need to be called on the final value
#rb david.hill
#preflight 637ce97e4004f73f62b1239b
[CL 23236502 by Jimmy Andrews in ue5-main branch]
Changes include
* Removed #pragma once in cpp files
* Removed dll export on templated types
* Fixed code in headers that didn't compile (probably never included anywhere
* Added casting for code going from int to float. Header was never compiled in the owning module that had warnings as errors
#preflight 637b10c6fa348e848054bd0d
#rb none (devin.doucette for a couple files)
[CL 23218414 by henrik karlsson in ue5-main branch]
Change consist of only forward declaration and additional includes
#preflight 63789c1de30d438849c48188
#rb none
[CL 23218412 by henrik karlsson in ue5-main branch]
Headers are updated to contain any missing #includes needed to compile and #includes are sorted. Nothing is removed.
#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira
#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21181076 by Bryan sefcik in ue5-main branch]
Modify FGeometrySet3::FindNearestCurveToRay to use a single visibility metric, instead of branches. The previous code was dependent on the order in which segments were processed, and for the purposes of 3D UI hit testing, did not seem to do any better than the current code.
Add basic tests for FSegmentTree3 queries.
#rb rinat.abdrashitov
#preflight 62d5db7547779a730a49033b
[CL 21156801 by Ryan Schmidt in ue5-main branch]
- remove TGeneralPolygon2 and IntBoxTypes.h copy constructors, to allow everything to be autogenerated (especially so that a proper move should be generated for TGeneralPolygon2)
- add explicit moves + delete copies for TSparseGrid3 and FProgressCancel::ProgressScope, as these have custom destructors and the default move/copy behavior would cause bugs
- make voro++ move assignment protect vs self-move
#rb ryan.schmidt
#preflight 62a8acbb1a6b7dcd549b3239
[CL 20709684 by Jimmy Andrews in ue5-main branch]
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]
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]
Avoids overflow errors from msvc for certain target configurations.
#jira none
#rb halfdan.ingvarsson
#rnx
#preflight 625dfa31b72cfbaf9626f1f4
[CL 19798652 by jonathan adamczewski in ue5-main branch]