Fix boundary revolve tool skipping last vertex on open boundaries
#jira UE-163374
#rb tyson.brochu
#preflight 632a5fdffc7f1efbdf70dd4a
[CL 22107236 by jimmy andrews in ue5-main branch]
- create a new MeshTopologySelector base class. The existing GroupTopologySelector class now inherits from it, as does a new BoundarySelector class
- likewise, create a new MeshTopologySelectionMehchanic base class and have (existing) PolygonSelectionMechanic and (new) BoundarySelectionMechanic inherit from it
- the new Boundary classes use FMeshBoundary loops to define selectable loops rather than FGroupTopology
HoleFillTool:
- change to using BoundarySelectionMechanic instead of GroupTopologySelector
Misc:
- allow FMeshBoundaryLoops to fail untangling a loop with bowties but still continue processing other loops
#jira UE-144821
#rb jimmy.andrews
#preflight 63222176e93a80888cb7d3df
[CL 22013854 by tyson brochu in ue5-main branch]
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]
This shouid improve the behaviour of the PolyDefTool when used in smooth mode.
#rb jimmy.andrews
#jira UE-152706
#preflight 631235e0e11efde08fa0c637
[CL 21764810 by David Hill in ue5-main branch]
(+ for code that was passing false then manually applying the same logic, remove the extra reverse orientation logic)
#rb david.hill
#preflight 630d245fe352708d44f9e007
[CL 21706500 by Jimmy Andrews in ue5-main branch]
ModelingTools: add support for writing to selected group layer, as well as new group layer, in ConvertToPolygonsTool (GrpGen in UI). Also add support for setting groups from existing layer, which (combined) allows copying groups between layers, duplicating existing layer, and so on.
#rb none
#preflight 630e3856e11248377555f234
[CL 21704364 by Ryan Schmidt in ue5-main branch]
Add check to CollisionConvexMesh.h to supress null reference warning by request
Suppress cplusplus.NewDeleteLeaks warnings in Chaos by request
#rnx
#rb trivial
#jira UE-160884
#preflight 630676ac0061f895d04b88fe
[CL 21549010 by Joe Kirchoff in ue5-main branch]
GeometrySelectionUtil: add FindByTopologyID function, to search a Selection for selected element with matching TopologyID but ignoring GeometryID. Update FGeometryScriptMeshSelection::CombineSelectionInPlace() to use this, as it was not properly combining Polygroup selections.
#rb none
#preflight 630501435a5d4e462428af90
[CL 21516930 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]