Commit Graph

461 Commits

Author SHA1 Message Date
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
steve robb
f029468598 Fixed up a lot of bool-taking container resize functions to take EAllowShrinking instead.
[CL 30729174 by steve robb in ue5-main branch]
2024-01-19 16:41:35 -05:00
steve robb
f70478d4f0 Moved some bool-taking container wrappers over to using EAllowShrinking.
FGraphAStar::PopIndex() isn't passing on its argument to the container - that existing behavior has been retained.

#rb james.hopkin
[FYI] Yoan.StAmant

[CL 30712410 by steve robb in ue5-main branch]
2024-01-19 05:12:44 -05:00
marc audy
19e84555b3 Silence PVS warnings
[CL 30653812 by marc audy in ue5-main branch]
2024-01-17 01:34:02 -05:00
frederic doll
74e9aa89e7 Add way to retrieve the real allocated memory size of a Point Provider Cluster
#rb sarah.noonan
[FYI] karl.dubois

[CL 30579508 by frederic doll in ue5-main branch]
2024-01-11 16:57:26 -05:00
marc audy
26e65d08c3 Silence PVS warnings
[CL 30538540 by marc audy in ue5-main branch]
2024-01-10 11:38:07 -05:00
jimmy andrews
143832d436 Add support for inverting Transform Sequences, appending inverses of transforms to Transform Sequences, and for testing if a TTransformSRT3 can represent its own inverse (to help efficiently represent Transform Sequence inverses)
#rb tyson.brochu

[CL 30354915 by jimmy andrews in ue5-main branch]
2023-12-15 13:56:09 -05:00
jimmy andrews
ebc890fa52 Update TQuaternion::EpsilonEqual to account for the Quaternion == -Quaternion case, and add an IsIdentity() method
#rb David.Hill

[CL 30328545 by jimmy andrews in ue5-main branch]
2023-12-14 14:47:41 -05:00