gstlearn  1.0.0
CCC
CalcGridToGrid Class Reference

#include <CalcGridToGrid.hpp>

Inheritance diagram for CalcGridToGrid:
ACalcDbToDb ACalculator

Public Member Functions

 CalcGridToGrid ()
 
 CalcGridToGrid (const CalcGridToGrid &r)=delete
 
CalcGridToGridoperator= (const CalcGridToGrid &r)=delete
 
virtual ~CalcGridToGrid ()
 
void setFlagCopy (bool flagCopy)
 
void setFlagExpand (bool flagExpand)
 
void setFlagShrink (bool flagShrink)
 
void setFlagInter (bool flagInter)
 
void setNameBots (const VectorString name_bots)
 
void setNameTops (const VectorString name_tops)
 
- Public Member Functions inherited from ACalcDbToDb
 ACalcDbToDb (bool mustShareSameSpaceDimension=true)
 
 ACalcDbToDb (const ACalcDbToDb &r)=delete
 
ACalcDbToDboperator= (const ACalcDbToDb &r)=delete
 
virtual ~ACalcDbToDb ()
 
void setDbin (Db *dbin)
 
void setDbout (Db *dbout)
 
void setNamingConvention (const NamingConvention &namconv)
 
void setMustShareSpaceDimension (bool mustShareSpaceDimension)
 
DbgetDbin () const
 
DbgetDbout () const
 
DbGridgetGridin () const
 
DbGridgetGridout () const
 
bool hasDbin (bool verbose=true) const
 
bool hasDbout (bool verbose=true) const
 
bool isGridIn (bool verbose=true) const
 
bool isGridOut (bool verbose=true) const
 
- Public Member Functions inherited from ACalculator
 ACalculator ()
 
 ACalculator (const ACalculator &r)=delete
 
ACalculatoroperator= (const ACalculator &r)=delete
 
virtual ~ACalculator ()
 
bool run ()
 

Protected Member Functions

virtual bool _check () override
 
virtual bool _preprocess () override
 
virtual bool _run () override
 
virtual bool _postprocess () override
 
virtual void _rollback () override
 
virtual int _getNVar () const
 
- Protected Member Functions inherited from ACalcDbToDb
virtual int _getNDim () const
 
int _addVariableDb (int whichDb, int status, const ELoc &locatorType, int locatorIndex=0, int number=1, double valinit=0.)
 
void _renameVariable (int whichDb, const VectorString &names, const ELoc &locatorType, int nvar, int iptr, const String &name, int count, bool flagSetLocator=true, int shift=0)
 
void _storeInVariableList (int whichDb, int status, const VectorInt &iuids)
 
int _expandInformation (int mode, const ELoc &locatorType)
 
void _cleanVariableDb (int status)
 
Db_whichDb (int whichDb)
 
String _identifyVariable (int iuid) const
 

Private Member Functions

bool _g2gCopy ()
 
bool _g2gExpand ()
 
bool _g2gShrink ()
 
bool _g2gInter ()
 
int _compareInMinusOut () const
 
void _reduceIndices (const VectorInt &indgIn, VectorInt &indgOut)
 
bool _loadExtrema (int nvar, int iech, const VectorInt &iuids, VectorDouble &coor)
 
double _interpolate (int nvar, double valTop, double valBot, const VectorDouble &coorTop, const VectorDouble &coorBot, const VectorDouble &coorOut)
 

Private Attributes

int _iattOut
 
bool _flagCopy
 
bool _flagExpand
 
bool _flagShrink
 
int _iattAux
 
bool _flagInter
 
VectorString _nameTops
 
VectorString _nameBots
 

Constructor & Destructor Documentation

◆ CalcGridToGrid() [1/2]

CalcGridToGrid::CalcGridToGrid ( )

◆ CalcGridToGrid() [2/2]

CalcGridToGrid::CalcGridToGrid ( const CalcGridToGrid r)
delete

◆ ~CalcGridToGrid()

CalcGridToGrid::~CalcGridToGrid ( )
virtual

