UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::TMPMGrid< T > Class Template Reference

#include <UniformGrid.h>

+ Inheritance diagram for Chaos::TMPMGrid< T >:

Public Types

enum  InterpType { linear = 1 , quadratic = 2 }
 

Public Member Functions

 TMPMGrid ()
 
 TMPMGrid (const TVector< T, 3 > &MinCorner, const TVector< T, 3 > &MaxCorner, const TVector< int32, 3 > &Cells, const uint32 GhostCells=0)
 
 TMPMGrid (const int32 GridN)
 
 TMPMGrid (const T GridDx)
 
 ~TMPMGrid ()
 
void BaseNodeIndex (const TVector< T, 3 > &X, TVector< int32, 3 > &Index, TVector< T, 3 > &weights) const
 
Nijk (T w, int32 ii) const
 
void GradNi (const TVector< T, 3 > &Ni, const TVector< T, 3 > &dNi, TVector< T, 3 > &result) const
 
dNijk (T w, int32 ii, T dx) const
 
TVector< int32, 3 > Loc2GlobIndex (const TVector< int32, 3 > &IndexIn, const TVector< int32, 3 > &LocalIndexIn) const
 
int32 Size () const
 
int32 Loc2GlobIndex (const int32 IndexIn, const TVector< int32, 3 > &LocalIndexIn) const
 
TVector< T, 3 > Node (const TVector< int32, 3 > &IndexIn) const
 
TVector< T, 3 > Node (int32 FlatIndexIn) const
 
int32 FlatIndex (const TVector< int32, 3 > &Index) const
 
TVector< int32, 3 > Lin2MultiIndex (const int32 IndexIn) const
 
const TVector< int32, 3 > GetCells () const
 
const TVector< T, 3 > GetMinCorner () const
 
const TVector< T, 3 > & GetDx () const
 
void SetDx (const TVector< T, 3 > DxIn)
 
void UpdateGridFromPositions (const Chaos::TDynamicParticles< T, 3 > &InParticles)
 
void SetInterp (InterpType InterpIn)
 
- Public Member Functions inherited from Chaos::TUniformGridBase< T, 3 >
void Serialize (FArchive &Ar)
 
TVector< T, d > Location (const TVector< int32, d > &Cell) const
 
TVector< T, d > Location (const Pair< int32, TVector< int32, 3 > > &Face) const
 
void Reset ()
 
TVector< int32, d > CellUnsafe (const TVector< T, d > &X) const
 
TVector< int32, d > Cell (const TVector< T, d > &X) const
 
TVector< int32, d > Face (const TVector< T, d > &X, const int32 Component) const
 
TVector< T, d > DomainSize () const
 
int32 GetNumCells () const
 
int32 GetNumNodes () const
 
TVector< T, d > Node (const TVector< int32, d > &Index) const
 
TVector< T, d > Node (const int32 FlatIndex) const
 
bool InteriorNode (const TVector< int32, d > &Index) const
 
int32 FlatIndex (const TVector< int32, 2 > &MIndex, const bool NodeIndex=false) const
 
int32 FlatIndex (const TVector< int32, 3 > &MIndex, const bool NodeIndex=false) const
 
void FlatToMultiIndex (const int32 FlatIndex, TVector< int32, 2 > &MIndex, const bool NodeIndex=false) const
 
void FlatToMultiIndex (const int32 FlatIndex, TVector< int32, 3 > &MIndex, const bool NodeIndex=false) const
 
T_SCALAR LinearlyInterpolate (const TArrayND< T_SCALAR, d > &ScalarN, const TVector< T, d > &X) const
 
TVector< T, d > LinearlyInterpolate (const TArrayFaceND< T, d > &ScalarN, const TVector< T, d > &X) const
 
TVector< T, d > LinearlyInterpolate (const TArrayFaceND< T, d > &ScalarN, const TVector< T, d > &X, const Pair< int32, TVector< int32, d > > Index) const
 
LinearlyInterpolateComponent (const TArrayND< T, d > &ScalarNComponent, const TVector< T, d > &X, const int32 Axis) const
 
const TVector< int32, d > & Counts () const
 
const TVector< int32, d > NodeCounts () const
 
const TVector< T, d > & Dx () const
 
const TVector< T, d > & MinCorner () const
 
const TVector< T, d > & MaxCorner () const
 

Public Attributes

InterpType interp = linear
 
uint32 NPerDir = 2
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::TUniformGridBase< T, 3 >
 TUniformGridBase ()
 
 TUniformGridBase (const TVector< T, d > &MinCorner, const TVector< T, d > &MaxCorner, const TVector< int32, d > &Cells, const uint32 GhostCells)
 
 ~TUniformGridBase ()
 
