ROOT logo
Gled » GLEDCORE » HTransF

class HTransF: public HTrans<float>


 HTrans is a 4x4 transformation matrix for homogeneous coordinates
 stored internaly in a column-major order to allow direct usage by
 GL. The element type is Double32_t as statically the floats would
 be precise enough but continuous operations on the matrix must
 retain precision of column vectors.

 Direct  element access (first two should be used with care):
 operator[i]    direct access to elements,   i:0->15
 CM(i,j)        element 4*j + i;           i,j:0->3    { CM ~ c-matrix }
 operator(i,j)  element 4*(j-1) + i - 1    i,j:1->4

 Column-vector access:
 USet Get/SetBaseVec(), Get/SetPos() and Arr[XYZT]() methods.

 For all methods taking the matrix indices:
 1->X, 2->Y, 3->Z; 4->Position (if applicable). 0 reserved for time.

 Shorthands in method-names:
 LF ~ LocalFrame; PF ~ ParentFrame; IP ~ InPlace

Function Members (Methods)

public:
HTransF()
HTransF(const HTransF& z)
HTransF(const HTrans<Double_t>& z)
~HTransF()
float*HTrans<float>::Array()
const float*HTrans<float>::Array() const
float*HTrans<float>::ArrT()
const float*HTrans<float>::ArrT() const
float*HTrans<float>::ArrX()
const float*HTrans<float>::ArrX() const
float*HTrans<float>::ArrY()
const float*HTrans<float>::ArrY() const
float*HTrans<float>::ArrZ()
const float*HTrans<float>::ArrZ() const
static TClass*Class()
floatHTrans<float>::CM(Int_t i, Int_t j) const
float&HTrans<float>::CM(Int_t i, Int_t j)
HPoint<float>HTrans<float>::GetBaseVec(Int_t b) const
voidHTrans<float>::GetBaseVec(Int_t b, Float_t* x) const
voidHTrans<float>::GetBaseVec(Int_t b, Double_t* x) const
HPoint<float>HTrans<float>::GetPos() const
voidHTrans<float>::GetPos(Float_t* x) const
voidHTrans<float>::GetPos(Double_t* x) const
voidHTrans<float>::GetPos(float& x, float& y, float& z) const
voidHTrans<float>::GetRotAngles(Float_t* x) const
voidHTrans<float>::GetScale(float& sx, float& sy, float& sz) const
floatHTrans<float>::Invert()
floatHTrans<float>::InvertWithoutRow4()
TClass*IsA() const
voidHTrans<float>::Move(const HTrans<float>& a, Int_t ai, float amount)
voidHTrans<float>::Move3(const HTrans<float>& a, float x, float y, float z)
voidHTrans<float>::Move3LF(float x, float y, float z)
voidHTrans<float>::Move3PF(float x, float y, float z)
voidHTrans<float>::MoveLF(Int_t ai, float amount)
voidHTrans<float>::MovePF(Int_t ai, float amount)
HPoint<float>HTrans<float>::Multiply(const HPoint<float>& v, float w = 1) const
voidHTrans<float>::MultiplyIP(HPoint<float>& v, float w = 1) const
voidHTrans<float>::MultiplyVec3(const float* in, float w, float* out) const
voidHTrans<float>::MultiplyVec3IP(float* in, float w) const
voidHTrans<float>::MultLeft(const HTrans<float>& t)
voidHTrans<float>::MultLeft3x3(const float* m)
voidHTrans<float>::MultLeft3x3transposed(const float* m)
voidHTrans<float>::MultRight(const HTrans<float>& t)
voidHTrans<float>::MultRight3x3(const float* m)
voidHTrans<float>::MultRight3x3transposed(const float* m)
floatHTrans<float>::Norm3Column(Int_t col)
const float*HTrans<float>::operator const float*() const
float*HTrans<float>::operator float*()
floatHTrans<float>::operator()(Int_t i, Int_t j) const
float&HTrans<float>::operator()(Int_t i, Int_t j)
HTrans<float>HTrans<float>::operator*(const HTrans<float>& t)
voidHTrans<float>::operator*=(const HTrans<float>& t)
HTransF&operator=(const HTransF&)
floatHTrans<float>::operator[](Int_t i) const
float&HTrans<float>::operator[](Int_t i)
floatHTrans<float>::Orto3Column(Int_t col, Int_t ref)
voidHTrans<float>::OrtoNorm3()
floatHTrans<float>::OrtoNorm3Column(Int_t col, Int_t ref)
voidHTrans<float>::Print() const
float*HTrans<float>::PtrBaseVec(Int_t b)
const float*HTrans<float>::PtrBaseVec(Int_t b) const
float*HTrans<float>::PtrBaseVecX()
const float*HTrans<float>::PtrBaseVecX() const
float*HTrans<float>::PtrBaseVecY()
const float*HTrans<float>::PtrBaseVecY() const
float*HTrans<float>::PtrBaseVecZ()
const float*HTrans<float>::PtrBaseVecZ() const
float*HTrans<float>::PtrPos()
HPoint<float>HTrans<float>::Rotate(const HPoint<float>& v) const
voidHTrans<float>::Rotate(const HTrans<float>& a, Int_t i1, Int_t i2, float amount)
voidHTrans<float>::RotateBackVec3(const float* in, float* out) const
voidHTrans<float>::RotateIP(HPoint<float>& v) const
voidHTrans<float>::RotateLF(Int_t i1, Int_t i2, float amount)
voidHTrans<float>::RotatePF(Int_t i1, Int_t i2, float amount)
voidHTrans<float>::RotateVec3(const float* in, float* out) const
voidHTrans<float>::RotateVec3IP(float* in) const
voidHTrans<float>::Scale(float sx, float sy, float sz)
voidHTrans<float>::SetBaseVec(Int_t b, Float_t* x)
voidHTrans<float>::SetBaseVec(Int_t b, Double_t* x)
voidHTrans<float>::SetBaseVec(Int_t b, float x, float y, float z)
voidHTrans<float>::SetBaseVecViaCross(Int_t i)
voidHTrans<float>::SetFromArray(const Float_t* arr)
voidHTrans<float>::SetFromArray(const Double_t* arr)
voidHTrans<float>::SetPos(const Float_t* x)
voidHTrans<float>::SetPos(const Double_t* x)
voidHTrans<float>::SetPos(const HTrans<float>& t)
voidHTrans<float>::SetPos(float x, float y, float z)
voidHTrans<float>::SetRotByAngles(Float_t a1, Float_t a2, Float_t a3)
voidHTrans<float>::SetRotByAnyAngles(Float_t a1, Float_t a2, Float_t a3, const Text_t* pat)
voidHTrans<float>::SetTrans(const HTrans<float>& t)
voidHTrans<float>::SetupRotation(Int_t i, Int_t j, float f)
voidShowMembers(TMemberInspector& insp)
voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidHTrans<float>::Transpose()
voidHTrans<float>::TransposeRotationPart()
voidHTrans<float>::UnitRot()
voidHTrans<float>::UnitTrans()
floatHTrans<float>::Unscale()
voidHTrans<float>::Unscale(float& sx, float& sy, float& sz)

Data Members

protected:
floatHTrans<float>::M[16]

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

HTransF()
{}
HTransF(const HTransF& z)
{}
HTransF(const HTrans<Double_t>& z)
{}
~HTransF()
{}