void Foam::transform ( vectorField& rtf, const septernion& tr, const vectorField& tf ) { vector T = tr.t(); // Check if any rotation if (mag(tr.r().R() - I) > SMALL) { transform(rtf, tr.r(), tf); if (mag(T) > VSMALL) { rtf += T; } } else { if (mag(T) > VSMALL) { TFOR_ALL_F_OP_S_OP_F(vector, rtf, =, vector, T, +, vector, tf); } else {
void Foam::transformPoints ( vectorField& rtf, const septernion& tr, const vectorField& tf ) { vector T = tr.t(); // Check if any translation if (mag(T) > vSmall) { TFOR_ALL_F_OP_F_OP_S(vector, rtf, =, vector, tf, -, vector, T); }
Foam::word Foam::name(const septernion& s) { OStringStream buf; buf << '(' << s.t() << ',' << s.r() << ')'; return buf.str(); }