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");
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
Input/output from string buffers.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
bool readEnd(const char *funcName)
End read of data chunk, ends with ')'.
bool readBegin(const char *funcName)
Begin read of data chunk, starts with '('.
Output to string buffer, using a OSstream. Always UNCOMPRESSED.
Foam::string str() const
Get the string. As Foam::string instead of std::string (may change in future).
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void size(const label n)
Older name for setAddressableSize.
Quaternion class used to perform rotations in 3D space.
quaternion & normalise(const scalar tol=ROOTVSMALL)
Inplace normalise the quaternion by its magnitude.
Septernion class used to perform translations and rotations in 3D space.
septernion()=default
Default construct.
const quaternion & r() const
static const septernion zero
static const septernion I
static const char *const typeName
@ BEGIN_LIST
Begin list [isseparator].
@ END_LIST
End list [isseparator].
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
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))
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
Istream & operator>>(Istream &, directionInfo &)
static constexpr const zero Zero
Global zero (0).
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
quaternion slerp(const quaternion &qa, const quaternion &qb, const scalar t)
Spherical linear interpolation of quaternions.
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &f1, const label comm)