#include <ASpaceObject.hpp>
This class is the base class for all objects that need to know what is its space definition. All ASpaceObject can access to the number of space dimensions and can ask to calculate a distance between two ASpaceObjects.
This class also stores a unique (static) default global space that will be used as default space when creating a ASpaceObject (without a predefined space). It is possible to modify the default space definition at any time. Space definition of pre-existing ASpaceObjects remains the same. (no more shared pointer)
Public Member Functions | |
ASpaceObject (const ASpace *space=nullptr) | |
ASpaceObject (const ASpace &space) | |
ASpaceObject (const ASpaceObject &r) | |
ASpaceObject & | operator= (const ASpaceObject &r) |
virtual | ~ASpaceObject () |
virtual String | toString (const AStringFormat *strfmt=nullptr) const override |
AStringable interface. More... | |
const ASpace * | getSpace () 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... | |
virtual bool | isConsistent (const ASpace *space) const =0 |
Indicate if I am consistent with the provided space. More... | |
unsigned int | getNDim (int ispace=-1) const |
Shortcuts to ASpace methods. More... | |
const VectorDouble & | getOrigin (int ispace=-1) const |
Return the current space context origin coordinates. More... | |
double | getDistance (const SpacePoint &p1, const SpacePoint &p2, int ispace=0) const |
Return the distance between two space points for the current space context. More... | |
VectorDouble | getDistances (const SpacePoint &p1, const SpacePoint &p2) const |
Return all the distances (space composits) 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, int ispace=0) 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) | |
AStringable & | operator= (const AStringable &r) |
virtual | ~AStringable () |
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
virtual void | display (int level) const final |
ASpaceObject::ASpaceObject | ( | const ASpace * | space = nullptr | ) |
ASpaceObject::ASpaceObject | ( | const ASpace & | space | ) |
ASpaceObject::ASpaceObject | ( | const ASpaceObject & | r | ) |
|
virtual |
double ASpaceObject::getDistance | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
int | ispace = 0 |
||
) | const |
Return the distance between two space points for the current space context.
double ASpaceObject::getDistance1D | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
int | idim | ||
) | const |
Return the distance along one direction between two space points.
VectorDouble ASpaceObject::getDistances | ( | const SpacePoint & | p1, |
const SpacePoint & | p2 | ||
) | const |
Return all the distances (space composits) between two space points for the current space context.
VectorDouble ASpaceObject::getIncrement | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
int | ispace = 0 |
||
) | const |
Return the increment vector between two space points for the current space context.
unsigned int ASpaceObject::getNDim | ( | int | ispace = -1 | ) | const |
Shortcuts to ASpace methods.
Return the number of dimension of the current space context
const VectorDouble & ASpaceObject::getOrigin | ( | int | ispace = -1 | ) | const |
Return the current space context origin coordinates.
|
inline |
Accessor to the current object space context.
VectorDouble ASpaceObject::getUnitaryVector | ( | ) | const |
Return unitary vector for the current space context.
|
inline |
Indicate if I am consistent with my current space context.
|
pure virtual |
Indicate if I am consistent with the provided space.
Implemented in DirParam, SpacePoint, ANeigh, CovContext, CovAniso, and ACovAnisoList.
ASpaceObject & ASpaceObject::operator= | ( | const ASpaceObject & | r | ) |
|
overridevirtual |
AStringable interface.
Reimplemented from AStringable.
Reimplemented in DirParam, SpaceTarget, SpacePoint, NeighUnique, NeighMoving, NeighImage, NeighCell, NeighBench, CovLMCTapering, CovLMCConvolution, CovLMCAnamorphosis, CovContext, CovAniso, and ACovAnisoList.