Commit Graph

93 Commits

Author SHA1 Message Date
Jimmy Andrews
726a942f12 make segment2 intersection more robust and make both implementations consistent
+ add test coverage

#rb david.hill
#robomerge 5.0
#rnx

[CL 18159793 by Jimmy Andrews in ue5-main branch]
2021-11-11 17:39:13 -05:00
Jimmy Andrews
b125ccc60f speculative CIS fix for mac link error (not finding TExtremePoints3::Init)
#robomerge 5.0
#jira UE-134452
#preflight 618c30c0857f725e2961a5a4

[CL 18137930 by Jimmy Andrews in ue5-main branch]
2021-11-10 16:12:34 -05:00
jimmy andrews
ddb768d1f7 add simplification option to geometry collection convex generation/tool
#jira UE-134112
#rb rinat.abdrashitov
#preflight 618ae07e9239fd6016163eb4

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18113284 in //UE5/Release-5.0/... via CL 18113291
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18113317 by jimmy andrews in ue5-release-engine-test branch]
2021-11-09 16:42:56 -05:00
lonnie li
db670aaffc ModelingTools: Add additional trace events to the Bake tools.
#rb trivial
#rnx
#jira none
#preflight 6189db370779df5c6a59f3e9

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 18099121 in //UE5/Release-5.0/... via CL 18099168
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18099175 by lonnie li in ue5-release-engine-test branch]
2021-11-08 21:54:53 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
semion piskarev
6b9c8102dc MeshModelingTools: Add bAllowElementFreeing to dynamic mesh overlay UnsetTriangle method to make it easier to do certain kinds of retriangulations. Add a unit test.
#rb Jimmy.Andrews
#rnx
#jira none
#preflight 61843e147edef20001d7535f

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 18066755 in //UE5/Release-5.0/... via CL 18066950
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18066974 by semion piskarev in ue5-release-engine-test branch]
2021-11-04 19:58:53 -04:00
jimmy andrews
ee57dd4ec7 Update TriangulateSimplePolygon to by-default orient its output triangles in the most-often-desired orientation (w/ triangle winding the opposite of the polygon winding, for example this is desirable when the polygon is generated from boundary edges on a hole to be filled)
Add test coverage for polygon triangulation functions to ensure they create triangulations with the expected orientations

#jira UE-133286
#rb rinat.abdrashitov
#rnx
#preflight 6181fc82612e950001c9b4ee

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 18032811 in //UE5/Release-5.0/... via CL 18032831
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18032838 by jimmy andrews in ue5-release-engine-test branch]
2021-11-03 09:39:16 -04:00
ryan schmidt
cea638d0b0 GeometryProcessing: add initial MeshBevel operation. Still a WIP, does not handle UVs at all, or interior-region vertices, and the current solve for vertex positions produces horrible-looking bevels, but the main topological problems seem to be solved.
Various utility functions added to MeshIndexUtil.h and FIndex2i/3i.
#rb jimmy.andrews
#rnx
#jira none
#preflight 617ff8d99b238e000141ff75

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18003558 in //UE5/Release-5.0/... via CL 18003639
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18003694 by ryan schmidt in ue5-release-engine-test branch]
2021-11-01 12:01:36 -04:00
ryan schmidt
a774df53f1 GeometryProcessing: remove contents of ExplicitUseGeometryMathTypes.h, this header is no longer necessary as type conflicts w/ LWC have largely been resolved. Emptying the header to prevent it from being used as an include-all for GeometryCore. Usage will be removed in future.
#rb jimmy.andrews
#rnx
#jira none
#preflight 61796d895794a50001060ba6

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17955706 in //UE5/Release-5.0/... via CL 17955707
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17955716 by ryan schmidt in ue5-release-engine-test branch]
2021-10-27 20:27:07 -04:00
lonnie li
ab973d7009 ModelingTools: Update BakeVertex normal computation to use NormalOverlay and Angle & Area weighting.
#rb jimmy.andrews michael.balzer
#rnx
#jira none
#preflight 617995f14d944500010fcaa0

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17950619 in //UE5/Release-5.0/... via CL 17950623
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17950639 by lonnie li in ue5-release-engine-test branch]
2021-10-27 16:06:36 -04:00
ryan schmidt
ddc1ed4208 GeometryProcessing: handle case where boolean generates a very tiny hole, and then tries to minimal-fill it. The MinimalFill code does an initial remesh pass to create some "density" to collapse. If the hole is tiny, the remesh target edge length can become near-zero, and then the remesher explodes.
Also adds TMeshQueries::TotalEdgeLength() function which computes accumulated length of an edge set.
#rb tyson.brochu
#rnx
#jira none
#preflight 6177020e7855e8000166f273

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17913002 in //UE5/Release-5.0/... via CL 17913076
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17913107 by ryan schmidt in ue5-release-engine-test branch]
2021-10-25 16:59:51 -04:00
lonnie li
3c0ed23936 ModelingTools: Fix crash in floating/spiral stair generator.
Set the minimum number of steps to 2.

#rb michael.balzer
#rnx
#jira UE-131918
#preflight 616e643193c2340001bbcf0b

