Peano
Loading...
Searching...
No Matches
toolbox::curvi::Block Class Reference

#include <Block.h>

Collaboration diagram for toolbox::curvi::Block:

Public Member Functions

 Block ()
 
 Block (Coordinate a_coords[3], int a_index_offset[3], int a_index_size[3], std::vector< double > a_nodes)
 
 Block (BlockBoundary boundary)
 
 Block (BlockBoundary boundary, int a_index_offset[3], int a_index_size[3])
 
 Block (const Block &block)
 
Block & operator= (Block block)
 
Coordinate getCoord (int idx) const
 
void getCoord (Coordinate a_coord[3]) const
 
void getIndexSize (int a_index_size[3]) const
 
void getIndexOffset (int a_index_offset[3]) const
 
Block apply (std::function< void(const Block &, int, int, int, Block &)> func, int mode_z, int mode_y, int mode_x) const
 
Block resample (std::function< void(const Block &, int, int, int, Block &)> func, int in_z, int in_y, int in_x, int out_z, int out_y, int out_x) const
 
void interpolate (const double node[3], double result[3], const int strip=10) const
 
Block getMetricDerivatives (double **dudx, int nodes_z, int nodes_y, int nodes_x, double dx[3]) const
 
void getIndexRange (Coordinate coord, int start, int end, std::vector< int > &a_range) const
 
void getIndexRange (Coordinate coord, std::vector< int > &a_range) const
 
double & operator() (int coord, int k, int j, int i)
 
const double & operator() (int coord, int k, int j, int i) const
 
double & operator() (int coord, Coordinate coord_k, int k, Coordinate coord_j, int j, Coordinate coord_i, int i)
 
const double & operator() (int coord, Coordinate coord_k, int k, Coordinate coord_j, int j, Coordinate coord_i, int i) const
 
std::string toString () const
 
void appendToNetCDF (std::string filename, std::string prefix)
 
void toNetCDF (std::string filename) const
 

Private Attributes

std::vector< double > nodes
 
Coordinate coords [3]
 
int index_offset [3]
 
int index_size [3]
 

Friends

Block operator+ (Block lhs, const Block &rhs)
 

Detailed Description

Definition at line 12 of file Block.h.

Constructor & Destructor Documentation

◆ Block() [1/5]

toolbox::curvi::Block::Block ( )

◆ Block() [2/5]

toolbox::curvi::Block::Block ( Coordinate  a_coords[3],
int  a_index_offset[3],
int  a_index_size[3],
std::vector< double >  a_nodes 
)

◆ Block() [3/5]

toolbox::curvi::Block::Block ( BlockBoundary  boundary)

◆ Block() [4/5]

toolbox::curvi::Block::Block ( BlockBoundary  boundary,
int  a_index_offset[3],
int  a_index_size[3] 
)

◆ Block() [5/5]

toolbox::curvi::Block::Block ( const Block &  block)

Member Function Documentation

◆ appendToNetCDF()

void toolbox::curvi::Block::appendToNetCDF ( std::string  filename,
std::string  prefix 
)

◆ apply()

Block toolbox::curvi::Block::apply ( std::function< void(const Block &, int, int, int, Block &)>  func,
int  mode_z,
int  mode_y,
int  mode_x 
) const

◆ getCoord() [1/2]

void toolbox::curvi::Block::getCoord ( Coordinate  a_coord[3]) const

◆ getCoord() [2/2]

Coordinate toolbox::curvi::Block::getCoord ( int  idx) const

◆ getIndexOffset()

void toolbox::curvi::Block::getIndexOffset ( int  a_index_offset[3]) const

◆ getIndexRange() [1/2]

void toolbox::curvi::Block::getIndexRange ( Coordinate  coord,
int  start,
int  end,
std::vector< int > &  a_range 
) const

◆ getIndexRange() [2/2]

void toolbox::curvi::Block::getIndexRange ( Coordinate  coord,
std::vector< int > &  a_range 
) const

◆ getIndexSize()

void toolbox::curvi::Block::getIndexSize ( int  a_index_size[3]) const

◆ getMetricDerivatives()

Block toolbox::curvi::Block::getMetricDerivatives ( double **  dudx,
int  nodes_z,
int  nodes_y,
int  nodes_x,
double  dx[3] 
) const

◆ interpolate()

void toolbox::curvi::Block::interpolate ( const double  node[3],
double  result[3],
const int  strip = 10 
) const

◆ operator()() [1/4]

double & toolbox::curvi::Block::operator() ( int  coord,
Coordinate  coord_k,
int  k,
Coordinate  coord_j,
int  j,
Coordinate  coord_i,
int  i 
)

◆ operator()() [2/4]

const double & toolbox::curvi::Block::operator() ( int  coord,
Coordinate  coord_k,
int  k,
Coordinate  coord_j,
int  j,
Coordinate  coord_i,
int  i 
) const

◆ operator()() [3/4]

double & toolbox::curvi::Block::operator() ( int  coord,
int  k,
int  j,
int  i 
)

◆ operator()() [4/4]

const double & toolbox::curvi::Block::operator() ( int  coord,
int  k,
int  j,
int  i 
) const

◆ operator=()

Block & toolbox::curvi::Block::operator= ( Block  block)

◆ resample()

Block toolbox::curvi::Block::resample ( std::function< void(const Block &, int, int, int, Block &)>  func,
int  in_z,
int  in_y,
int  in_x,
int  out_z,
int  out_y,
int  out_x 
) const

◆ toNetCDF()

void toolbox::curvi::Block::toNetCDF ( std::string  filename) const

◆ toString()

std::string toolbox::curvi::Block::toString ( ) const

Friends And Related Symbol Documentation

◆ operator+

Block operator+ ( Block  lhs,
const Block &  rhs 
)
friend

Field Documentation

◆ coords

Coordinate toolbox::curvi::Block::coords[3]
private

Definition at line 86 of file Block.h.

◆ index_offset

int toolbox::curvi::Block::index_offset[3]
private

Definition at line 87 of file Block.h.

◆ index_size

int toolbox::curvi::Block::index_size[3]
private

Definition at line 88 of file Block.h.

◆ nodes

std::vector<double> toolbox::curvi::Block::nodes
private

Definition at line 85 of file Block.h.


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