UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::TDenseGrid3< ElemType > Class Template Reference

#include <DenseGrid3.h>

Public Member Functions

 TDenseGrid3 ()
 
 TDenseGrid3 (int DimX, int DimY, int DimZ, ElemType InitialValue)
 
int Size () const
 
bool IsValidIndex (const FVector3i &Index) const
 
const FVector3iGetDimensions () const
 
void Resize (int DimX, int DimY, int DimZ, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
 
FORCEINLINE void Resize (int DimX, int DimY, int DimZ, bool bAllowShrinking)
 
void Assign (ElemType Value)
 
void SetMin (const FVector3i &IJK, ElemType F)
 
void SetMax (const FVector3i &IJK, ElemType F)
 
constexpr ElemType & operator[] (int Idx)
 
constexpr const ElemType & operator[] (int Idx) const
 
constexpr ElemType & operator[] (FVector3i Idx)
 
constexpr const ElemType & operator[] (FVector3i Idx) const
 
constexpr ElemType & At (int I, int J, int K)
 
constexpr const ElemType & At (int I, int J, int K) const
 
TArray< ElemType > & GridValues ()
 
const TArray< ElemType > & GridValues () const
 
ElemType GetValue (int32 X, int32 Y, int32 Z) const
 
ElemType GetValue (const FVector3i &CellCoords) const
 
void SetValue (int32 X, int32 Y, int32 Z, ElemType NewValue)
 
void SetValue (const FVector3i &CellCoords, ElemType NewValue)
 
template<typename ProcessFunc >
void ProcessValue (int32 X, int32 Y, int32 Z, ProcessFunc Func)
 
template<typename ProcessFunc >
void ProcessValue (const FVector3i &CellCoords, ProcessFunc Func)
 
void GetXPair (int X0, int Y, int Z, ElemType &AOut, ElemType &BOut) const
 
void Apply (TFunctionRef< ElemType(ElemType)> F)
 
FAxisAlignedBox3i Bounds () const
 
FAxisAlignedBox3i BoundsInclusive () const
 
FVector3i ToIndex (int Idx) const
 
int ToLinear (int X, int Y, int Z) const
 
int ToLinear (const FVector3i &IJK) const
 

Protected Attributes

TArray< ElemType > Buffer
 
FVector3i Dimensions
 

Detailed Description

template<typename ElemType>
class UE::Geometry::TDenseGrid3< ElemType >

3D dense grid of floating-point scalar values.

Constructor & Destructor Documentation

◆ TDenseGrid3() [1/2]

template<typename ElemType >
UE::Geometry::TDenseGrid3< ElemType >::TDenseGrid3 ( )
inline

Create empty grid

◆ TDenseGrid3() [2/2]

template<typename ElemType >
UE::Geometry::TDenseGrid3< ElemType >::TDenseGrid3 ( int  DimX,
int  DimY,
int  DimZ,
ElemType  InitialValue 
)
inline

Member Function Documentation

◆ Apply()

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::Apply ( TFunctionRef< ElemType(ElemType)>  F)
inline

◆ Assign()

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::Assign ( ElemType  Value)
inline

◆ At() [1/2]

template<typename ElemType >
constexpr ElemType & UE::Geometry::TDenseGrid3< ElemType >::At ( int  I,
int  J,
int  K 
)
inlineconstexpr

◆ At() [2/2]

template<typename ElemType >
constexpr const ElemType & UE::Geometry::TDenseGrid3< ElemType >::At ( int  I,
int  J,
int  K 
) const
inlineconstexpr

◆ Bounds()

template<typename ElemType >
FAxisAlignedBox3i UE::Geometry::TDenseGrid3< ElemType >::Bounds ( ) const
inline

◆ BoundsInclusive()

template<typename ElemType >
FAxisAlignedBox3i UE::Geometry::TDenseGrid3< ElemType >::BoundsInclusive ( ) const
inline

◆ GetDimensions()

template<typename ElemType >
const FVector3i & UE::Geometry::TDenseGrid3< ElemType >::GetDimensions ( ) const
inline

◆ GetValue() [1/2]

template<typename ElemType >
ElemType UE::Geometry::TDenseGrid3< ElemType >::GetValue ( const FVector3i CellCoords) const
inline
Returns
the grid value at (X,Y,Z)

◆ GetValue() [2/2]

template<typename ElemType >
ElemType UE::Geometry::TDenseGrid3< ElemType >::GetValue ( int32  X,
int32  Y,
int32  Z 
) const
inline
Returns
the grid value at (X,Y,Z)

◆ GetXPair()

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::GetXPair ( int  X0,
int  Y,
int  Z,
ElemType &  AOut,
ElemType &  BOut 
) const
inline

◆ GridValues() [1/2]

template<typename ElemType >
TArray< ElemType > & UE::Geometry::TDenseGrid3< ElemType >::GridValues ( )
inline

◆ GridValues() [2/2]

template<typename ElemType >
const TArray< ElemType > & UE::Geometry::TDenseGrid3< ElemType >::GridValues ( ) const
inline

◆ IsValidIndex()

template<typename ElemType >
bool UE::Geometry::TDenseGrid3< ElemType >::IsValidIndex ( const FVector3i Index) const
inline

◆ operator[]() [1/4]

template<typename ElemType >
constexpr ElemType & UE::Geometry::TDenseGrid3< ElemType >::operator[] ( FVector3i  Idx)
inlineconstexpr

◆ operator[]() [2/4]

template<typename ElemType >
constexpr const ElemType & UE::Geometry::TDenseGrid3< ElemType >::operator[] ( FVector3i  Idx) const
inlineconstexpr

◆ operator[]() [3/4]

template<typename ElemType >
constexpr ElemType & UE::Geometry::TDenseGrid3< ElemType >::operator[] ( int  Idx)
inlineconstexpr

◆ operator[]() [4/4]

template<typename ElemType >
constexpr const ElemType & UE::Geometry::TDenseGrid3< ElemType >::operator[] ( int  Idx) const
inlineconstexpr

◆ ProcessValue() [1/2]

template<typename ElemType >
template<typename ProcessFunc >
void UE::Geometry::TDenseGrid3< ElemType >::ProcessValue ( const FVector3i CellCoords,
ProcessFunc  Func 
)
inline

Call an external lambda with a reference to the grid value at (X,Y,Z). Called as Func(ElemType&), so the caller can both read and write the grid cell

◆ ProcessValue() [2/2]

template<typename ElemType >
template<typename ProcessFunc >
void UE::Geometry::TDenseGrid3< ElemType >::ProcessValue ( int32  X,
int32  Y,
int32  Z,
ProcessFunc  Func 
)
inline

Call an external lambda with a reference to the grid value at (X,Y,Z). Called as Func(ElemType&), so the caller can both read and write the grid cell

◆ Resize() [1/2]

template<typename ElemType >
FORCEINLINE void UE::Geometry::TDenseGrid3< ElemType >::Resize ( int  DimX,
int  DimY,
int  DimZ,
bool  bAllowShrinking 
)
inline

◆ Resize() [2/2]

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::Resize ( int  DimX,
int  DimY,
int  DimZ,
EAllowShrinking  AllowShrinking = EAllowShrinking::Default 
)
inline

◆ SetMax()

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::SetMax ( const FVector3i IJK,
ElemType  F 
)
inline

◆ SetMin()

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::SetMin ( const FVector3i IJK,
ElemType  F 
)
inline

◆ SetValue() [1/2]

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::SetValue ( const FVector3i CellCoords,
ElemType  NewValue 
)
inline

Set the grid value at (X,Y,Z)

◆ SetValue() [2/2]

template<typename ElemType >
void UE::Geometry::TDenseGrid3< ElemType >::SetValue ( int32  X,
int32  Y,
int32  Z,
ElemType  NewValue 
)
inline

Set the grid value at (X,Y,Z)

◆ Size()

template<typename ElemType >
int UE::Geometry::TDenseGrid3< ElemType >::Size ( ) const
inline

◆ ToIndex()

template<typename ElemType >
FVector3i UE::Geometry::TDenseGrid3< ElemType >::ToIndex ( int  Idx) const
inline

◆ ToLinear() [1/2]

template<typename ElemType >
int UE::Geometry::TDenseGrid3< ElemType >::ToLinear ( const FVector3i IJK) const
inline

◆ ToLinear() [2/2]

template<typename ElemType >
int UE::Geometry::TDenseGrid3< ElemType >::ToLinear ( int  X,
int  Y,
int  Z 
) const
inline

Member Data Documentation

◆ Buffer

template<typename ElemType >
TArray<ElemType> UE::Geometry::TDenseGrid3< ElemType >::Buffer
protected

grid of allocated elements

◆ Dimensions

template<typename ElemType >
FVector3i UE::Geometry::TDenseGrid3< ElemType >::Dimensions
protected

dimensions per axis


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