60 modelType == coordinateSystem::typeName_()
61 || modelType == coordSystem::cartesian::typeName_()
79 "rotation", {{
"coordinateRotation", 1806}},
93 const word rotationType(finder->get<
word>());
121 spec_(new coordinateRotations::
identity()),
143 spec_(csys.spec_.clone()),
144 origin_(csys.origin_),
153 spec_(std::move(csys.spec_)),
154 origin_(std::move(csys.origin_)),
155 rot_(std::move(csys.rot_)),
156 name_(std::move(csys.name_)),
157 note_(std::move(csys.note_))
185 spec_(csys.spec_.clone()),
186 origin_(csys.origin_),
237 spec_(new coordinateRotations::axes(axis, dirn)),
310 return rotationsImpl(global);
319 return rotationsImpl(global);
325 const point& localCart
403 spec_.reset(std::move(crot));
428 os <<
"origin: " << origin_ <<
' ';
435 writeEntry(coordinateSystem::typeName_(),
os);
446 const bool subDict = !keyword.empty();
487 rotation(csys.
spec_.clone());
499 name_ = std::move(csys.name_);
500 note_ = std::move(csys.note_);
501 spec_ = std::move(csys.spec_);
502 origin_ = csys.origin_;
#define R(A, B, C, D, E, F, K, M)
Macros for easy insertion into run-time selection tables.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
virtual Ostream & write(const char c)
Write character.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual Ostream & endBlock()
Write end block group.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
virtual Ostream & beginBlock(const keyType &kw)
Write begin block group with the given name.
static const SphericalTensor I
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A List with indirect addressing. Like IndirectList but does not store addressing.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
User specification of a coordinate rotation.
virtual tensor R() const =0
Calculate and return the rotation tensor.
A coordinateRotation specified using global axes.
An identity coordinateRotation.
Base class for coordinate system specification, the default coordinate system type is cartesian .
virtual const coordinateRotation & rotation() const
The rotation specification.
string note_
An optional note describing the coordinate system.
void operator=(const coordinateSystem &csys)
Copy assignment.
virtual vector globalToLocal(const vector &global, bool translate) const
point invTransformPoint(const point &global) const
Remove origin offset and inverse transform point.
virtual vector localToGlobal(const vector &local, bool translate) const
word name_
The name of the coordinate system (optional)
static coordinateSystem dummy_
Dummy coordinate system for suppressed manipulation.
tensor rot_
The rotation tensor.
virtual const point & origin() const
Return origin.
void assign(const dictionary &dict)
Assign from dictionary content.
virtual void write(Ostream &os) const
Write.
autoPtr< coordinateRotation > spec_
User specification of the coordinate rotation.
virtual const tensor & R() const
Return const reference to the rotation tensor.
coordinateSystem()
Default construct. This is an identity coordinate system.
virtual void writeEntry(Ostream &os) const
Write 'coordinateSystem' dictionary entry.
virtual void clear()
Reset origin and rotation to an identity coordinateSystem.
point transformPoint(const point &localCart) const
Transform point and add origin offset.
point origin_
The coordinate system origin.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
const_searcher csearchCompat(const word &keyword, std::initializer_list< std::pair< const char *, int > > compat, enum keyType::option matchOpt=keyType::REGEX) const
Search dictionary for given keyword and any compatibility names.
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, bool mandatory=true) const
virtual bool write()
Write the output fields.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
OBJstream os(runTime.globalPath()/outputName)
const word dictName("faMeshDefinition")
dimensionSet invTransform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
bool operator!=(const eddy &a, const eddy &b)
labelList identity(const label len, label start=0)
Return an identity map of the given length with (map[i] == i)
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
static const Identity< scalar > I
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
static bool isCartesian(const word &modelType)
Is it cartesian?
static constexpr const zero Zero
Global zero (0)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.