58 buf <<
'(' <<
s.t() <<
',' <<
s.r() <<
')';
76 const UList<septernion>& ss,
80 septernion sa(w[0]*ss[0]);
82 for (label i=1; i<ss.size(); i++)
84 sa.
t() += w[i]*ss[i].t();
87 if ((sa.
r() & ss[i].r()) > 0)
89 sa.
r() += w[i]*ss[i].r();
93 sa.
r() -= w[i]*ss[i].r();
109 is >>
s.t() >>
s.r();
111 is.readEnd(
"septernion");
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &f1)
Foam::string str() const
Get the string - as Foam::string rather than std::string.
bool readBegin(const char *funcName)
Begin read of data chunk, starts with '('.
Input/output from string buffers.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Begin list [isseparator].
Septernion class used to perform translations and rotations in 3D space.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
A class for handling words, derived from Foam::string.
Istream & operator>>(Istream &, directionInfo &)
Quaternion class used to perform rotations in 3D space.
static const septernion I
An Ostream is an abstract base class for all output systems (streams, files, token lists...
septernion()=default
Default construct.
quaternion & normalise(const scalar tol=ROOTVSMALL)
Inplace normalise the quaternion by its magnitude.
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
quaternion slerp(const quaternion &qa, const quaternion &qb, const scalar t)
Spherical linear interpolation of quaternions.
const quaternion & r() const
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Output to string buffer, using a OSstream. Always UNCOMPRESSED.
static const char *const typeName
static const septernion zero
static constexpr const zero Zero
Global zero (0)