UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Poisson.h File Reference
#include "Chaos/Framework/Parallel.h"
#include "Chaos/Math/Krylov.h"
#include "Chaos/UniformGrid.h"
#include "Chaos/Vector.h"
#include "Math/Matrix.h"
#include "Math/Vector.h"
#include "Chaos/Utilities.h"
#include <iostream>

Go to the source code of this file.

Namespaces

namespace  Chaos
 

Functions

template<class T >
void Chaos::RowMaj3x3Set (T *A, const int32 i, const int32 j, const T Value)
 
template<class T >
const T & Chaos::RowMaj3x3Get (const T *A, const int32 i, const int32 j)
 
template<class T >
T & Chaos::RowMaj3x3Get (T *A, const int32 i, const int32 j)
 
template<class T >
void Chaos::RowMaj3x3SetRow (T *A, const int32 i, const T *Values)
 
template<class T , class TV >
void Chaos::RowMaj3x3SetRow (T *A, const int32 i, const TV Value)
 
template<class T , class TV >
void Chaos::RowMaj3x3GetRow (T *A, const int32 i, TV &Row)
 
template<class T >
void Chaos::RowMaj3x3SetCol (T *A, const int32 j, const T *Values)
 
template<class T , class TV >
void Chaos::RowMaj3x3SetCol (T *A, const int32 j, const TV Value)
 
template<class T , class TV >
void Chaos::RowMaj3x3GetCol (T *A, const int32 j, TV &Col)
 
template<class T >
Chaos::RowMaj3x3Determinant (const T A0, const T A1, const T A2, const T A3, const T A4, const T A5, const T A6, const T A7, const T A8)
 
template<class T >
Chaos::RowMaj3x3Determinant (const T *A)
 
template<class T >
void Chaos::RowMaj3x3Inverse (const T Det, const T A0, const T A1, const T A2, const T A3, const T A4, const T A5, const T A6, const T A7, const T A8, T *Inv)
 
template<class T >
void Chaos::RowMaj3x3Inverse (const T Det, const T *A, T *Inv)
 
template<class T >
void Chaos::RowMaj3x3Inverse (const T *A, T *Inv)
 
template<class T >
void Chaos::RowMaj3x3Transpose (const T *A, T *Transpose)
 
template<class T , class TV >
TV Chaos::RowMaj3x3Multiply (const T *A, const TV &x)
 
template<class T , class TV >
TV Chaos::RowMaj3x3RobustSolveLinearSystem (const T *A, const TV &b)
 
template<class T , class TV = FVector3f, class TV_INT = FIntVector4, int32 d = 3>
void Chaos::ComputeDeInverseAndElementMeasures (const TArray< TV_INT > &Mesh, const TArray< TV > &X, TArray< T > &De_inverse, TArray< T > &measure)
 
template<class T >
void Chaos::Fill (TArray< T > &Array, const T Value)
 
int32 Chaos::MinFlatIndex (const TArray< int32 > &ElemIdx, const TArray< int32 > &LocalIdx)
 
template<class T , class TV , class TV_INT = FIntVector4, int d = 3>
void Chaos::PoissonSolve (const TArray< int32 > &InConstrainedNodes, const TArray< T > &ConstrainedWeights, const TArray< TV_INT > &Mesh, const TArray< TV > &X, const int32 MaxItCG, const T CGTol, TArray< T > &Weights)
 
template<class T , class TV_INT = FIntVector4, int d = 3>
void Chaos::Laplacian (const TArray< TV_INT > &Mesh, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex, const TArray< T > &De_inverse, const TArray< T > &measure, const TArray< T > &u, TArray< T > &Lu)
 
template<class T , class TV_INT , int d = 3>
Chaos::LaplacianEnergy (const TArray< TV_INT > &Mesh, const TArray< T > &De_inverse, const TArray< T > &measure, const TArray< T > &u)
 
template<class T , class TV , class TV_INT , int d = 3>
void Chaos::ComputeFiberField (const TArray< TV_INT > &Mesh, const TArray< TV > &Vertices, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex, const TArray< int32 > &Origins, const TArray< int32 > &Insertions, TArray< TV > &Directions, TArray< T > &ScalarField, const int32 MaxIt=100, const T Tol=T(1e-7))
 
template<class TV , class T , bool NodalValues = false>
void Chaos::Laplacian (const TUniformGrid< T, 3 > &UniformGrid, const TArray< TV > &U, TArray< TV > &Lu)
 
template<class TV , class T , bool NodalValues = false>
void Chaos::PoissonSolve (const TArray< int32 > &InConstrainedNodes, const TArray< TV > &ConstrainedWeights, const TUniformGrid< T, 3 > &UniformGrid, const int32 MaxItCG, const TV CGTol, TArray< TV > &Weights, bool bCheckResidual=false, int32 MinParallelBatchSize=1000)