Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Classes
| Type | Name | Description | |
|---|---|---|---|
| CotanTriangleData | The per-triangle data used in constructing the cotangent weighted laplacian. | ||
| FTriangleLinearization | Used linearize the TriIds in a mesh as a single array and allow mapping from array offset to mesh TriId. | ||
| FVertexLinearization | Used to linearize the VtxIds in a mesh as a single array and allow mapping from array offset to mesh VtxId. | ||
| IConstrainedLaplacianMeshSolver | Extension of IConstrainedMeshSolver that supports manipulating the underlying Laplacian vectors used in Laplacian-based Deformation Solvers. | ||
| IConstrainedMeshSolver | Interface to a index-based deformation solver for a 3D mesh vertex set that supports weighted point constraints. | ||
| IConstrainedMeshUVSolver | Interface to a index-based UV solver for a 3D triangle mesh that supports weighted point constraints. | ||
| MeanValueTriangleData | The per-triangle data used in constructing the mean-value weighted laplacian. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| ELaplacianWeightScheme | Types of Laplacian weights. | ||
| UE::MeshDeformation::ECotangentAreaMode | |||
| UE::MeshDeformation::ECotangentWeightMode |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | bIsSymmetricLaplacian
(
const ELaplacianWeightScheme Scheme |
||
| FString | LaplacianSchemeName
(
const ELaplacianWeightScheme Scheme |
Utility to map the enum names for debuging etc. | |
PREDECLARE_GEOMETRY
(
FDynamicMesh3 |
|||
| int32 | UE::MeshDeformation::ComputeNumMatrixElements
(
const MeshT& DynamicMesh, |
Utility to compute the number of elements in the sparse laplacian matrix. | |
| void | UE::MeshDeformation::ComputeSmoothing_BiHarmonic
(
const ELaplacianWeightScheme WeightingScheme, |
Note: for discussion of implicit / explicit integration of diffusion and biharmonic equations see "Implicit Fairing of Irregular Meshes using Diffusion and Curvature Flow" - M Desbrun 99. | |
| void | UE::MeshDeformation::ComputeSmoothing_Diffusion
(
const ELaplacianWeightScheme WeightScheme, |
This is equivalent to forward or backward Euler time steps of the diffusion equation | |
| void | UE::MeshDeformation::ComputeSmoothing_Forward
(
bool bUniformWeightScheme, |
Simple iterative smoothing with an optional weight map Each iteration Lerps towards the weighted neighbor centroid by the GetSmoothingAlpha amount | |
| void | UE::MeshDeformation::ComputeSmoothing_ImplicitBiHarmonicPCG
(
const ELaplacianWeightScheme WeightScheme, |
||
| TUniquePtr< UE::Solvers::IConstrainedMeshSolver > | UE::MeshDeformation::ConstructConstrainedMeshDeformer
(
const ELaplacianWeightScheme WeightScheme, |
Solves the linear system for p_vec ( Transpose(L) * L + (0 0 ) ) p_vec = source_vec + ( 0 ) | |
| TUniquePtr< UE::Solvers::IConstrainedMeshSolver > | UE::MeshDeformation::ConstructConstrainedMeshSmoother
(
const ELaplacianWeightScheme WeightScheme, |
Solves the linear system for p_vec ( Transpose(L) * L + (0 0 ) ) p_vec = ( 0 ) | |
| void | UE::MeshDeformation::ConstructCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a cotangent-weighted Laplacian. | |
| void | UE::MeshDeformation::ConstructCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a pre-multiplied cotangent-weighted Laplacian. | |
| void | UE::MeshDeformation::ConstructEdgeCotanWeightsDataArray
(
const FDynamicMesh3& Mesh, |
||
| void | UE::MeshDeformation::ConstructFullCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct sparse Cotangent Laplacian matrix. | |
| void | UE::MeshDeformation::ConstructFullIDTCotangentLaplacian
(
const FDynamicMesh3& Mesh, |
Use intrinsic Delaunay mesh to construct sparse Cotangent Laplacian matrix. | |
| void | UE::MeshDeformation::ConstructIDTCotangentLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a pre-multiplied cotangent-weighted Laplacian, using an intrinsic Delaunay mesh internally NB: there is no reason to expect this to be a symmetric matrix. | |
| void | UE::MeshDeformation::ConstructMeanValueWeightLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation using a meanvalue-weighted Laplacian. | |
| TUniquePtr< UE::Solvers::IConstrainedMeshUVSolver > | UE::MeshDeformation::ConstructNaturalConformalParamSolver
(
const FDynamicMesh3& DynamicMesh |
Create solver for the Least Squares Conformal UV Parameterization for this mesh. | |
| TUniquePtr< UE::Solvers::IConstrainedLaplacianMeshSolver > | UE::MeshDeformation::ConstructSoftMeshDeformer
(
const FDynamicMesh3& DynamicMesh |
Construct a Mesh Deformer object for the given mesh that uses Biharmonic Laplacian Mesh Deformation to solve for the deformed vertex positions. | |
| TUniquePtr< UE::Solvers::IConstrainedMeshUVSolver > | UE::MeshDeformation::ConstructSpectralConformalParamSolver
(
const FDynamicMesh3& DynamicMesh, |
Create solver for the Spectral Conformal UV Parameterization for this mesh. | |
| void | UE::MeshDeformation::ConstructTriangleDataArray
(
const FDynamicMesh3& DynamicMesh, |
Return and array in triangle order that holds the per-triangle derived data needed | |
| void | UE::MeshDeformation::ConstructUmbrellaLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation of an umbrella weighted Laplacian. | |
| TUniquePtr< UE::Solvers::IConstrainedMeshSolver > | Class IVertexEdgeGraph | ||
| void | UE::MeshDeformation::ConstructUniformLaplacian
(
const MeshType& Mesh, |
Construct a sparse matrix representation of a uniform weighted Laplacian. | |
| void | UE::MeshDeformation::ConstructValenceWeightedLaplacian
(
const FDynamicMesh3& DynamicMesh, |
Construct a sparse matrix representation of a valence-weighted Laplacian. |