41 { orientedOption::UNKNOWN,
"unknown" },
43 { orientedOption::UNORIENTED,
"unoriented" },
51 const orientedType& a,
57 (a.oriented() ==
b.oriented())
58 || (a.oriented() == orientedOption::UNKNOWN)
59 || (
b.oriented() == orientedOption::UNKNOWN)
87 << what <<
" : undefined for "
103 oriented_(orientedOptionNames.read(is))
125 const bool output = (oriented_ == ORIENTED);
129 os.writeEntry(
"oriented", orientedOptionNames[oriented_]);
141 if (oriented_ == UNKNOWN)
153 if (oriented_ == orientedOption::UNKNOWN)
155 oriented_ = ot.oriented();
213 const orientedType& ot1,
223 const orientedType& ot1,
369 const orientedType& ot1,
370 const orientedType& ot2
373 (void)
checkTypes(
"Function atan2", ot1, ot2);
381 const orientedType& ot1,
382 const orientedType& ot2
385 (void)
checkTypes(
"Function hypot", ot1, ot2);
423 const orientedType& ot1,
424 const orientedType& ot2
429 return orientedType(ot1.is_oriented() || ot2.is_oriented());
441 const orientedType& ot1,
442 const orientedType& ot2
447 return orientedType(ot1.is_oriented() || ot2.is_oriented());
465 const orientedType& ot1,
475 const orientedType& ot1,
485 const orientedType& ot1,
489 return orientedType(ot1.is_oriented() != ot2.is_oriented());
495 const orientedType& ot1,
505 const orientedType& ot1,
506 const orientedType& ot2
509 return orientedType(
false);
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
EnumType read(Istream &is) const
Read a word from Istream and return the corresponding enumeration.
EnumType getOrDefault(const word &key, const dictionary &dict, const EnumType deflt, const bool warnOnly=false) const
Find the key in the dictionary and return the corresponding enumeration element based on its name.
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)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Class to determine the 'oriented' status of surface fields.
void operator/=(const orientedType &ot)
bool is_oriented() const noexcept
True if ORIENTED.
void operator*=(const orientedType &ot)
void read(const dictionary &dict)
Read the "oriented" state from dictionary.
orientedOption
Enumeration defining oriented flags.
@ UNKNOWN
Unknown/undefined orientation.
static bool checkType(const orientedType &a, const orientedType &b) noexcept
True if can operate on this combination of oriented types.
void operator-=(const orientedType &ot)
bool writeEntry(Ostream &os) const
Write the "oriented" flag entry (if ORIENTED).
static const Enum< orientedOption > orientedOptionNames
Named enumerations for oriented flags.
orientedOption oriented() const noexcept
Return the oriented flag.
void operator+=(const orientedType &ot)
constexpr orientedType() noexcept
Default construct as UNKNOWN.
orientedType(const orientedType &) noexcept=default
Copy construct.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
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))
tmp< faMatrix< Type > > operator-(const faMatrix< Type > &)
Unary negation.
dimensionedScalar pow6(const dimensionedScalar &ds)
dimensionedScalar pos(const dimensionedScalar &ds)
dimensionedScalar pow5(const dimensionedScalar &ds)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedScalar pos0(const dimensionedScalar &ds)
dimensionedScalar sign(const dimensionedScalar &ds)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
dimensioned< Type > cmptDivide(const dimensioned< Type > &, const dimensioned< Type > &)
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
tmp< faMatrix< Type > > operator*(const areaScalarField::Internal &, const faMatrix< Type > &)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
dimensionedScalar operator/(const scalar s1, const dimensionedScalar &ds2)
dimensionedScalar atan2(const dimensionedScalar &x, const dimensionedScalar &y)
static bool checkTypes(const char *what, const orientedType &a, const orientedType &b)
dimensionedScalar negPart(const dimensionedScalar &ds)
dimensionedScalar sqrt(const dimensionedScalar &ds)
tmp< DimensionedField< typename DimensionedField< Type, GeoMesh >::cmptType, GeoMesh > > cmptAv(const DimensionedField< Type, GeoMesh > &f1)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Istream & operator>>(Istream &, directionInfo &)
dimensionedScalar hypot(const dimensionedScalar &x, const dimensionedScalar &y)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
dimensionedScalar pow4(const dimensionedScalar &ds)
errorManip< error > abort(error &err)
dimensionSet trans(const dimensionSet &ds)
Check the argument is dimensionless (for transcendental functions).
dimensionedScalar neg(const dimensionedScalar &ds)
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
dimensionedScalar neg0(const dimensionedScalar &ds)
dimensionedScalar cbrt(const dimensionedScalar &ds)
dimensionSet pow2(const dimensionSet &ds)
dimensioned< typename typeOfMag< Type >::type > magSqr(const dimensioned< Type > &dt)
dimensionedScalar posPart(const dimensionedScalar &ds)
dimensioned< Type > lerp(const dimensioned< Type > &a, const dimensioned< Type > &b, const scalar t)
dimensionedScalar pow025(const dimensionedScalar &ds)