gstlearn  1.0.0
CCC
ASpace Class Referenceabstract

#include <ASpace.hpp>

Inheritance diagram for ASpace:
AStringable ICloneable SpaceRN SpaceSN

Public Member Functions

 ASpace (unsigned int ndim)
 
 ASpace (const ASpace &r)
 
ASpaceoperator= (const ASpace &r)
 
virtual ~ASpace ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 
void setOrigin (const VectorDouble &origin)
 Update the origin coordinates. More...
 
unsigned int getNDim () const
 Get the number of dimensions. More...
 
const VectorDoublegetOrigin () const
 Return the space origin coordinates. More...
 
virtual bool isEqual (const ASpace *space) const
 Return true if the given space is equal to me. More...
 
virtual ESpaceType getType () const =0
 Return the concrete space type. More...
 
virtual void move (SpacePoint &p1, const VectorDouble &vec) const =0
 Move the given space point by the given vector. More...
 
virtual double getDistance (const SpacePoint &p1, const SpacePoint &p2) const =0
 Return the distance between two space points. More...
 
virtual double getDistance (const SpacePoint &p1, const SpacePoint &p2, const Tensor &tensor) const =0
 Return the distance between two space points with the given tensor. More...
 
virtual double getDistance1D (const SpacePoint &p1, const SpacePoint &p2, int idim=0) const =0
 Return the distance along one direction between two space points. More...
 
virtual double getFrequentialDistance (const SpacePoint &p1, const SpacePoint &p2, const Tensor &tensor) const =0
 Return the distance in frequential domain between two space points with the given tensor. More...
 
virtual VectorDouble getIncrement (const SpacePoint &p1, const SpacePoint &p2) const =0
 Return the increment vector between two space points. More...
 
virtual void _getIncrementInPlace (const SpacePoint &p1, const SpacePoint &p2, VectorDouble &ptemp) const
 
void _getIncrementInPlaceVect (const SpacePoint &p1, const std::vector< SpacePoint > &pv, VectorVectorDouble &res) const
 
- 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
 
- Public Member Functions inherited from ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 

Protected Attributes

unsigned int _nDim
 Number of space dimensions. More...
 
VectorDouble _origin
 Coordinates of the origin (not a space point... ex: sphere center in a long/lat space) More...
 
VectorDouble _work1
 
VectorDouble _work2
 

Constructor & Destructor Documentation

◆ ASpace() [1/2]

ASpace::ASpace ( unsigned int  ndim)

◆ ASpace() [2/2]

ASpace::ASpace ( const ASpace r)

◆ ~ASpace()

ASpace::~ASpace ( )
virtual

Member Function Documentation

◆ _getIncrementInPlace()

virtual void ASpace::_getIncrementInPlace ( const SpacePoint p1,
const SpacePoint p2,
VectorDouble ptemp 
) const
inlinevirtual

Reimplemented in SpaceRN.

◆ _getIncrementInPlaceVect()

void ASpace::_getIncrementInPlaceVect ( const SpacePoint p1,
const std::vector< SpacePoint > &  pv,
VectorVectorDouble res 
) const

◆ getDistance() [1/2]

virtual double ASpace::getDistance ( const SpacePoint p1,
const SpacePoint p2 
) const
pure virtual

Return the distance between two space points.

Implemented in SpaceSN, and SpaceRN.

◆ getDistance() [2/2]

virtual double ASpace::getDistance ( const SpacePoint p1,
const SpacePoint p2,
const Tensor tensor 
) const
pure virtual

Return the distance between two space points with the given tensor.

Implemented in SpaceSN, and SpaceRN.

◆ getDistance1D()

virtual double ASpace::getDistance1D ( const SpacePoint p1,
const SpacePoint p2,
int  idim = 0 
) const
pure virtual

Return the distance along one direction between two space points.

Implemented in SpaceSN, and SpaceRN.

◆ getFrequentialDistance()

virtual double ASpace::getFrequentialDistance ( const SpacePoint p1,
const SpacePoint p2,
const Tensor tensor 
) const
pure virtual

Return the distance in frequential domain between two space points with the given tensor.

Implemented in SpaceSN, and SpaceRN.

◆ getIncrement()

virtual VectorDouble ASpace::getIncrement ( const SpacePoint p1,
const SpacePoint p2 
) const
pure virtual

Return the increment vector between two space points.

Implemented in SpaceSN, and SpaceRN.

◆ getNDim()

unsigned int ASpace::getNDim ( ) const
inline

Get the number of dimensions.

◆ getOrigin()

const VectorDouble& ASpace::getOrigin ( ) const
inline

Return the space origin coordinates.

◆ getType()

virtual ESpaceType ASpace::getType ( ) const
pure virtual

Return the concrete space type.

Implemented in SpaceSN, and SpaceRN.

◆ isEqual()

bool ASpace::isEqual ( const ASpace space) const
virtual

Return true if the given space is equal to me.

Reimplemented in SpaceSN.

◆ move()

virtual void ASpace::move ( SpacePoint p1,
const VectorDouble vec 
) const
pure virtual

Move the given space point by the given vector.

Implemented in SpaceSN, and SpaceRN.

◆ operator=()

ASpace & ASpace::operator= ( const ASpace r)

◆ setOrigin()

void ASpace::setOrigin ( const VectorDouble origin)

Update the origin coordinates.

TODO : not true whatever the space

◆ toString()

String ASpace::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

Reimplemented from AStringable.

Reimplemented in SpaceSN.

Member Data Documentation

◆ _nDim

unsigned int ASpace::_nDim
protected

Number of space dimensions.

◆ _origin

VectorDouble ASpace::_origin
protected

Coordinates of the origin (not a space point... ex: sphere center in a long/lat space)

◆ _work1

VectorDouble ASpace::_work1
mutableprotected

◆ _work2

VectorDouble ASpace::_work2
mutableprotected

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