Commit Graph

18 Commits

Author SHA1 Message Date
rinat abdrashitov
fc68d1cae0 -Wrapped FSparseMatrixD in namespace UE::Geometry.
-Removed unused includes.
-Added SparseMatrix.cpp
-Added a function for slicing the sparse matrix.


#rb jimmy.andrews
#preflight 644c0967864f15ebf5e71bef
#rnx

[CL 25309503 by rinat abdrashitov in ue5-main branch]
2023-05-02 18:17:58 -04:00
rinat abdrashitov
30a89f05ee Renamed FSparseMatrixD.h to SparseMatrix.h
#rb jimmy.andrews
#preflight 644acbbdb208f61af8313f07
#rnx

[CL 25239086 by rinat abdrashitov in ue5-main branch]
2023-04-28 16:05:12 -04:00
Steve Robb
2752fb2981 Fixed mismatched copy constructor/assignment operator in UE::MeshDeformation::CotanTriangleData and UE::MeshDeformation::MeanValueTriangleData.
#rb david.hill
#jira none
#preflight none

[CL 25153491 by Steve Robb in ue5-main branch]
2023-04-21 16:56:00 -04:00
rinat abdrashitov
b98febe1fd Remove checkSlow(false) when encountering a numerical issue since it's valid for those cases to be reached and we return the Numerical Failure flag.
Otherwise, this also causes geometry processing unit tests to fail when testing for numerical failures where invalid matrices are supplied.


#rb trivial
#preflight 63fe7a5cdd78dd50f626fbd1
#rnx

[CL 24455832 by rinat abdrashitov in ue5-main branch]
2023-02-28 20:02:02 -05:00
henrik karlsson
b5164ac775 Fixes to make modules compile with IWYU. We've added to IWYU toolchain so it compiles "orphaned" headers which does not have a owning cpp file. This identified lots of headers that couldn't be compiled by themselves (or if they were to included first)
Change consist of only forward declaration and additional includes

#preflight 63789c1de30d438849c48188
#rb none

[CL 23218412 by henrik karlsson in ue5-main branch]
2022-11-21 03:22:23 -05:00
michael balzer
0c72efb8c4 GeometryProcessing: Fix compiler error in FSparseMatrixD.h on Android
#preflight 62db2d6923003b62a32ccede

[CL 21231159 by michael balzer in ue5-main branch]
2022-07-22 19:17:52 -04:00
michael balzer
a17b199220 GeometryProcessing: Mute warning in Eigen library used in FSparseMatrixD.h when using Clang
#preflight 62db154c600bd2a4bd3e7534
#FYI ryan.schmidt

[CL 21230782 by michael balzer in ue5-main branch]
2022-07-22 18:28:23 -04:00
David Hill
9d1196fa2a GeometryProcessing: Mesh Solvers. Fix implicit cast warnings. These are related the integer size type used by Eigen, and our comparatively modest maxtrix row/col max of Max_int32.
#preflight 62bb18e31813601bbecdfc25
#rb Jimmy.Andrews

[CL 20971713 by David Hill in ue5-main branch]
2022-07-06 15:33:25 -04:00
rinat abdrashitov
683a655fa6 Fixed the PVS static analyzer error caused by a dangling reference.
Added extra comments clarifying the expected lifetime of the passed objects to the FSparsePowerMethod class constructors and the CreateSparseMatrixOperator() static method.

#rb jimmy.andrews
#rnx
#jira UE-147203
#preflight 6279b6e34561731dbe2deefe

[CL 20115637 by rinat abdrashitov in ue5-main branch]
2022-05-09 21:05:46 -04:00
rinat abdrashitov
0da9fcc624 -Fixed a bug in the UV conformal unit test by allowing setting the starting vector in the SpectralConformal Mesh UV solver. This allows to deterministically generate the same result given the same initial vector.
-Added a DenseMatrix.h which contains wrappers around Eigen's DenseMatrix class.

#rb jimmy.andrews
#jira None
#preflight 62558d75cd5ed4dd0915fde7

