Commit Graph

62 Commits

Author SHA1 Message Date
david lesage
4c17331d84 [CADKernel] Improve topological welding:
- to try to fix large crack, a second step could be perform with a larger tolerance
- to prevent the meshing failure of thin surface,  and consequently the presence of a crack in the mesh, thin surface can be removed and replaced by a topological weld.
3 new CVar are added to drive this new process:
- ds.CADTranslator.Stitching.ForceSew
- ds.CADTranslator.Stitching.ForceFactor
- ds.CADTranslator.Stitching.RemoveThinFaces

Fix crashes, fix HD leak, fix RAM usage

#jira UE-154019, UE-157085
#rb jeanluc.corenthin
#preflight 6356cd17f92c325024f48f6e
#lockdown jeanmichel.dignard

#preflight 635a9bb00b08a07d8a4310d7

[CL 22810471 by david lesage in ue5-main branch]
2022-10-27 11:07:42 -04:00
aurel cordonnier
8ed670cea0 [Backout] - CL22695017
[FYI] David.Lesage
Original CL Desc
-----------------------------------------------------------------
[CADKernel] Improve topological welding:
- to try to fix large crack, a second step could be perform with a larger tolerance
- to prevent the meshing failure of thin surface,  and consequently the presence of a crack in the mesh, thin surface can be removed and replaced by a topological weld.
3 new CVar are added to drive this new process:
- ds.CADTranslator.Stitching.ForceSew
- ds.CADTranslator.Stitching.ForceFactor
- ds.CADTranslator.Stitching.RemoveThinFaces

Fix crashes, fix HD leak, fix RAM usage

#jira UE-154019, UE-157085
#rb jeanluc.corenthin
#preflight 6352c5ef7261e565c47ca046
#lockdown jeanmichel.dignard

[CL 22713056 by aurel cordonnier in ue5-main branch]
2022-10-22 17:31:47 -04:00
marc audy
15a4c73b0d [CADKernel] Improve topological welding:
- to try to fix large crack, a second step could be perform with a larger tolerance
- to prevent the meshing failure of thin surface,  and consequently the presence of a crack in the mesh, thin surface can be removed and replaced by a topological weld.
3 new CVar are added to drive this new process:
- ds.CADTranslator.Stitching.ForceSew
- ds.CADTranslator.Stitching.ForceFactor
- ds.CADTranslator.Stitching.RemoveThinFaces

Fix crashes, fix HD leak, fix RAM usage

#jira UE-154019, UE-157085
#rb jeanluc.corenthin
#preflight 6352c5ef7261e565c47ca046
#lockdown jeanmichel.dignard

[CL 22711547 by marc audy in ue5-main branch]
2022-10-22 14:38:08 -04:00
david lesage
de9eea0291 #jira UE-161647 : CAD kernel - Import ipt files has missing geo
TS give unclosed external loop for sperical surface in specific case. A process is added to find this case and close the loop.
TS return wrong loop as the external loop. A process is added to find the external loop.
#preflight 633a980f7c11614c2174a446

[CL 22295994 by david lesage in ue5-main branch]
2022-10-03 05:50:38 -04:00
David Lesage
dbeb0112a0 Rename CADKernel namespace into UE::CADKernel
#rb none
#preflight 630cdb21501b64ba33159cdb

[CL 21678901 by David Lesage in ue5-main branch]
2022-08-29 11:47:01 -04:00
David Lesage
d5d28c8754 [CADKernel] Fix crashs in meshing step: improve BoywerWatson algorithm
#preflight 630cb26f556fc14dce43957b

[CL 21675958 by David Lesage in ue5-main branch]
2022-08-29 09:07:25 -04:00
David Lesage
3a21fec5ac CADKernel Sources Update: some cleanup before next improvements
#preflight 630cb1de0345de4ccf802c55

[CL 21675760 by David Lesage in ue5-main branch]
2022-08-29 08:57:21 -04:00
David Lesage
3e16a93301 CADKernel Sources Update: some cleanup before next improvements
#preflight 630ca91a501b64ba33106d15

[CL 21674712 by David Lesage in ue5-main branch]
2022-08-29 08:09:19 -04:00
David Lesage
c1ea79bca5 Use FVector3f for mesh vertex coordinates, normal, and UV as staticMesh works with float.
#preflight 62fcdaa33f75602b2fb473b1