- Protected Attributes inherited from Chaos::TUniformGridBase< T, 3 >
TVector< T, d > MMinCorner
 
TVector< T, d > MMaxCorner
 
TVector< int32, d > MCells
 
TVector< T, d > MDx
 

Member Enumeration Documentation

◆ InterpType

template<class T >
enum Chaos::TMPMGrid::InterpType
Enumerator
linear 
quadratic 

Constructor & Destructor Documentation

◆ TMPMGrid() [1/4]

template<class T >
Chaos::TMPMGrid< T >::TMPMGrid ( )
inline

◆ TMPMGrid() [2/4]

template<class T >
Chaos::TMPMGrid< T >::TMPMGrid ( const TVector< T, 3 > &  MinCorner,
const TVector< T, 3 > &  MaxCorner,
const TVector< int32, 3 > &  Cells,
const uint32  GhostCells = 0 
)
inline

◆ TMPMGrid() [3/4]

template<class T >
Chaos::TMPMGrid< T >::TMPMGrid ( const int32  GridN)
inline

◆ TMPMGrid() [4/4]

template<class T >
Chaos::TMPMGrid< T >::TMPMGrid ( const T  GridDx)
inline

◆ ~TMPMGrid()

template<class T >
Chaos::TMPMGrid< T >::~TMPMGrid ( )
inline

Member Function Documentation

◆ BaseNodeIndex()

template<class T >
void Chaos::TMPMGrid< T >::BaseNodeIndex ( const TVector< T, 3 > &  X,
TVector< int32, 3 > &  Index,
TVector< T, 3 > &  weights 
) const

◆ dNijk()

template<class T >
T Chaos::TMPMGrid< T >::dNijk ( w,
int32  ii,
dx 
) const
inline

◆ FlatIndex()

template<class T >
int32 Chaos::TMPMGrid< T >::FlatIndex ( const TVector< int32, 3 > &  Index) const

◆ GetCells()

template<class T >
const TVector< int32, 3 > Chaos::TMPMGrid< T >::GetCells ( ) const
inline

◆ GetDx()

template<class T >
const TVector< T, 3 > & Chaos::TMPMGrid< T >::GetDx ( ) const
inline

◆ GetMinCorner()

template<class T >
const TVector< T, 3 > Chaos::TMPMGrid< T >::GetMinCorner ( ) const
inline

◆ GradNi()

template<class T >
void Chaos::TMPMGrid< T >::GradNi ( const TVector< T, 3 > &  Ni,
const TVector< T, 3 > &  dNi,
TVector< T, 3 > &  result 
) const
inline

◆ Lin2MultiIndex()

template<class T >
TVector< int32, 3 > Chaos::TMPMGrid< T >::Lin2MultiIndex ( const int32  IndexIn) const

◆ Loc2GlobIndex() [1/2]

template<class T >
int32 Chaos::TMPMGrid< T >::Loc2GlobIndex ( const int32  IndexIn,
const TVector< int32, 3 > &  LocalIndexIn 
) const

◆ Loc2GlobIndex() [2/2]

template<class T >
TVector< int32, 3 > Chaos::TMPMGrid< T >::Loc2GlobIndex ( const TVector< int32, 3 > &  IndexIn,
const TVector< int32, 3 > &  LocalIndexIn 
) const
inline

◆ Nijk()

template<class T >
T Chaos::TMPMGrid< T >::Nijk ( w,
int32  ii 
) const
inline

◆ Node() [1/2]

template<class T >
TVector< T, 3 > Chaos::TMPMGrid< T >::Node ( const TVector< int32, 3 > &  IndexIn) const
inline

◆ Node() [2/2]

template<class T >
TVector< T, 3 > Chaos::TMPMGrid< T >::Node ( int32  FlatIndexIn) const

◆ SetDx()

template<class T >
void Chaos::TMPMGrid< T >::SetDx ( const TVector< T, 3 >  DxIn)
inline

◆ SetInterp()

template<class T >
void Chaos::TMPMGrid< T >::SetInterp ( InterpType  InterpIn)

◆ Size()

template<class T >
int32 Chaos::TMPMGrid< T >::Size ( ) const
inline

◆ UpdateGridFromPositions()

template<class T >
void Chaos::TMPMGrid< T >::UpdateGridFromPositions ( const Chaos::TDynamicParticles< T, 3 > &  InParticles)

Member Data Documentation

◆ interp

template<class T >
InterpType Chaos::TMPMGrid< T >::interp = linear

◆ NPerDir

template<class T >
uint32 Chaos::TMPMGrid< T >::NPerDir = 2

The documentation for this class was generated from the following files: