1.1.0
CCC
 
DirParam Class Reference

Class containing the definition of a Direction used for the calculation of the experimental Spatial Characteristics as calculated experimentally from the data (contained in a Db). This class corresponds to one item of the list of criteria stored in VarioParam and use for the calculation of Vario. More...

#include <DirParam.hpp>

Inheritance diagram for DirParam:
ASpaceObject AStringable

Public Member Functions

 DirParam (int npas=10, double dpas=1., double toldis=0.5, double tolang=90., int opt_code=0, int idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const VectorDouble &breaks=VectorDouble(), const VectorDouble &codir=VectorDouble(), double angle2D=TEST, const ASpace *space=nullptr)
 
 DirParam (const DbGrid *dbgrid, int npas, const VectorInt &grincr, const ASpace *space)
 
 DirParam (const DirParam &r)
 
DirParamoperator= (const DirParam &r)
 
virtual ~DirParam ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface. More...
 
virtual bool isConsistent (const ASpace *space) const override
 ASpaceObject Interface. More...
 
const ASpacegetSpace () const
 
double getBench () const
 
const VectorDoublegetBreaks () const
 
double getBreak (int i) const
 
const VectorDoublegetCodirs () const
 
double getCodir (int i) const
 
double getCylRad () const
 
double getDPas () const
 
double getLag () const
 
int getIdate () const
 
int getLagNumber () const
 
int getOptionCode () const
 
double getTolAngle () const
 
double getTolCode () const
 
double getTolDist () const
 
VectorInt getGrincrs () const
 
int getGrincr (int i) const
 
double getMaximumDistance () const
 
int getBreakNumber () const
 
bool getFlagRegular () const
 
void setLagNumber (int npas)
 
void setOptionCode (int option_code)
 
void setIdate (int idate)
 
void setDPas (double dpas)
 
void setDLag (double dlag)
 
void setDPas (const DbGrid *db)
 
void setBench (double bench)
 
void setCylRad (double cylrad)
 
void setTolDist (double toldist)
 
void setTolAngle (double tolang)
 
void setTolCode (double tolcode)
 
void setBreaks (VectorDouble breaks)
 
void setCodir (VectorDouble codir)
 
void setGrincr (const VectorInt &grincr)
 
bool isLagValid (int ilag, bool flagAsym=false) const
 
bool isDimensionValid (int idim) const
 
bool isDefinedForGrid () const
 
int getLagRank (double dist) const
 
- Public Member Functions inherited from ASpaceObject
 ASpaceObject (const ASpace *space=nullptr)
 
 ASpaceObject (const ASpace &space)
 
 ASpaceObject (const ASpaceObject &r)
 
ASpaceObjectoperator= (const ASpaceObject &r)
 
virtual ~ASpaceObject ()
 
const ASpacegetSpace () const
 Accessor to the current object space context. More...
 
bool isConsistent () const
 Indicate if I am consistent with my current space context. More...
 
VectorDouble getUnitaryVector () const
 Return unitary vector for the current space context. More...
 
unsigned int getNDim () const
 Shortcuts to ASpace methods. More...
 
const VectorDoublegetOrigin () const
 Return the current space context origin coordinates. More...
 
double getDistance (const SpacePoint &p1, const SpacePoint &p2) const
 Return the distance between two space points for the current space context. More...
 
double getDistance1D (const SpacePoint &p1, const SpacePoint &p2, int idim) const
 Return the distance along one direction between two space points. More...
 
VectorDouble getIncrement (const SpacePoint &p1, const SpacePoint &p2) const
 Return the increment vector between two space points for the current space context. More...
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 

Static Public Member Functions

static DirParamcreate (int npas=10, double dpas=1., double toldis=0.5, double tolang=90., int opt_code=0, int idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const VectorDouble &breaks=VectorDouble(), const VectorDouble &codir=VectorDouble(), double angle2D=TEST, const ASpace *space=nullptr)
 
static DirParamcreateOmniDirection (int npas=10, double dpas=1., double toldis=0.5, int opt_code=0, int idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const VectorDouble &breaks=VectorDouble(), const ASpace *space=nullptr)
 
static DirParamcreateFromGrid (const DbGrid *dbgrid, int npas=10, const VectorInt &grincr=VectorInt(), const ASpace *space=nullptr)
 
static std::vector< DirParamcreateMultiple (int ndir, int npas=10, double dpas=1., double toldis=0.5, double angref=0., const ASpace *space=nullptr)
 
static std::vector< DirParamcreateSeveral2D (const VectorDouble &angles, int npas=10, double dpas=1., double toldis=0.5, double tolang=TEST, const ASpace *space=nullptr)
 
static std::vector< DirParamcreateMultipleInSpace (int npas, double dpas=1., const ASpace *space=nullptr)
 

Detailed Description

Class containing the definition of a Direction used for the calculation of the experimental Spatial Characteristics as calculated experimentally from the data (contained in a Db). This class corresponds to one item of the list of criteria stored in VarioParam and use for the calculation of Vario.

The Direction consists in a series of rules (some are optional) for comparing two active samples of the Db:

  • their distance must be assigned to a lag: i.e. the distance must correspond to a multiple of the lag (lag), up to a tolerance (tolerance) expressed as a percentage of the lag. The rank of this multiple must be smaller than the number of lags (nlag).
  • the lag definition can be replaced by a series of intervals (breaks): the pair is selected if the distance belongs to one of these intervals.
  • the orientation of the segment joining the two points must be assigned to the current direction characterized by its angle (expressed by its direction coefficients codir), up to a tolerance on angle (tolangle) given in degrees.
  • the distance between the two points (measured along the axis perpendicular to the direction) must be smaller than a maximum cylinder distance (cylrad).
  • the distance between the two points (measured along the highest space dimension) must be smaller than a bench height (bench)
  • the difference between the code values (locator ELoc::CODE) defined at both samples must be either smaller or larger than the tolerance on the code (tolcode).
  • the two saples must share the same data (ELoc::DATE)