[CL 21423443 by David Lesage in ue5-main branch]
2022-08-17 08:14:25 -04:00
Bryan sefcik
b4a6e947d8 Ran IWYU on Public headers under Engine/Source/Runtime/...
Headers are updated to contain any missing #includes needed to compile and #includes are sorted.  Nothing is removed.

#ushell-cherrypick of 21065896 by bryan.sefcik
#preflight 62d4b1a5a6141b6adfb0c892
#jira

#ROBOMERGE-OWNER: Bryan.sefcik
#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21150156 via CL 21151754 via CL 21154719
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf

[CL 21181076 by Bryan sefcik in ue5-main branch]
2022-07-20 11:31:36 -04:00
David Lesage
ca22abc110 [CADKernel] Remove unused file
#rb trivial
#preflight 62bb4e99101ad5bf64b30e3b

[CL 20862736 by David Lesage in ue5-main branch]
2022-06-28 15:01:54 -04:00
David Lesage
49917e7117 CADKernel
Move Headers from public to private
Use DOUBLE constants
Remove unused files
#fyi jeanluc.corenthin
#preflight 62b4dbd734570ba99470ba0d

[CL 20803237 by David Lesage in ue5-main branch]
2022-06-23 17:50:34 -04:00
David Lesage
9e6bec6619 CADKernel Improvements (manual merge from 5.0.3)
#jira UETOOL-5056: Crash with sew option
#jira UE-135895: Editor crash on JT import with stitching Sew
#jira UE-144389: Worker lost when Importing STP file with TechSoft + CADKernel Tessellator

fix crash in TPolylineApproximator::UpdateSubPolylineBBox (PolylineTools.h)
fix nullptr in FCoreTechBridge::AddLoop
improve void FTopologicalFace::UpdateBBox

improve FTopologicalLoop::RemoveDegeneratedEdges() by reducing the joining angle of an degenerated edge and its neighbour to allow the merge of the degenerated edge
improve FTopologicalLoop::EnsureLogicalClosing
- reducing the joining angle of a loop's gap and its neighbouring to allow to extend the neighbour to fill the gap
- make a degenerated edge to fill lage Gap in 2D (in degenerated area)

fix FParametricMesher::Mesh(FTopologicalEdge& InEdge, const FTopologicalFace& Face): Set meshed degenerated edge as meshed

fix FGrid::GetMeshOfLoop when a degenerated loop is deleted

improve FTechSoftBridge::TraverseShell => Avoid edge link between different shells

fix crash in FTechSoftFileParserCADKernelTessellator::AdaptBRepModel()
fix nullptr in FTechSoftFileParserCADKernelTessellator::GenerateBodyMesh

fix crash in BowyerWatsonTriangulation.h

remove "ensure" in:
- FTopologicalLoop::Orient()
- FTopologicalVertex::RemoveConnectedEdge

#fyi jeanluc.corenthin, flavien.picon, andreas.brock, andre.stdenis
#preflight 62976046545b9a93abf320a1

[CL 20451488 by David Lesage in ue5-main branch]
2022-06-01 09:06:46 -04:00
David Lesage
c371fe3b1f CADKernel imports Meshes in UE in mm instead of cm
#jira UE-144198
- A scale is apply at the mesh during the transfer to UE
- Alias/CADKernel: BRep body is transferred to CADKernel  in cm instead of mm
- Rhino/CADKernel: fix nullptr
#rb jeanluc.corenthin
#swarm https://p4-swarm.epicgames.net/reviews/19409797
#preflight 623379ee84667926da28f3b8
#preflight 62337bdde14776a6ebbf4f36

[CL 19424322 by David Lesage in ue5-main branch]
2022-03-17 14:40:25 -04:00
David Lesage
81b1a1f95c #jira UE-145438
Fix CADKernel used with TechSoft, 3 mains problems:
- by default, from TechSoft, faces with a periodic basis surface are not always split on parametric seams
- CADKernel expects to have the external loop in first, that is not always the case with TechSoft
- The function to test the relative orienation of two coincident closed edges (StartVertex = EndVertex) has not been yet implemented
#swarm https://p4-swarm.epicgames.net/reviews/19379931
#rb jeanluc.corenthin
#preflight 6230eb079406c2cfd6a9bd63

