1.1.0
CCC
 
Tensor Class Reference

TODO : public ASpaceObject. More...

#include <Tensor.hpp>

Inheritance diagram for Tensor:
AStringable

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
 

Detailed Description

TODO : public ASpaceObject.

Constructor & Destructor Documentation

Tensor::Tensor ( unsigned int  ndim = 2)
Tensor::Tensor ( const Tensor r)
Tensor::~Tensor ( )
virtual

Member Function Documentation

VectorDouble Tensor::applyDirect ( const VectorDouble vec) const
void Tensor::applyDirectInPlace ( const VectorDouble vec,
VectorDouble out 
) const
void Tensor::applyDirectSwapInPlace ( const VectorDouble vec,
VectorDouble out 
) const
VectorDouble Tensor::applyInverse ( const VectorDouble vec) const
void Tensor::applyInverse2InPlace ( const VectorDouble vec,
VectorDouble out 
) const
void Tensor::applyInverseInPlace ( const VectorDouble vec,
VectorDouble out 
) const
const VectorDouble& Tensor::getAngles ( ) const
inline
const MatrixSquareGeneral& Tensor::getMatrixDirect ( ) const
inline
const MatrixSquareGeneral& Tensor::getMatrixInverse ( ) const
inline
const VectorDouble& Tensor::getRadius ( ) const
inline
const Rotation& Tensor::getRotation ( ) const
inline
const MatrixSquareGeneral& Tensor::getTensorDirect ( ) const
inline
const MatrixSquareSymmetric& Tensor::getTensorDirect2 ( ) const
inline
const MatrixSquareGeneral& Tensor::getTensorInverse ( ) const
inline
double Tensor::getValue ( int  idim,
int  jdim 
) const
inline
bool Tensor::hasRotation ( ) const
inline
void Tensor::init ( int  ndim)
bool Tensor::isFlagDefinedByInverse2 ( ) const
inline
bool Tensor::isIsotropic ( ) const
inline
Tensor & Tensor::operator= ( const Tensor r)
void Tensor::setRadiusDir ( unsigned int  idim,
double  radius 
)
void Tensor::setRadiusIsotropic ( double  radius)
void Tensor::setRadiusVec ( const VectorDouble radius)
void Tensor::setRotation ( const Rotation rot)
void Tensor::setRotationAngle ( unsigned int  idim,
double  angle 
)
void Tensor::setRotationAngles ( const VectorDouble angles)

TODO : Rotation angles in 2D

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)
void Tensor::setTensorDirect2 ( const MatrixSquareSymmetric tensor)
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: