numerics 0.1.0
Loading...
Searching...
No Matches
num::ScalarField3D Class Reference

#include <fields.hpp>

Public Member Functions

 ScalarField3D (int nx, int ny, int nz, float dx, float ox=0.0f, float oy=0.0f, float oz=0.0f)
 
Grid3Dgrid ()
 
const Grid3Dgrid () const
 
int nx () const
 
int ny () const
 
int nz () const
 
float dx () const
 
float ox () const
 
float oy () const
 
float oz () const
 
void set (int i, int j, int k, double v)
 
void fill (double v)
 
template<typename F >
void fill (F &&f)
 Fill every cell with f(i, j, k).
 
template<typename F >
 ScalarField3D (int nx, int ny, int nz, float dx, F &&f, float ox=0.0f, float oy=0.0f, float oz=0.0f)
 Construct and fill from callable f(i, j, k) -> double.
 
float sample (float x, float y, float z) const
 

Detailed Description

Definition at line 22 of file fields.hpp.

Constructor & Destructor Documentation

◆ ScalarField3D() [1/2]

num::ScalarField3D::ScalarField3D ( int  nx,
int  ny,
int  nz,
float  dx,
float  ox = 0.0f,
float  oy = 0.0f,
float  oz = 0.0f 
)
Parameters
nx,ny,nzGrid resolution
dxCell size [m]
ox,oy,ozWorld-space origin

Definition at line 14 of file fields.cpp.

◆ ScalarField3D() [2/2]

template<typename F >
num::ScalarField3D::ScalarField3D ( int  nx,
int  ny,
int  nz,
float  dx,
F &&  f,
float  ox = 0.0f,
float  oy = 0.0f,
float  oz = 0.0f 
)
inline

Construct and fill from callable f(i, j, k) -> double.

Definition at line 76 of file fields.hpp.

References fill().

Member Function Documentation

◆ dx()

float num::ScalarField3D::dx ( ) const
inline

◆ fill() [1/2]

void num::ScalarField3D::fill ( double  v)
inline

Definition at line 67 of file fields.hpp.

References num::Grid3D::fill().

Referenced by ScalarField3D().

◆ fill() [2/2]

template<typename F >
void num::ScalarField3D::fill ( F &&  f)
inline

Fill every cell with f(i, j, k).

Definition at line 72 of file fields.hpp.

References num::Grid3D::fill().

◆ grid() [1/2]

◆ grid() [2/2]

const Grid3D & num::ScalarField3D::grid ( ) const
inline

Definition at line 38 of file fields.hpp.

◆ nx()

int num::ScalarField3D::nx ( ) const
inline

◆ ny()

int num::ScalarField3D::ny ( ) const
inline

◆ nz()

int num::ScalarField3D::nz ( ) const
inline

◆ ox()

float num::ScalarField3D::ox ( ) const
inline

◆ oy()

float num::ScalarField3D::oy ( ) const
inline

◆ oz()

float num::ScalarField3D::oz ( ) const
inline

◆ sample()

float num::ScalarField3D::sample ( float  x,
float  y,
float  z 
) const

Trilinear interpolation at world position (x,y,z). Returns 0 outside the grid domain.

Definition at line 18 of file fields.cpp.

References dx(), nx(), ny(), and nz().

Referenced by num::VectorField3D::sample().

◆ set()

void num::ScalarField3D::set ( int  i,
int  j,
int  k,
double  v 
)
inline

Definition at line 64 of file fields.hpp.

References num::Grid3D::set().


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