Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Operations
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/FFDLattice.h |
| Include | #include "Operations/FFDLattice.h" |
Syntax
class FFFDLattice
Remarks
Free-form deformation lattice. Initialize it with a mesh and desired resolution, get the initial lattice points out. Then pass in deformed lattice points and it will compute deformed mesh vertex positions.
Variables
| Type | Name | Description | |
|---|---|---|---|
| FVector3d | CellSize | 3D size of a lattice cell | |
| FVector3i | Dimensions | Number of lattice points in each dimension. | |
| FAxisAlignedBox3d | InitialBounds | Extents of the lattice before it is deformed. | |
| TArray< FEmbedding > | VertexEmbeddings | Interpolation weights and cell indices per vertex of the input FDynamicMesh3. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FFFDLattice
(
const FVector3i& InDims, |
Create a lattice that fits the given mesh and has the given resolution along each dimension. |
Functions
| Type | Name | Description | |
|---|---|---|---|
| FVector3d | ClosestLatticePosition
(
const FVector3i& VirtualControlPointIndex, |
Clamp the given index to [0, Dims] and return the current lattice point position at the clamped index. | |
| void | ComputeInitialEmbedding
(
const FDynamicMesh3& Mesh, |
For each vertex in Mesh, compute the lattice cell it resides in and its weighting. | |
| FVector3d | ComputeTrilinearWeights
(
const FVector3d& Pt, |
Compute cell index and linear interpolation weights for a given point. | |
| int | ControlPointIndexFromCoordinates
(
const FVector3i& Index |
Get the index into the flat TArray of positions given the (i,j,k) coordinates in the lattice. | |
| int | ControlPointIndexFromCoordinates
(
int i, |
Get the index into the flat TArray of positions given the (i,j,k) coordinates in the lattice. | |
| FMatrix3d | CubicInterpolationJacobian
(
const FEmbedding& VertexEmbedding, |
||
| FVector3d | ExtrapolatedLatticePosition
(
const FVector3i& VirtualPointIndex, |
Compute the extrapolated position for a "virtual" lattice control point outside of the actual lattice. | |
| void | GenerateInitialLatticePositions
(
TArray< FVector3d >& OutLatticePositions |
Return the set of lattice corner positions in undeformed state. | |
| void | GenerateLatticeEdges
(
TArray< FVector2i >& OutLatticeEdges |
Return the lattice edges by index. The indices refer to the array of lattice positions returned by GenerateInitialLatticePositions. | |
| const FVector3d & | GetCellSize () |
3D size of a lattice cell | |
| void | GetDeformedMeshVertexPositions
(
const TArray< FVector3d >& LatticeControlPoints, |
Using the Lattice's current control point positions and the original embedding information, compute the deformed mesh vertex positions. | |
| const FVector3i & | Number of lattice points in each dimension. | ||
| const FAxisAlignedBox3d & | Extents of the lattice before it is deformed. | ||
| void | GetRotatedMeshVertexNormals
(
const TArray< FVector3d >& LatticeControlPoints, |
Using the Lattice's current control point positions, the original embedding information, and the original normals, compute the new rotated normals | |
| void | GetRotatedOverlayNormals
(
const TArray< FVector3d >& LatticeControlPoints, |
Using the Lattice's current control point positions, the original embedding information, and the original normals contained in an overlay, compute the new rotated normals | |
| void | GetValuePair
(
int I, |
Helper for linear interpolation. Returns lattice points at (I,J,K) and (I+1,J,K). | |
| FVector3d | InterpolatedPosition
(
const FEmbedding& VertexEmbedding, |
Use the given cell index and weights to compute the interpolated position. | |
| FVector3d | InterpolatedPositionCubic
(
const FEmbedding& VertexEmbedding, |
Use the given cell index and weights to compute the interpolated position. | |
| FMatrix3d | LinearInterpolationJacobian
(
const FEmbedding& VertexEmbedding, |
Classes
| Type | Name | Description | |
|---|---|---|---|
| FEmbedding | Linear interpolation information. There should be one of these per mesh vertex. |