Commit Graph

334 Commits

Author SHA1 Message Date
Joe Kirchoff
109addf6a3 Cpp20 doesn't allow implicit capture of 'this' via '[=]'
#rb Francis.Hurteau
#preflight 64068c936e1dadfcda41bb82

[CL 24548358 by Joe Kirchoff in ue5-main branch]
2023-03-07 16:49:18 -05:00
jimmy andrews
94621fd27d Expose Delaunay Triangulation to Geometry Script
#rb ryan.schmidt, rinat.abdrashitov, matija.kecman
#preflight 64064a28c13b7130d2fd04da

[CL 24531512 by jimmy andrews in ue5-main branch]
2023-03-06 17:00:31 -05:00
rinat abdrashitov
a3fd902926 -DynamicMeshEditor.cpp: Handle bone data when appending two meshes and use it to reindex the the combined skinning weights.
-DynamicMeshAttributeSet.cpp:  Fixed a bug where we were resetting the bone attributes when matching.
-DynamicVertexSkinWeightsAttribute.h: Added a function that allows to reindex bone indices with respect to a new skeleton.
-SkeletalMeshLODModle.cpp: Handle bone attributes when FSkeletalMeshLODModel::GetMeshDescription is called.

#rb halfdan.ingvarsson
#preflight 640150b91d304a54717f810c

[CL 24523731 by rinat abdrashitov in ue5-main branch]
2023-03-06 11:22:59 -05:00
matija kecman
a5329ddfbb Fix computation of edge collapse lerp parameter to fix (for example) artefacts in the UV layer when remeshing the stairs primitive
#jira UE-141937
#preflight 64008a1bc63aaf1e13565ace
#rb ryan.schmidt,david.hill

[CL 24499685 by matija kecman in ue5-main branch]
2023-03-03 11:21:38 -05:00
jimmy andrews
c7f6bf2739 Add a relatively fast heuristic Merge() function, to combine two OrientedBox3s
The orientation of the merged box will be the lowest-volume choice of the two input box orientations, or a heuristically-oriented box.  The heuristic orientation will be either (A) an interpolation of the orientations, if the boxes are close together, or (B) a box lined up with the line connecting the two box origins, if the boxes are far apart (relative to their extents).

#rb rinat.abdrashitov
#preflight 64003611ef1b24bf94e72098

[CL 24484954 by jimmy andrews in ue5-main branch]
2023-03-02 12:44:08 -05:00
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