Commit Graph

468 Commits

Author SHA1 Message Date
joe kirchoff
c34f3c99bb Fix clang 18 errors
#rnx

[CL 32747804 by joe kirchoff in ue5-main branch]
2024-04-04 19:05:47 -04:00
jimmy andrews
ff5c442a11 make all the (geometry script and geometry core) mesh transform methods consistently transform normals and tangents + add a RotateMesh to geometrycore to replace the incorrect implementation in geometry script
Note we make the normal/tangent transform optional for the Scale method, because the docs intentionally called it out as not transforming normals (but w/ the default behavior changed to correctly transform them)
#rb David.Hill

[CL 32482935 by jimmy andrews in ue5-main branch]
2024-03-25 16:35:10 -04:00
jimmy andrews
0dd83809c8 fix checkSlow when traversing through empty root cells to occupied children of sparse dynamic point octree
#rb David.Hill

[CL 32482759 by jimmy andrews in ue5-main branch]
2024-03-25 16:31:00 -04:00
jimmy andrews
70c35cc2a7 add navigable convex decomposition method to geometry script collision functions
+ expand preprocessing options for convex decomposition algorithm
#rb David.Hill

[CL 32482079 by jimmy andrews in ue5-main branch]
2024-03-25 16:17:07 -04:00
frederic doll
c38ab1eb44 Add distance method for Segment2/Line2 to Box2 in geometry
#rb Jimmy.Andrews

[CL 32475037 by frederic doll in ue5-main branch]
2024-03-25 13:26:11 -04:00
jimmy andrews
0e2d5261f8 fix issue where point sampling would compute incorrect mesh triangle areas for non-compact meshes
#rb David.Hill

[CL 32369676 by jimmy andrews in ue5-main branch]
2024-03-20 12:20:55 -04:00
katie caputo
a9865f1df6 Modeling Tools: Adds Geometry Selection Support for the Weld Tool
#JIRA UE-181652
#rb lonnie.li

[CL 32327946 by katie caputo in ue5-main branch]
2024-03-19 12:04:31 -04:00
jimmy andrews
3ae6387365 make geometrycore's box types cast to/from float as well as double engine box types
#rb lonnie.li

[CL 31919710 by jimmy andrews in ue5-main branch]
2024-02-29 14:57:24 -05:00
jimmy andrews
5e5d976da3 fix unreachable implicit "++iterator" in cases where a for-loop was used to just grab the first element of a set or map
#rb lonnie.li
#lockdown michael.balzer

[CL 31880424 by jimmy andrews in ue5-main branch]
2024-02-28 14:51:06 -05:00
jimmy andrews
a645b04994 make convex decomposition negative space default behavior more consistent to the previous version
#rb jimmy.andrews

[CL 31638046 by jimmy andrews in ue5-main branch]
2024-02-19 22:48:36 -05:00
steve robb
f8d47335a4 Replaced RemoveAt(N, 1, EAllowShrinking::*) with RemoveAt(N, EAllowShrinking::*).
[CL 31626444 by steve robb in ue5-main branch]
2024-02-19 16:51:58 -05:00
jimmy andrews
d37cdbd6ae remove older deprecated code from GeometryCore (FTransformSRT3's Inverse and legacy ExactPredicates methods)
#rb jimmy.andrews

[CL 31499495 by jimmy andrews in ue5-main branch]
2024-02-14 18:26:27 -05:00
jimmy andrews
4701412a75 move the convex decomposition algorithm's MergeBest function arguments into a struct, and add:
a callback to report merges,
 a callback to prevent merges, and
 a bool to control whether the error tolerance allows merges below the target number of parts requested.
#rb rinat.abdrashitov

[CL 31487645 by jimmy andrews in ue5-main branch]
2024-02-14 14:34:19 -05:00
jimmy andrews
841991ad26 Add static helper to convex hull class to compute the convex hull volume for an array of points
#rb rinat.abdrashitov

[CL 31487030 by jimmy andrews in ue5-main branch]
2024-02-14 14:22:44 -05:00
jimmy andrews
bfb2711093 add constructor to fsizedisjointset
#rb rinat.abdrashitov

[CL 31486717 by jimmy andrews in ue5-main branch]
2024-02-14 14:16:17 -05:00
jimmy andrews
f255aca291 add more options to the negative space search of convex decomp, including better version of VoxelSearch
+ add function to set usually-better settings than the defaults (but don't change the defaults, to avoid changing the behavior of any existing usage)
#rb rinat.abdrashitov

[CL 31457317 by jimmy andrews in ue5-main branch]
2024-02-13 20:28:50 -05:00
jimmy andrews
a4182e8dfb fix incorrect invalid-ID check in SplitInteriorVertexTrianglesIntoSubsets (to fix crash in bevel code)
#jira UE-206344
#rb David.Hill

[CL 31359015 by jimmy andrews in ue5-main branch]
2024-02-09 17:34:40 -05:00
jimmy andrews
6b33d2a738 robustness improvements for convex decomposition: continue splitting other parts after one part fails to split, add a min part size to stop splitting too-small parts, add thickening for degenerate cases where convex hull could not be constructed, add offset on-tri planes by plane tolerance to generate fewer very thin parts
+ support adding custom negative space, and parallelize negative space search
#rb rinat.abdrashitov


#changelist validated
#virtualized

[CL 31245012 by jimmy andrews in ue5-main branch]
2024-02-06 21:30:32 -05:00
jimmy andrews
80760d1179 use a prime value greater than max unsigned int for the modulo iteration in remesher, mesh simplification, and FModuloIteration to ensure that it is always coprime with the number of elements being iterated over
#rb Brian.Karis

#changelist validated
#virtualized

[CL 31234358 by jimmy andrews in ue5-main branch]
2024-02-06 17:35:43 -05:00
jimmy andrews
653c0036aa Fix convex hull vs sphere test for convex decomposition, and track/exclude degenerate planes from the test
#rb rinat.abdrashitov

[CL 31076102 by jimmy andrews in ue5-main branch]
2024-01-31 19:56:33 -05:00
jimmy andrews
ddcc86e070 fix bug in convex decomposition proximity graph updates on split
#rb David.Hill

[CL 31032909 by jimmy andrews in ue5-main branch]
2024-01-30 20:00:30 -05:00
jimmy andrews
88a864ef68 fix race condition in sparse dynamic point octree sampling method
#jira UE-201757

#rb David.Hill

[CL 31032026 by jimmy andrews in ue5-main branch]
2024-01-30 19:43:44 -05:00
jimmy andrews
8ac5fc9fc0 improve performance for merging coincident edges and fix test coverage
#rb David.Hill

[CL 30982908 by jimmy andrews in ue5-main branch]
2024-01-29 20:32:28 -05:00
jimmy andrews
774c5c2400 fix convex hull failure case when tolerances are used to discard points, and the best point has a reported plane distance less than zero due to floating point error (but the exact test has reported that the point is on the correct side of the plane)
#rb David.Hill

[CL 30936782 by jimmy andrews in ue5-main branch]
2024-01-26 14:59:41 -05:00
steve robb
f43fc1d782 Fixed up more bool-taking calls to take EAllowShrinking instead.
[CL 30894388 by steve robb in ue5-main branch]
2024-01-25 14:09:12 -05:00