Member Function Documentation

◆ _check()

bool CalcGridToGrid::_check ( )
overrideprotectedvirtual

Reimplemented from ACalcDbToDb.

◆ _compareInMinusOut()

int CalcGridToGrid::_compareInMinusOut ( ) const
private

◆ _g2gCopy()

bool CalcGridToGrid::_g2gCopy ( )
private

◆ _g2gExpand()

bool CalcGridToGrid::_g2gExpand ( )
private

◆ _g2gInter()

bool CalcGridToGrid::_g2gInter ( )
private

◆ _g2gShrink()

bool CalcGridToGrid::_g2gShrink ( )
private

◆ _getNVar()

int CalcGridToGrid::_getNVar ( ) const
protectedvirtual

Reimplemented from ACalcDbToDb.

◆ _interpolate()

double CalcGridToGrid::_interpolate ( int  nvar,
double  valTop,
double  valBot,
const VectorDouble coorTop,
const VectorDouble coorBot,
const VectorDouble coorOut 
)
private

Perform the linear interpolation

Parameters
nvarNumber of relevant coordinates
valTopValue at the Top
valBotValue at the Bottom
coorTopCoordinates of the Top
coorBotCoordinates of the Bottom
coorOutCoordinates at Target (see remarks)
Returns
Remarks
The vectors 'coorTop' and 'coorBot' are dimensioned to nvar
The vector 'coorOut' contains the ndimIn first coordinates followed
by the actual 'nvar' coordinates of the target

◆ _loadExtrema()

bool CalcGridToGrid::_loadExtrema ( int  nvar,
int  iech,
const VectorInt iuids,
VectorDouble coor 
)
private

◆ _postprocess()

bool CalcGridToGrid::_postprocess ( )
overrideprotectedvirtual

Reimplemented from ACalculator.

◆ _preprocess()

bool CalcGridToGrid::_preprocess ( )
overrideprotectedvirtual

Reimplemented from ACalculator.

◆ _reduceIndices()

void CalcGridToGrid::_reduceIndices ( const VectorInt indgIn,
VectorInt indgOut 
)
private

Copy the cell indices of 'indgIn' into 'indgOut'. It is assumed that the dimension of 'indgOut' is always smaller than the one of 'indgIn' No test if performed for efficiency reason.

Parameters
indgInInput vector of indices
indgOutOutput vector of indices

◆ _rollback()

void CalcGridToGrid::_rollback ( )
overrideprotectedvirtual

Reimplemented from ACalculator.

◆ _run()

bool CalcGridToGrid::_run ( )
overrideprotectedvirtual

Implements ACalculator.

◆ operator=()

CalcGridToGrid& CalcGridToGrid::operator= ( const CalcGridToGrid r)
delete

◆ setFlagCopy()

void CalcGridToGrid::setFlagCopy ( bool  flagCopy)
inline

◆ setFlagExpand()

void CalcGridToGrid::setFlagExpand ( bool  flagExpand)
inline

◆ setFlagInter()

void CalcGridToGrid::setFlagInter ( bool  flagInter)
inline

◆ setFlagShrink()

void CalcGridToGrid::setFlagShrink ( bool  flagShrink)
inline

◆ setNameBots()

void CalcGridToGrid::setNameBots ( const VectorString  name_bots)
inline

◆ setNameTops()

void CalcGridToGrid::setNameTops ( const VectorString  name_tops)
inline

Member Data Documentation

◆ _flagCopy

bool CalcGridToGrid::_flagCopy
private

◆ _flagExpand

bool CalcGridToGrid::_flagExpand
private

◆ _flagInter

bool CalcGridToGrid::_flagInter
private

◆ _flagShrink

bool CalcGridToGrid::_flagShrink
private

◆ _iattAux

int CalcGridToGrid::_iattAux
private

◆ _iattOut

int CalcGridToGrid::_iattOut
private

◆ _nameBots

VectorString CalcGridToGrid::_nameBots
private

◆ _nameTops

VectorString CalcGridToGrid::_nameTops
private

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