UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize > Class Template Reference

#include <GridInterpolant.h>

Public Types

using CellSizeType = std::conditional_t< bScalarCellSize, RealType, TVector< RealType > >
 

Public Member Functions

 TTriLinearGridInterpolant (GridType *Grid, TVector< RealType > GridOrigin, CellSizeType CellSize, FVector3i Dimensions)
 
TAxisAlignedBox3< RealType > Bounds () const
 
FVector3i Cell (const TVector< RealType > &Pt) const
 
template<bool bClamped = false>
RealType Value (const TVector< RealType > &Pt) const
 
TVector< RealType > Gradient (const TVector< RealType > &Pt) const
 

Public Attributes

GridTypeGrid
 
TVector< RealType > GridOrigin
 
CellSizeType CellSize
 
FVector3i Dimensions
 
RealType Outside = TMathUtil<RealType>::SafeLargeValue
 

Protected Member Functions

void get_value_pair (int I, int J, int K, RealType &A, RealType &B) const
 

Detailed Description

template<class GridType, typename RealType = double, bool bScalarCellSize = true>
class UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >

Tri-linear interpolant for a 3D dense Grid. Supports Grid translation via GridOrigin, but does not support scaling or rotation. If you need those, you can wrap this in something that does the xform.

GridType must have a GetValue() that returns a value to interpolate at a given FVector3i location – (w/ locations ranging from [0,0,0] to Dimensions (exclusive))

Member Typedef Documentation

◆ CellSizeType

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
using UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::CellSizeType = std::conditional_t<bScalarCellSize, RealType, TVector<RealType> >

Constructor & Destructor Documentation

◆ TTriLinearGridInterpolant()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::TTriLinearGridInterpolant ( GridType Grid,
TVector< RealType >  GridOrigin,
CellSizeType  CellSize,
FVector3i  Dimensions 
)
inline

Member Function Documentation

◆ Bounds()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
TAxisAlignedBox3< RealType > UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Bounds ( ) const
inline

◆ Cell()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
FVector3i UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Cell ( const TVector< RealType > &  Pt) const
inline

◆ get_value_pair()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
void UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::get_value_pair ( int  I,
int  J,
int  K,
RealType &  A,
RealType &  B 
) const
inlineprotected

◆ Gradient()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
TVector< RealType > UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Gradient ( const TVector< RealType > &  Pt) const
inline

◆ Value()

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
template<bool bClamped = false>
RealType UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Value ( const TVector< RealType > &  Pt) const
inline

Member Data Documentation

◆ CellSize

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
CellSizeType UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::CellSize

◆ Dimensions

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
FVector3i UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Dimensions

◆ Grid

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
GridType* UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Grid

◆ GridOrigin

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
TVector<RealType> UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::GridOrigin

◆ Outside

template<class GridType , typename RealType = double, bool bScalarCellSize = true>
RealType UE::Geometry::TTriLinearGridInterpolant< GridType, RealType, bScalarCellSize >::Outside = TMathUtil<RealType>::SafeLargeValue

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