Commit Graph

329 Commits

Author SHA1 Message Date
ryan schmidt
c49fc562ad CombineMeshInstance: add support for combining simple collision and simple box-merging strategy to combine collision shapes.
GeometryCore: Make TAxisAlignedBox3::DistanceSquared const (should have been). Add TQuaternion * scalar and operator+ functions. Add TTransformSRT3::GetScale3D for API compatibility with engine FTransform
Add FSimpleShapeSet3d::Append() variant that takes a FTransformSequence3d
#rb rinat.abdrashitov
#preflight 63fe7971437ce3e7f3b51c8a

[CL 24454963 by ryan schmidt in ue5-main branch]
2023-02-28 19:00:45 -05:00
rinat abdrashitov
13a3f391cb Reverting the accidental removal of the fix for CheckBoneValidty()
#rb trivial
#preflight 63fe1fb3c63aaf1e1368707b

[CL 24450167 by rinat abdrashitov in ue5-main branch]
2023-02-28 15:45:44 -05:00
rinat abdrashitov
86f75d8c02 Fix static analysis error.
#rb trivial
#preflight 63fd74f3dd78dd50f6cfe048

[CL 24438973 by rinat abdrashitov in ue5-main branch]
2023-02-28 00:24:00 -05:00
jimmy andrews
999722e77c fix validity check for boneless meshes
(fixes geometry processing unit tests)

#rb rinat.abdrashitov
#preflight 63fd49692b1a2765f9a994aa

[CL 24437945 by jimmy andrews in ue5-main branch]
2023-02-27 22:36:45 -05:00
rinat abdrashitov
ff5c6e3d72 Added a new class to store per-bone data.
Added bone attributes (name, color, parent index, pose) to the dynamic mesh attribute set.

#rb halfdan.ingvarsson
#rb ryan.schmidt
#preflight 63fcd62dc35a141980f8429f

[CL 24432083 by rinat abdrashitov in ue5-main branch]
2023-02-27 16:20:20 -05:00
jimmy andrews
3a53d123a9 remove deprecated timestamp concept and fix const correctness for geometrycore curve and point set classes
#rb rinat.abdrashitov
#preflight 63f63ef7b91d7b0a12b9c945

[CL 24370918 by jimmy andrews in ue5-main branch]
2023-02-22 17:27:21 -05:00
jimmy andrews
d6daff005b Make mesh elements visualizer distinguish between normal and tangent seams like the mesh inspector does
#rb david.hill
#preflight 63ee4e7d500c05a6244b020b

[CL 24270353 by jimmy andrews in ue5-main branch]
2023-02-16 17:39:45 -05:00
christopher waters
f0b834540e Cleaning up a number of direct module includes.
[CL 24253328 by christopher waters in ue5-main branch]
2023-02-16 04:13:28 -05:00
jimmy andrews
08cdafff34 add a merge-only api to convex decomposition
#preflight 63d9872265738ba951f5058e
#rb david.hill

[CL 23943754 by jimmy andrews in ue5-main branch]
2023-01-31 21:58:48 -05:00
Steve Robb
4d8666500d Removed remaining TIsSame usage.
#rb none
#jira none
#preflight 63c74fcb0b358b97d1cf7160

[CL 23753013 by Steve Robb in ue5-main branch]
2023-01-18 04:53:21 -05:00
Jimmy Andrews
5bae2ab300 make sparse dynamic octree use range iteration to find relevant root cells for point containment and range queries, when there are enough root cells for this to make sense
#rb david.hill
#preflight 63bf9c094b018bfa80e42e39

[CL 23670550 by Jimmy Andrews in ue5-main branch]
2023-01-12 17:26:31 -05:00
ryan schmidt
5a61c6b75c GeometryProcessing: add MakeSelectAllSelection(), MakeSelectAllConnectedSelection(), MakeBoundaryConnectedSelection(), CombineSelectionInPlace() utility functions. Some of this is ported from geometry script selection code, which should be replaced with calls to these util functions (after testing). Minor necessarily additions to FGeometrySelection and FGeometrySelectionEditor.
#rb none
#preflight 63c02b711e5ee71dc373f692

[CL 23665656 by ryan schmidt in ue5-main branch]
2023-01-12 12:50:34 -05:00
steve robb
54079e3400 Removed TIsSame usage from Chaos and GeometryCore (part of a larger change to deprecate TIsSame).
#rb robert.manuszewski
#preflight 63c016d8bf54fa7b36683f8f

[CL 23664490 by steve robb in ue5-main branch]
2023-01-12 11:45:37 -05:00
matija kecman
346ead8222 Render Capture Baking: Refactor how the scene capture and baking steps are managed to fix a crash when scene capture parameters changed and implement other improvements
The crash that was fixed occured when, for example, the userturned off a capture channel while the baking background compute was running
The refactoring has enabled the tool to only bake the newly captured channels only, previously when the scene capture was incrementally updated all pre-existing channels were baked again
The refactoring should enable us to more easily support a feature where the user toggles capture directions or adds new ones manually


#preflight 63c02c46345a532dfc273e6a
#rb lonnie.li
#rnx

[CL 23663959 by matija kecman in ue5-main branch]
2023-01-12 11:09:29 -05:00
Jimmy Andrews
d7b600d398 Add BRIO point ordering and update Delaunay2/3 to use it, to improve performance e.g. for grids of points
#rb rinat.abdrashitov
#rb tyson.brochu
#preflight 63b8a33b221aab21e09c6756

