In some edge configurations two 'terminator' vertices (at the end of open bevel edge paths) are directly connected by a non-bevel edge that we will "open", and this creates a quad-shaped hole instead of a triangle-shaped hole (which was already handled). Detecting this case will arise is simpler before we change the topology, so it is done in BuildVertexSets(), stored in FBevelVertex::ConnectedBevelVertex, and used during mesh generation to call new AppendTerminatorVertexPairQuad function.
In BuildTerminatorVertex(), the search for a terminator split-edge may fail if the filtered triangle list ends up non-contiguous, preventing the vertex from being beveled (ie it is "stuck"). Code was added to both handle that case, and also try to force the list to stay contiguous.
#rb jimmy.andrews
#preflight 6319fbe3304480f8f8565048
#jira UE-160073
[CL 21908190 by ryan schmidt in ue5-main branch]
GeometryScript: add ApplyMeshOffsetFaces and ApplyMeshInsetOutsetFaces
#rb none
#preflight 6303f6440061f895d0f67450
[CL 21510656 by Ryan Schmidt in ue5-main branch]
Currently only supports the generation of the new geometry without interpolating attributes.
Added GeometryScript function for adaptive tessellation.
#rb jimmy.andrews
#jira none
#preflight 62a8bd591f6754ac09b21d10
[CL 20653109 by rinat abdrashitov in ue5-main branch]
ModelingTools: Add option to Weld Tool to try to resolve T-junctions. Add feedback to report back the initial and final number of open boundary edges.
#rb jimmy.andrews
#preflight 62a260e48b67b148f2600dd8
[CL 20585253 by Ryan Schmidt in ue5-main branch]
Added a new operator to subtriangulate a mesh. Its meant to take the input mesh and quickly generate final number of new vertices and triangles and interpoloate existing attributes to them.
This is would be used to replace the current recursive subdivision (using edge splits) in the DispalceMeshTool and PNTriangles operator.
DynamicMeshOverlay.h/cpp
Refactored the implementation of GetElementAtVertex from the child class TDynamicMeshVectorOverlay to the parent TDynamicMeshOverlay. The child now calls the parent.
Added a new method GetElementIDAtVertex and use it inside GetElementAtVertex since it replaces most of the logic.
OperationsTests.cpp/ExpectedRectangle.obj
Added unit tests for the UniformTesselate operator.
#rb jimmy.andrews
#rnx
#jira none
#preflight 619c0aa4fa0b360c40779025
#ROBOMERGE-AUTHOR: rinat.abdrashitov
#ROBOMERGE-SOURCE: CL 18284521 in //UE5/Release-5.0/... via CL 18284544
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18284556 by rinat abdrashitov in ue5-release-engine-test branch]
GeometryProcessing: add support for beveling the border ring(s) of a triangle or polygroup-face selection. Improve polygroup assignment around bevel loops, previously the entire loop received a single polygroup which is not what the user expects in polygroup-modeling. Now a new polygroup is assigned for each unique group-edge-pair. Terminator vertices now also generate a new polygroup if there are 2 or more adjacent groups, previously behavior (assigning to arbitrary nbr) was not useful during polygroup-edting.
#rb rinat.abdrashitov
#rnx
#jira none
#preflight 6193ddccb32bbfdc50d9ed07
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 18208908 in //UE5/Release-5.0/... via CL 18209386
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18209422 by ryan schmidt in ue5-release-engine-test branch]
#preflight 618c30c2857f725e2961a5af
#rb jimmy.andrews
#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 18152341 in //UE5/Release-5.0/... via CL 18152405
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18152455 by david hill in ue5-release-engine-test branch]
#rb none
#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 18136061 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
[CL 18136142 by david hill in ue5-release-engine-test branch]
- add integer-based normal coordinates for correspondence with the surface mesh and unify code that helps track the relationship between meshes.
- rename FIntrinsicEdgeFlipMesh FSimpleIntrinsicEdgeFlipMesh.
- new FIntrinsicEdgeFlipMesh that uses the interger-based normal coordinates to track location of intrinsic edges relative to the surface mesh.
#preflight 618aa6de235a78d30e416b21
#rb jimmy.andrews
#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 18135001 in //UE5/Release-5.0/... via CL 18135020
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Main
[CL 18135032 by david hill in ue5-release-engine-test branch]