In the case, the Db correspond to a grid, the lag is defined as an increment on the grid meshes (grincr)

Constructor & Destructor Documentation

DirParam::DirParam ( int  npas = 10,
double  dpas = 1.,
double  toldis = 0.5,
double  tolang = 90.,
int  opt_code = 0,
int  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const VectorDouble breaks = VectorDouble(),
const VectorDouble codir = VectorDouble(),
double  angle2D = TEST,
const ASpace space = nullptr 
)
DirParam::DirParam ( const DbGrid dbgrid,
int  npas,
const VectorInt grincr,
const ASpace space 
)
DirParam::DirParam ( const DirParam r)
DirParam::~DirParam ( )
virtual

Member Function Documentation

DirParam * DirParam::create ( int  npas = 10,
double  dpas = 1.,
double  toldis = 0.5,
double  tolang = 90.,
int  opt_code = 0,
int  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const VectorDouble breaks = VectorDouble(),
const VectorDouble codir = VectorDouble(),
double  angle2D = TEST,
const ASpace space = nullptr 
)
static
DirParam * DirParam::createFromGrid ( const DbGrid dbgrid,
int  npas = 10,
const VectorInt grincr = VectorInt(),
const ASpace space = nullptr 
)
static
std::vector< DirParam > DirParam::createMultiple ( int  ndir,
int  npas = 10,
double  dpas = 1.,
double  toldis = 0.5,
double  angref = 0.,
const ASpace space = nullptr 
)
static
std::vector< DirParam > DirParam::createMultipleInSpace ( int  npas,
double  dpas = 1.,
const ASpace space = nullptr 
)
static

Create a set of calculation directions based on the Space definition

  • one direction per space axis
  • the other parameters are applied to each direction, such as:
    Parameters
    npasNumber of lags
    dpasDimension for the lag
    spacePointer to the Space definition
    Returns
    Remarks
    : the angular tolerance is set equal to 0
DirParam * DirParam::createOmniDirection ( int  npas = 10,
double  dpas = 1.,
double  toldis = 0.5,
int  opt_code = 0,
int  idate = 0,
double  bench = TEST,
double  cylrad = TEST,
double  tolcode = 0.,
const VectorDouble breaks = VectorDouble(),
const ASpace space = nullptr 
)
static
std::vector< DirParam > DirParam::createSeveral2D ( const VectorDouble angles,
int  npas = 10,
double  dpas = 1.,
double  toldis = 0.5,
double  tolang = TEST,
const ASpace space = nullptr 
)
static
double DirParam::getBench ( ) const
inline
double DirParam::getBreak ( int  i) const
int DirParam::getBreakNumber ( ) const
inline
const VectorDouble& DirParam::getBreaks ( ) const
inline
double DirParam::getCodir ( int  i) const
const VectorDouble& DirParam::getCodirs ( ) const
inline
double DirParam::getCylRad ( ) const
inline
double DirParam::getDPas ( ) const
inline
bool DirParam::getFlagRegular ( ) const
inline
int DirParam::getGrincr ( int  i) const
VectorInt DirParam::getGrincrs ( ) const
inline
int DirParam::getIdate ( ) const
inline
double DirParam::getLag ( ) const
inline
int DirParam::getLagNumber ( ) const
inline
int DirParam::getLagRank ( double  dist) const

Return the rank of the lag

Returns
Rank of the lag or ITEST
Parameters
[in]distDistance
double DirParam::getMaximumDistance ( ) const
int DirParam::getOptionCode ( ) const
inline
const ASpace* DirParam::getSpace ( ) const
inline
double DirParam::getTolAngle ( ) const
inline
double DirParam::getTolCode ( ) const
inline
double DirParam::getTolDist ( ) const
inline
bool DirParam::isConsistent ( const ASpace space) const
overridevirtual

ASpaceObject Interface.

Implements ASpaceObject.

bool DirParam::isDefinedForGrid ( ) const
inline
bool DirParam::isDimensionValid ( int  idim) const
bool DirParam::isLagValid ( int  ilag,
bool  flagAsym = false 
) const
DirParam & DirParam::operator= ( const DirParam r)
void DirParam::setBench ( double  bench)
inline
void DirParam::setBreaks ( VectorDouble  breaks)
inline
void DirParam::setCodir ( VectorDouble  codir)
inline
void DirParam::setCylRad ( double  cylrad)
inline
void DirParam::setDLag ( double  dlag)
inline
void DirParam::setDPas ( double  dpas)
inline
void DirParam::setDPas ( const DbGrid db)

Set the value of the lag as computed from the Db (Grid organized)

Parameters
dbDb structure
void DirParam::setGrincr ( const VectorInt grincr)
inline
void DirParam::setIdate ( int  idate)
inline
void DirParam::setLagNumber ( int  npas)
inline
void DirParam::setOptionCode ( int  option_code)
inline
void DirParam::setTolAngle ( double  tolang)
void DirParam::setTolCode ( double  tolcode)
inline
void DirParam::setTolDist ( double  toldist)
inline
String DirParam::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from ASpaceObject.


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