1.4.0
CCC
 
Tensor Class Reference

TODO : public ASpaceObject. More...

#include <Tensor.hpp>

Inheritance diagram for Tensor:
AStringable

Detailed Description

TODO : public ASpaceObject.

Public Member Functions

 Tensor (unsigned int ndim=2)
 
 Tensor (const Tensor &r)
 
Tensoroperator= (const Tensor &r)
 
virtual ~Tensor ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable. More...
 
void init (int ndim)
 
void setTensorDirect2 (const MatrixSquareSymmetric &tensor)
 
void setRadiusIsotropic (double radius)
 
void setRadiusVec (const VectorDouble &radius)
 
void setRadiusDir (unsigned int idim, double radius)
 
void setRotation (const Rotation &rot)
 
void setRotationAngles (const VectorDouble &angles)
 
void setRotationAngle (unsigned int idim, double angle)
 
void setRotationAnglesAndRadius (const VectorDouble &angles=VectorDouble(), const VectorDouble &radius=VectorDouble())
 
const VectorDoublegetAngles () const
 
const MatrixSquareGeneralgetTensorDirect () const
 
const MatrixSquareGeneralgetTensorInverse () const
 
const MatrixSquareSymmetricgetTensorDirect2 () const
 
const VectorDoublegetRadius () const
 
const RotationgetRotation () const
 
const MatrixSquareGeneralgetMatrixDirect () const
 
const MatrixSquareGeneralgetMatrixInverse () const
 
bool isIsotropic () const
 
bool hasRotation () const
 
double getValue (int idim, int jdim) const
 
VectorDouble applyDirect (const VectorDouble &vec) const
 
VectorDouble applyInverse (const VectorDouble &vec) const
 
void applyInverseInPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyInverse2InPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyDirectInPlace (const VectorDouble &vec, VectorDouble &out) const
 
void applyDirectSwapInPlace (const VectorDouble &vec, VectorDouble &out) const
 
bool isFlagDefinedByInverse2 () 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
 

Constructor & Destructor Documentation

◆ Tensor() [1/2]

Tensor::Tensor ( unsigned int  ndim = 2)

◆ Tensor() [2/2]

Tensor::Tensor ( const Tensor r)

◆ ~Tensor()

Tensor::~Tensor ( )
virtual

Member Function Documentation

◆ applyDirect()

VectorDouble Tensor::applyDirect ( const VectorDouble vec) const

◆ applyDirectInPlace()

void Tensor::applyDirectInPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ applyDirectSwapInPlace()

void Tensor::applyDirectSwapInPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ applyInverse()

VectorDouble Tensor::applyInverse ( const VectorDouble vec) const

◆ applyInverse2InPlace()

void Tensor::applyInverse2InPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ applyInverseInPlace()

void Tensor::applyInverseInPlace ( const VectorDouble vec,
VectorDouble out 
) const

◆ getAngles()

const VectorDouble& Tensor::getAngles ( ) const
inline

◆ getMatrixDirect()

const MatrixSquareGeneral& Tensor::getMatrixDirect ( ) const
inline

◆ getMatrixInverse()

const MatrixSquareGeneral& Tensor::getMatrixInverse ( ) const
inline

◆ getRadius()

const VectorDouble& Tensor::getRadius ( ) const
inline

◆ getRotation()

const Rotation& Tensor::getRotation ( ) const
inline

◆ getTensorDirect()

const MatrixSquareGeneral& Tensor::getTensorDirect ( ) const
inline

◆ getTensorDirect2()

const MatrixSquareSymmetric& Tensor::getTensorDirect2 ( ) const
inline

◆ getTensorInverse()

const MatrixSquareGeneral& Tensor::getTensorInverse ( ) const
inline

◆ getValue()

double Tensor::getValue ( int  idim,
int  jdim 
) const
inline

◆ hasRotation()

bool Tensor::hasRotation ( ) const
inline

◆ init()

void Tensor::init ( int  ndim)

◆ isFlagDefinedByInverse2()

bool Tensor::isFlagDefinedByInverse2 ( ) const
inline

◆ isIsotropic()

bool Tensor::isIsotropic ( ) const
inline

◆ operator=()

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

◆ setRadiusDir()

void Tensor::setRadiusDir ( unsigned int  idim,
double  radius 
)

◆ setRadiusIsotropic()

void Tensor::setRadiusIsotropic ( double  radius)

◆ setRadiusVec()

void Tensor::setRadiusVec ( const VectorDouble radius)

◆ setRotation()

void Tensor::setRotation ( const Rotation rot)

◆ setRotationAngle()

void Tensor::setRotationAngle ( unsigned int  idim,
double  angle 
)

◆ setRotationAngles()

void Tensor::setRotationAngles ( const VectorDouble angles)

TODO : Rotation angles in 2D

◆ setRotationAnglesAndRadius()

void Tensor::setRotationAnglesAndRadius ( const VectorDouble angles = VectorDouble(),
const VectorDouble radius = VectorDouble() 
)

This functions defines jointly the rotation anisotropy and ranges. It allows initiating the tensor only once (saves time)

Parameters
anglesVector of rotation angles (optional)
radiusVector of ranges (optional)

◆ setTensorDirect2()

void Tensor::setTensorDirect2 ( const MatrixSquareSymmetric tensor)

◆ toString()

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

Interface for AStringable.

Reimplemented from AStringable.


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