[CL 19392487 by David Lesage in ue5-main branch]
2022-03-15 15:43:03 -04:00
david lesage
862b5444fd Implement Stitching Technique = Sew when using CADKernel tessellator
#jira UETOOL-5013
#rb jeanluc.corenthin
#preflight 621822e47520d8f6aba0b1f6
#lockdown cristina.riveron

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 19153706 in //UE5/Release-5.0/... via CL 19159218
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19161405 by david lesage in ue5-main branch]
2022-02-25 19:44:22 -05:00
david lesage
56ecf1d024 #Jira UETOOL-5012
Step 2: Preparing to plug of CADKernel into TechSoft: Add missing methodes in TechSoftInterface, TechSoftUtils and CADKernel::FSession

#rb jeanluc.corenthin
#preflight 621029245219b1d13ceedd90

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 19082460 in //UE5/Release-5.0/... via CL 19097105
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140833 by david lesage in ue5-main branch]
2022-02-24 23:31:25 -05:00
david lesage
ba26fb5644 Fix FTopologicalEdge::CreateEdgeByMergingEdges :
- if BSpline::DuplicateNurbsCurveWithHigherDegree failed, the operation is canceled
 - fix the merge of NURBS (rational + non-rational nurbs)
 - clean FNURBSCurve constructor
 - If DuplicateNurbsCurveWithHigherDegree failed return TSharedPtr<FNURBSCurve>()

#jira UE-142840
#rb jeanluc.corenthin
#preflight 620c1cb1615db7478d3fed4a
#lockdown jeanmichel.dignard

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 19081216 in //UE5/Release-5.0/... via CL 19095763
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19140413 by david lesage in ue5-main branch]
2022-02-24 23:13:37 -05:00
steve robb
a8c1e02c4e Use a union-based representation for types which want to treat its members as both individual named fields and as an array, to avoid strict aliasing issues.
#jira UE-140368
#preflight 6201d6b1e9567e66732291b2
#rb jeff.newquist
#lockdown julien.marchand

#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 18995739 in //UE5/Release-5.0/... via CL 18996215 via CL 18996642
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 19001153 by steve robb in ue5-main branch]
2022-02-15 14:42:20 -05:00
david lesage
bf8a3cb052 Update CADKernel : fix one infinite loop
[FYI] jeanluc.corentin
#preflight 61f92bf98b4112f7cc94b791

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 18807146 in //UE5/Release-5.0/... via CL 18809180 via CL 18822217
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823246 by david lesage in ue5-main branch]
2022-02-02 05:28:54 -05:00
david lesage
c2063f2e18 Update CADKernel : add oriention, fix one infinite loop
#preflight 61f5e0a3cb5b9daed89646ac

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 18784834 in //UE5/Release-5.0/... via CL 18784835 via CL 18784855
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18784856 by david lesage in ue5-main branch]
2022-01-29 20:10:41 -05:00
david lesage
3daa882a48 Rename Joiner into Topomaker
#rb none
#preflight 61ef5736ca3de856bce4cbf5

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 18718654 in //UE5/Release-5.0/... via CL 18718663 via CL 18718679
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18718685 by david lesage in ue5-main branch]
2022-01-24 21:01:15 -05:00
mark lintott
3f63e7e2d2 Fix for static analysis warning
[FYI] David.Lesage
#rb trivial
#jira none
#preflight 61ee894f5e0414e6ec1076a7

#ROBOMERGE-AUTHOR: mark.lintott
#ROBOMERGE-SOURCE: CL 18706956 in //UE5/Release-5.0/... via CL 18706961 via CL 18707039
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18707043 by mark lintott in ue5-main branch]
2022-01-24 06:30:25 -05:00
david lesage
89ae28bef9 CADKernel Update : Fix Sew
#preflight 61eae081c557ec200181a61a

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 18690771 in //UE5/Release-5.0/... via CL 18690789 via CL 18690825
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18690865 by david lesage in ue5-main branch]
2022-01-21 11:56:53 -05:00
david lesage
4220f4259e CADKernel::StringUtil move
#preflight 61eaceb1f1438e8a4b30dae0

#ROBOMERGE-AUTHOR: david.lesage
#ROBOMERGE-SOURCE: CL 18689718 in //UE5/Release-5.0/... via CL 18689733 via CL 18689751
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18689869 by david lesage in ue5-main branch]
2022-01-21 10:52:26 -05:00