[CL 23607591 by Jimmy Andrews in ue5-main branch]
2023-01-07 13:23:14 -05:00
benoit gadreau
55200a5060 fixed wrong test from CL 23258977
#jira UE-173052
#rb ryan.schmidt
#preflight skip

[CL 23567478 by benoit gadreau in ue5-main branch]
2023-01-03 12:22:36 -05:00
henrik karlsson
ce587eb612 Added markups for headers that can't be compiled standalone.. this is needed for both Header units and IWYU
#preflight 63789b0c170bc34a93a869e5
#rb none

[CL 23552160 by henrik karlsson in ue5-main branch]
2022-12-21 02:46:50 -05:00
jimmy andrews
f8055de684 Fix "FDynamicMeshAttributeSet::EnableMatchingAttributes" losing generic attributes w/ bClearAttributes=true
(fixes crash in executing fracture w/ fracture mode)

#rb trivial
#preflight 639d673f35203bc7aa0172c9

[CL 23544294 by jimmy andrews in ue5-main branch]
2022-12-17 03:47:09 -05:00
michael balzer
a172cc38ca DynamicMesh: Fix skin weight attributes serialization and comparison, and add to serialization unit tests
#jira UE-169545
#preflight 639ce1422540a78d27562982

[CL 23543767 by michael balzer in ue5-main branch]
2022-12-16 19:15:23 -05:00
ryan schmidt
aab78a868d ToolsFramework: Support optional Relative translation snapping (in World & Local coordinates) in CombinedTransformGizmo while still optionally supporting Absolute translation snapping in World coordinates. Previously only supported Absolute snapping in World coordinates. Relative is now the default, similar to standard UE gizmo.
- moved most functions defined in ParameterToTransformAdapters.h header into a new cpp to simplify debugging/etc
- UGizmoAxisTranslationParameterSource and UGizmoPlaneTranslationParameterSource now support optional constraints on the translation Delta
- CombinedTransformGizmo now has PositionAxisDeltaSnapFunction that, when in 'relative' mode, snaps the translation Deltas to increments via those constraints
- Added CombinedTransformGizmo::RelativeTranslationSnapping which controls relative vs absolute translation snapping, and can fetch value from ToolsContext
- Also added rotation-angle-delta constraint support UGizmoAxisRotationParameterSource and switched the gizmo to explicitly snap angle-deltas instead of trying to snap to "world rotation grid"
- Moved SnapToIncrement function to UE::Geometry namespace (in VectorUtil.h) and cleaned up a bit of duplicate code in UModelingSceneSnappingManager left over from pre-GeometryCore times

- Added FToolContextSnappingConfiguration::bEnableAbsoluteWorldSnapping, EdModeInteractiveToolsContext:: bEnableAbsoluteWorldSnapping and bits to hook this up
- Added UModelingToolsEditorModeSettings::bEnableAbsoluteWorldSnapping which stores this setting globally, but currently it is not serialized to config file, resets to default (Relative) on Editor restart
- Toolkit exposes toggle in the Selection toolbar menus

#rb none
#preflight 639b4036680483bcb1c33869

[CL 23532642 by ryan schmidt in ue5-main branch]
2022-12-15 17:03:36 -05:00
ryan schmidt
c96676ceac GeometryCore: improve FDynamicMeshAttributeSet::EnableMatchingAttributes() function. SkinWeights and Generic attributes now are only reset/discarded if bClearExisting=true. Added bDiscardExtraAttributes flag which results in removal of any attributes not in target attribute set, but does not clear existing attributes. Also added bDiscardExtraAttributes flag to FDynamicMesh3::EnableMatchingAttributes(). GeoScript Mesh Append functions use this flag now when matching "source" attributes, and behave properly in default (combine) mode for Skin Weights.
#rb jimmy.andrews
#preflight 639a5dd4776b61ba3bcbaee2

[CL 23523594 by ryan schmidt in ue5-main branch]
2022-12-14 22:06:48 -05:00
henrik karlsson
0f2ff3a256 Fixed non-unity (with orphaned headers compiled independently) compile errors
#preflight 639278e767018b14b5b68597
#rb none

[CL 23460523 by henrik karlsson in ue5-main branch]
2022-12-08 21:34:12 -05:00
brandon schaefer
f77afc5a1d Fix lifetime issues, all of these are undefined behaviour
#jira UE-172308
#rb Jimmy.Andrews
[FYI] Steve.Robb
#preflight 63922e890d013d47efae9480

[CL 23460229 by brandon schaefer in ue5-main branch]
2022-12-08 21:22:12 -05:00
matija kecman
f13206dc11 Fix an unused TDenseGrid2 constructor
#preflight 638f3ca21776b8c21c8df1b8
#rb ryan.schmidt
#jira none

[CL 23407847 by matija kecman in ue5-main branch]
2022-12-06 10:28:27 -05:00
matija kecman
7d5f7f6cc9 GeometryScript: Support sampling UTextureRenderTarget2D at UV positions
#rb ryan.schmidt,lonnie.li,rinat.abdrashitov
#jira UE-167913
#preflight 638f335c7e0feab0b743c8c7

[CL 23406217 by matija kecman in ue5-main branch]
2022-12-06 07:34:37 -05:00