Commit Graph

15 Commits

Author SHA1 Message Date
Jimmy Andrews
483735ed38 #jira UE-117587
fixes for potential crash / invalid operations on radial fracture of pillar
 - make 'embed surface path' find the intended start vertex for its path when it's known
 - guard against path being empty before accessing element 0
 - guard against invalid edge collapse in mesh boolean that was triggered by this example

#rb david.hill
#rnx

#ushell-cherrypick of 16760529 by Jimmy.Andrews
#preflight 60d49b4557b30200011a0594

[CL 16775195 by Jimmy Andrews in ue5-main branch]
2021-06-24 12:29:49 -04:00
Ryan Schmidt
e196c256e4 GeometryProcessing: remove forwarding headers used in GeometryCore transition, and update all affected includes.
#rb none
#rnx
#jira none
#preflight 60c52c5db9446100014da02d

[CL 16653115 by Ryan Schmidt in ue5-main branch]
2021-06-13 00:35:22 -04:00
Ryan Schmidt
196be0f6d1 GeometryProcessing: replace UE::Geometry::FVector3d/FVector3f with UE Core versions based on TVector<T>. FVector3<T> is now an extension of TVector<T>. Update all affected call sites.
#rb none
#rnx
#jira none

[CL 15870068 by Ryan Schmidt in ue5-main branch]
2021-03-30 21:25:22 -04:00
Ryan Schmidt
6db97af132 GeometryProcessing: FVector2/3/4 refactoring. Move various member functions to standalone functions in UE::Geometry:: namespace, to simplify upcoming conversion to core vector types. Update all call sites.
#rb tyson.brochu, semion.piskarev
#rnx
#jira none

[CL 15732208 by Ryan Schmidt in ue5-main branch]
2021-03-17 19:32:44 -04:00
Ryan Schmidt
ffe3b401cd GeometryProcessing: move all public types in GeometryProcessing plugin into UE::Geometry:: namespace, as well as some code in MeshModelingToolset. Fix fallout in Water, Paint Mode, ChaosEditor, DataPrep, Text3D, Unit Tests, internal projects.
#rb jimmy.andrews, semion.piskarev
#jira none

[CL 15661651 by Ryan Schmidt in ue5-main branch]
2021-03-09 19:33:56 -04:00
Jimmy Andrews
3161509eca Add mesh quality criteria to boolean mesh simplification algorithm; don't collapse edges when it would make bad triangles even worse.
+ fix a bunch of smaller bugs w/ mesh boolean

#rb david.hill
#rnx

[CL 15420453 by Jimmy Andrews in ue5-main branch]
2021-02-16 14:40:20 -04:00
Jimmy Andrews
29ca4d2e51 add option to improve geometry on mesh boolean during the boolean operation itself, rather than as a post-process, which should be faster and work even if the edges aren't welded
(plus same for mesh self-union)

#rb tyson.brochu
#rnx

[CL 15385252 by Jimmy Andrews in ue5-main branch]
2021-02-11 01:44:27 -04:00
Ryan Schmidt
ad9f0ea712 GeometryProcessing: add DynamicMeshAttributeSet::SplitAllBowties() function, splits bowties in NormalOverlay and UVOverlays
ModelingTools: Expose Simplify To Minimal Planar simplification mode in Simplify Tool. Add edge filter to this simplification mode in TMeshSimplification. Add support for returning all edges along intersection curves in FMeshBoolean and FMeshSelfUnion. Add option BooleanMeshesOp and SelfUnionMeshesOp to apply minimal-planar simplification along these cut/intersection edges. Expose as toggles in CSGMeshesTool and SelfUnionMeshesTool
#rb jimmy.andrews
#rnx
#jira none

[CL 14890297 by Ryan Schmidt in ue5-main branch]
2020-12-09 14:18:38 -04:00
Jimmy Andrews
014eba1201 boolean option for polycut
+ also improves texturing options for generalized cylinder (needed b/c that's what we use to make the cutting geometry)
 + also separates the "embedded edges" concept from the "error / problem" edges, and always visualizes the embedded edges (for the boolean, these are different edges; also visualizing the embedded edges makes it a lot easier to understand what the "Insert Polygon" option is doing)

#rb david.hill

[CL 14872192 by Jimmy Andrews in ue5-main branch]
2020-12-07 15:18:20 -04:00
Jimmy Andrews
bc4d83ce70 split trim options off the boolean tool into a trim-specific tool w/ trim-specific options
+ add trim inside vs outside option

#rb david.hill, semion.piskarev

[CL 14837879 by Jimmy Andrews in ue5-main branch]
2020-12-02 15:36:50 -04:00
Jimmy Andrews
abb46dc8e7 Fix up MeshSelfUnion with optimizations, options and improvements from MeshBoolean
- Use octree to speed up closest-edge finding
 - Center and rescale data before computing intersections (and put back to original space after operation is complete)
 - Add option to skip edge welding, matching MeshBoolean
 - Minor comment and variable name cleanup

#rb david.hill
#rnx

[CL 14824234 by Jimmy Andrews in ue5-main branch]
2020-11-30 18:20:34 -04:00
Jimmy Andrews
50daac9043 optimizations and an option to skip edge welding for mesh booleans
+ fix include and link issues with Sparse Dynamic Octree

#rb semion.piskarev
#rnx

[CL 14694229 by Jimmy Andrews in ue5-main branch]
2020-11-09 17:15:51 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
jimmy andrews
7d922bdc7e add support for trim as an additional mesh boolean mode
#rb none

#ROBOMERGE-SOURCE: CL 12984135 via CL 12984139 via CL 12984148
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12984149 by jimmy andrews in Main branch]
2020-04-22 16:36:56 -04:00
ryan schmidt
e7f3baf1ca Edigrate Dev-Editor updates to InteractiveToolsFramework, GeometryProcessing, MeshModelingToolset, and ModelingTools Editor Mode Plugins. Update a few files in new MeshPaint Plugin for UInteractiveTool rename of ::Tick() to ::OnTick().
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 12908995 via CL 12908996 via CL 12909001
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)

[CL 12909003 by ryan schmidt in Main branch]
2020-04-18 18:42:59 -04:00