#ROBOMERGE-AUTHOR: lonnie.li
#ROBOMERGE-SOURCE: CL 17860773 in //UE5/Release-5.0/... via CL 17860812
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17860818 by lonnie li in ue5-release-engine-test branch]
2021-10-19 10:49:08 -04:00
jimmy andrews
633ca0f90d fix geometryprocessing tests by changing MeshAABBTree3 to have the original 'effective' default tris per leaf (of 3), rather than the original value of 4, now that the off-by-one bug in how it handles that value has been fixed.
#jira UE-132001
#rnx
#preflight 616e3bc6aa49f30001a0a151

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17855629 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17855636 by jimmy andrews in ue5-release-engine-test branch]
2021-10-19 00:29:05 -04:00
michael balzer
3caf3146fe MeshModelingTools: Cleanup Shapes tools
#rb ryan.schmidt, matija.kecman
#preflight 616a6d0fbbadb30001ca74dd

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17849388 in //UE5/Release-5.0/... via CL 17849395
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17849400 by michael balzer in ue5-release-engine-test branch]
2021-10-18 14:21:53 -04:00
rinat abdrashitov
453cf7024e GeometryProcessing:
Removed redundant code since GetTriangleEdges method was added to DynamicMesh3 class that does the same thing.
Fixed a typo ContolPnts -> ControlPoints.
Previously only per-vertex normals were set. Now normals are correclty set per-element as well.

#rb jimmy.andrews
#rnx
#jira none
#preflight 61698e649390dd0001b2dfca

#ushell-cherrypick of 17521027 by rinat.abdrashitov

#ROBOMERGE-AUTHOR: rinat.abdrashitov
#ROBOMERGE-SOURCE: CL 17829558 in //UE5/Release-5.0/... via CL 17829564
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17829567 by rinat abdrashitov in ue5-release-engine-test branch]
2021-10-15 11:23:32 -04:00
matija kecman
1e25b7bd06 Add WriteOBJ function for FDynamicMeshAABBTree3 and ReadOBJ function useful to inline small obj files
Also do some refactoring to pass settings structs which improve readability when setting options, reduce the need to change call sites due to signature changes, and allow overloading of Read/Load functions which return some type

#rb
#rnx
#jira none
#preflight

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 17829083 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17829101 by matija kecman in ue5-release-engine-test branch]
2021-10-15 10:32:03 -04:00
michael balzer
3b2db86a02 MeshModelingToolset: Generate tangents in UAddPrimitiveTool via new function to calculcate tangents in UPreviewMesh
#jira UE-131425
#rb ryan.schmidt, lonnie.li, jimmy.andrews
#preflight 6168a740855ebb000198e232
#rnx

#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 17824560 in //UE5/Release-5.0/... via CL 17824593
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17824596 by michael balzer in ue5-release-engine-test branch]
2021-10-14 20:20:28 -04:00
matija kecman
7563649c37 Implement brute force Triangle, Island and Mesh marquee selection in UV Editor
#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 17814698 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)

[CL 17814751 by matija kecman in ue5-release-engine-test branch]
2021-10-14 07:48:17 -04:00
jimmy andrews
71e9e3ba53 manually copy CIS fix from 4.27-chaos, because file moved (add size_t cast to SparseDynamicPointOctree3 function)
#rnx

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17804568 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v881-17767770)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17805034 by jimmy andrews in ue5-release-engine-test branch]
2021-10-13 16:22:07 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
matija kecman
209c950356 Refactor FCameraRectangle to make it possible to implement marquee selection more efficiently in the UV editor where the meshes are known to have 0 z-coordinate
#rb semion.piskarev
#rnx
#jira none
#preflight 615d60b480e85c0001607a93

#ROBOMERGE-AUTHOR: matija.kecman
#ROBOMERGE-SOURCE: CL 17734046 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17734054 by matija kecman in ue5-release-engine-test branch]
2021-10-06 07:32:09 -04:00
jimmy andrews
39b70d12a0 add 2D triangle-AABB intersection tests + add some unit test coverage and make 2D triangle-triangle intersection compile
#rb david.hill
#rb matija.kecman
#preflight 61561be724a5aa0001993e09

#ROBOMERGE-AUTHOR: jimmy.andrews
#ROBOMERGE-SOURCE: CL 17684337 in //UE5/Release-5.0/... via CL 17685553
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17685597 by jimmy andrews in ue5-release-engine-test branch]
2021-09-30 20:07:00 -04:00
david hill
8ec4356eb0 Moving IntrinsicTriangulationMesh and related MeshGeodesicSurface tracer out of Geometry Core, and into the DynamicMesh plugin
#rb ryan.schmidt, tyson.brochu
#preflight 6154c3f2549cbf00019ac526


#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17678078 in //UE5/Release-5.0/... via CL 17678080
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17678087 by david hill in ue5-release-engine-test branch]
2021-09-30 10:52:07 -04:00
ryan schmidt
6437ecc4a1 GeometryCore: replace all usage of GeometryCore FVector3<T> with TVector<T>, remove FVector3<T> and GVector4<T>
#rb none
#rnx
#jira none
#preflight 614ce33574f7e70001ea822b

#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 17617027 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17617043 by ryan schmidt in ue5-release-engine-test branch]
2021-09-23 19:38:55 -04:00
semion piskarev
8e8ba75de7 MeshModelingTools: Fix normals being incorrectly set in our box generator. Fix wrong diagonal being picked occasionally in corner mode of CubeGrid tool.
#rb Ryan.Schmidt
#jira none
#rnx
#preflight 614ccab3008d4b000105799e

#ROBOMERGE-AUTHOR: semion.piskarev
#ROBOMERGE-SOURCE: CL 17613539 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17613558 by semion piskarev in ue5-release-engine-test branch]
2021-09-23 16:34:33 -04:00