[CL 19740532 by rinat abdrashitov in ue5-main branch]
2022-04-13 11:23:06 -04:00
rinat abdrashitov
744e9ee8c8 Added the Spectral conformal parameterization option for unwrapping UVs.
Refactored existing LSCM/DNCP UV unwrapping since a lot of code is shared with the Spectral method.

#rb david.hill
#rb nathan.mitchell
#jira None
#preflight 62433f4de434babd8ad4ca34

[CL 19547023 by rinat abdrashitov in ue5-main branch]
2022-03-29 15:03:12 -04:00
rinat abdrashitov
9bd9f19d03 Store triangle area value in CotanTriangleData class.
Decrease the floor for the small triangle area to handle small yet still visible meshes.
Added the new TriangleArea option to the ECotangentWeightMode.

#rb nathan.mitchell
#jira None
#preflight 623c8e081302f69e9aa19472

[CL 19498265 by rinat abdrashitov in ue5-main branch]
2022-03-24 13:19:02 -04:00
rinat abdrashitov
c45783a02b Capture variables by reference for the matrix operators.
#rb nathan.mitchell
#jira none
#preflight 623c8ec5be1e4104d37ddd81

[CL 19497844 by rinat abdrashitov in ue5-main branch]
2022-03-24 12:43:05 -04:00
rinat abdrashitov
1cdd6df597 Added missing copyright.
#rb trivial
#rnx
#jira none
#preflight none

[CL 18918571 by rinat abdrashitov in ue5-main branch]
2022-02-09 11:08:10 -05:00
rinat abdrashitov
222a5fb653 Added the Power Method solver for computing largest/smallest eigenvalue and the corresponding eigenvector for the standard and general eigenvalue problems.
#rb david.hill
#rnx
#jira none
#preflight 6202de9374604bc6b18d55fd

[CL 18917853 by rinat abdrashitov in ue5-main branch]
2022-02-09 10:20:27 -05:00
michael balzer
b8a1c9b6cf GeometryCore: Remove ExplicitUseGeometryMathTypes.h
#ROBOMERGE-AUTHOR: michael.balzer
#ROBOMERGE-SOURCE: CL 18227685 in //UE5/Release-5.0/... via CL 18229350
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18231457 by michael balzer in ue5-release-engine-test branch]
2021-11-17 19:02:44 -05:00
david hill
1b53940a8c GeometryCore: Add Embedded Path Tracing across FDynamicMesh surfaces and Intrinsic Triangulations of FDynamicMeshes. Also update Mesh Laplacian Code to generate Cotan Laplacians from Intrinsic Triangulation.
MeshGeodesicSurfaceTracer.{h,cpp}  -  Add embedded path tracing.
GeodesicSurfaceTracerTests.cpp     -  unit tests for embedded path tracing

IntrinsicTriangulationMesh.{h, cpp}  - Adds two Intrinsic Triangulation mesh types (the more sophisticaed requires embedded path tracing)
IntrinsicMeshTests.cpp               -  unit tests for Intrinsic mesh types.

MeshLaplacian.{h,cpp}                - Adds new enum types for Intrinsic Delaunay Triangulation (IDT)  Laplacians
LaplacianOperators.{h,cpp}           - Adds wrappers and allow enum switches to build IDT Laplacians if requested
LaplacianMatrixAssembly.h            - Actually construction of IDT Laplacian.
Laplacian.cpp                        - Added trivial unit test for construction of IDT Laplacian

#rb jimmy.andrews
#preflight 6138bca42d09b9000158c95a

#ROBOMERGE-AUTHOR: david.hill
#ROBOMERGE-SOURCE: CL 17458853 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17458863 by david hill in ue5-release-engine-test branch]
2021-09-08 11:15:58 -04:00
michael balzer
ba195473cd GeometryProcessing: Move plugin from Experimental to Runtime
#jira UETOOL-3823
#rb ryan.schmidt

#ROBOMERGE-SOURCE: CL 16958628 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16958640 by michael balzer in ue5-release-engine-test branch]
2021-07-26 14:07:13 -04:00