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)
|
| DirParam (Id nlag=10, double dlag=1., double toldis=0.5, double tolang=90., Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const 1 &codir=1(), double angle2D=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
| DirParam (const DbGrid *dbgrid, Id nlag, const 1 &grincr, const ASpaceSharedPtr &space) |
|
| DirParam (const DirParam &r) |
|
DirParam & | operator= (const DirParam &r) |
|
virtual | ~DirParam () |
|
String | toString (const AStringFormat *strfmt=nullptr) const override |
| AStringable Interface.
|
|
bool | isConsistent (const ASpace *space) const override |
| ASpaceObject Interface.
|
|
double | getBench () const |
|
const & | getBreaks () const |
|
double | getBreak (Id i) const |
|
const & | getCodirs () const |
|
double | getCodir (Id i) const |
|
double | getCylRad () const |
|
double | getDPas () const |
|
double | getLag () const |
|
Id | getIdate () const |
|
Id | getNLag () const |
|
Id | getOptionCode () const |
|
double | getTolAngle () const |
|
double | getTolCode () const |
|
double | getTolDist () const |
|
| getGrincrs () const |
|
Id | getGrincr (Id i) const |
|
double | getMaximumDistance () const |
|
Id | getNBreak () const |
|
bool | getFlagRegular () const |
|
void | setNLag (Id nlag) |
|
void | setOptionCode (Id option_code) |
|
void | setIdate (Id idate) |
|
void | setDPas (double dlag) |
|
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 (const 1 &breaks) |
|
void | setCodir (const 1 &codir) |
|
void | setGrincr (const 1 &grincr) |
|
bool | isLagValid (Id ilag, bool flagAsym=false, bool flagCheck=true) const |
|
bool | isDimensionValid (Id idim) const |
|
bool | isDefinedForGrid () const |
|
Id | getLagRank (double dist) const |
|
| ASpaceObject (const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
| ASpaceObject (const ASpaceObject &r) |
|
ASpaceObject & | operator= (const ASpaceObject &r) |
|
virtual | ~ASpaceObject () |
|
ASpaceSharedPtr | getSpace () const |
| Accessor to the current object space context.
|
|
bool | isConsistent () const |
| Indicate if I am consistent with my current space context.
|
|
void | setSpace (ASpaceSharedPtr &&space) |
|
| getUnitaryVector () const |
| Return unitary vector for the current space context.
|
|
bool | isConsistent (const ASpaceSharedPtr &space) const |
| Indicate if I am consistent with the provided space.
|
|
size_t | getNDim (Id ispace=-1) const |
| Shortcuts to ASpace methods.
|
|
const & | getOrigin (Id ispace=-1) const |
| Return the current space context origin coordinates.
|
|
double | getDistance (const SpacePoint &p1, const SpacePoint &p2, Id ispace=0) const |
| Return the distance between two space points for the current space context.
|
|
| getDistances (const SpacePoint &p1, const SpacePoint &p2) const |
| Return all the distances (space composits) between two space points for the current space context.
|
|
| getIncrement (const SpacePoint &p1, const SpacePoint &p2, Id ispace=0) const |
| Return the increment vector between two space points for the current space context.
|
|
void | getIncrementInPlace (const SpacePoint &p1, const SpacePoint &p2, 1 &ptemp, Id ispace=-1) const |
|
| AStringable () |
|
| AStringable (const AStringable &r) |
|
AStringable & | operator= (const AStringable &r) |
|
virtual | ~AStringable () |
|
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
|
virtual void | display (Id level) const final |
|
|
static DirParam * | create (Id nlag=10, double dlag=1., double toldis=0.5, double tolang=90., Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const 1 &codir=1(), double angle2D=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
static DirParam * | createOmniDirection (Id nlag=10, double dlag=1., double toldis=0.5, Id opt_code=0, Id idate=0, double bench=TEST, double cylrad=TEST, double tolcode=0., const 1 &breaks=1(), const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
static DirParam * | createFromGrid (const DbGrid *dbgrid, Id nlag=10, const 1 &grincr=1(), const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
static std::vector< DirParam > | createMultiple (Id ndir, Id nlag=10, double dlag=1., double toldis=0.5, double angref=0., const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
static std::vector< DirParam > | createSeveral2D (const 1 &angles, Id nlag=10, double dlag=1., double toldis=0.5, double tolang=TEST, const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|
static std::vector< DirParam > | createMultipleInSpace (Id nlag, double dlag=1., const ASpaceSharedPtr &space=ASpaceSharedPtr()) |
|