Base class for coordinate system specification, the default coordinate system type is cartesian . More...
Classes | |
struct | iNew |
Helper for construction of coordinateSystem PtrList. More... | |
Public Member Functions | |
TypeName ("coordinateSystem") | |
Runtime type information. More... | |
coordinateSystem () | |
Default construct. This is an identity coordinate system. More... | |
coordinateSystem (const coordinateRotation &crot) | |
Copy construct from rotation with origin=0. More... | |
coordinateSystem (coordinateRotation &&crot) | |
Move construct from rotation with origin=0. More... | |
coordinateSystem (const coordinateSystem &csys) | |
Copy construct. More... | |
coordinateSystem (coordinateSystem &&csys) | |
Move construct. More... | |
coordinateSystem (autoPtr< coordinateSystem > &&csys) | |
Move construct from autoPtr. More... | |
coordinateSystem (const word &name, const coordinateSystem &csys) | |
Copy construct with a different name. More... | |
coordinateSystem (const point &origin, const coordinateRotation &crot) | |
Construct from origin and rotation. More... | |
coordinateSystem (const point &origin, const vector &axis, const vector &dirn) | |
Construct from origin and 2 axes. More... | |
coordinateSystem (const word &name, const point &origin, const coordinateRotation &crot) | |
Construct from origin and rotation. More... | |
coordinateSystem (const word &name, const point &origin, const vector &axis, const vector &dirn) | |
Construct named from origin and 2 axes. More... | |
coordinateSystem (const dictionary &dict, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) | |
Construct from dictionary with optional read handling for the 'origin' entry (default: MUST_READ). More... | |
coordinateSystem (const dictionary &dict, const word &dictName, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) | |
Construct from dictionary with optional subDict lookup and optional read handling for the 'origin' entry (default: MUST_READ). More... | |
virtual autoPtr< coordinateSystem > | clone () const |
Return clone. More... | |
declareRunTimeSelectionTable (autoPtr, coordinateSystem, dictionary,(const dictionary &dict, IOobjectOption::readOption readOrigin),(dict, readOrigin)) | |
declareRunTimeSelectionTable (autoPtr, coordinateSystem, registry,(const objectRegistry &obr, const dictionary &dict, IOobjectOption::readOption readOrigin),(obr, dict, readOrigin)) | |
virtual | ~coordinateSystem ()=default |
Destructor. More... | |
virtual bool | good () const |
Consider good if it has a specification. More... | |
virtual bool | uniform () const |
True if the rotation tensor is uniform for all locations. More... | |
virtual bool | valid () const |
Same as good() - 2023-07. More... | |
virtual const point & | origin () const |
Return origin. More... | |
virtual const coordinateRotation & | rotation () const |
The rotation specification. More... | |
virtual const word & | name () const |
Return the name. More... | |
virtual const string & | note () const |
Return the optional note. More... | |
virtual const tensor & | R () const |
Return const reference to the rotation tensor. More... | |
virtual const vector | e1 () const |
The local Cartesian x-axis in global coordinates. More... | |
virtual const vector | e2 () const |
The local Cartesian y-axis in global coordinates. More... | |
virtual const vector | e3 () const |
The local Cartesian z-axis in global coordinates. More... | |
virtual void | rename (const word &newName) |
Rename. More... | |
virtual string & | note () |
Edit access to optional note. More... | |
virtual point & | origin () |
Edit access to origin. More... | |
virtual void | clear () |
Reset origin and rotation to an identity coordinateSystem. More... | |
virtual void | rotation (autoPtr< coordinateRotation > &&crot) |
Change the rotation. More... | |
virtual void | write (Ostream &os) const |
Write. More... | |
virtual void | writeEntry (Ostream &os) const |
Write 'coordinateSystem' dictionary entry. More... | |
virtual void | writeEntry (const word &keyword, Ostream &os) const |
Write dictionary entry. More... | |
void | operator= (const coordinateSystem &csys) |
Copy assignment. More... | |
void | operator= (coordinateSystem &&csys) |
Move assignment. More... | |
void | operator= (const autoPtr< coordinateSystem > &csys) |
Copy assignment from autoPtr. More... | |
void | operator= (autoPtr< coordinateSystem > &&csys) |
Move assignment from autoPtr. More... | |
virtual tensor | R (const point &global) const |
Position-dependent rotation tensor (when uniform = false) More... | |
virtual tmp< tensorField > | R (const UList< point > &global) const |
Position-dependent rotation tensors (when uniform = false) More... | |
virtual tmp< tensorField > | R (const pointUIndList &global) const |
Position-dependent rotation tensors (when uniform = false) More... | |
point | transformPoint (const point &localCart) const |
Transform point and add origin offset. More... | |
tmp< pointField > | transformPoint (const UList< point > &localCart) const |
Transform points and add origin offset. More... | |
tmp< pointField > | transformPoint (const pointUIndList &localCart) const |
Transform points and add origin offset. More... | |
point | invTransformPoint (const point &global) const |
Remove origin offset and inverse transform point. More... | |
tmp< pointField > | invTransformPoint (const UList< point > &global) const |
Remove origin offset and inverse transform points. More... | |
tmp< pointField > | invTransformPoint (const pointUIndList &global) const |
Remove origin offset and inverse transform points. More... | |
point | globalPosition (const point &local) const |
From local coordinate position to global (cartesian) position. More... | |
tmp< pointField > | globalPosition (const pointField &local) const |
From local coordinate position to global (cartesian) position. More... | |
point | localPosition (const point &global) const |
From global (cartesian) position to local coordinate position. More... | |
tmp< pointField > | localPosition (const pointField &global) const |
From global (cartesian) position to local coordinate position. More... | |
vector | globalVector (const vector &local) const |
From local to global (cartesian) vector components. More... | |
tmp< vectorField > | globalVector (const vectorField &local) const |
From local to global (cartesian) vector components. More... | |
vector | localVector (const vector &global) const |
From global (cartesian) to local vector components. More... | |
tmp< vectorField > | localVector (const vectorField &global) const |
From global (cartesian) to local vector components. More... | |
virtual symmTensor | transformPrincipal (const vector &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< symmTensor > > | transformPrincipal (const UList< vector > &input) const |
With constant rotation tensor. More... | |
virtual symmTensor | transformPrincipal (const point &global, const vector &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< symmTensor > > | transformPrincipal (const UList< point > &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transformPrincipal (const pointUIndList &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transformPrincipal (const UList< point > &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transformPrincipal (const pointUIndList &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual scalar | transform (const scalar &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< scalar > > | transform (const UList< scalar > &input) const |
With constant rotation tensor. More... | |
virtual scalar | transform (const point &global, const scalar &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< scalar > > | transform (const UList< point > &global, const scalar &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | transform (const pointUIndList &global, const scalar &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | transform (const UList< point > &global, const UList< scalar > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | transform (const pointUIndList &global, const UList< scalar > &input) const |
With rotation tensors at given global positions. More... | |
virtual vector | transform (const vector &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< vector > > | transform (const UList< vector > &input) const |
With constant rotation tensor. More... | |
virtual vector | transform (const point &global, const vector &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< vector > > | transform (const UList< point > &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | transform (const pointUIndList &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | transform (const UList< point > &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | transform (const pointUIndList &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual sphericalTensor | transform (const sphericalTensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< sphericalTensor > > | transform (const UList< sphericalTensor > &input) const |
With constant rotation tensor. More... | |
virtual sphericalTensor | transform (const point &global, const sphericalTensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< sphericalTensor > > | transform (const UList< point > &global, const sphericalTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | transform (const pointUIndList &global, const sphericalTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | transform (const UList< point > &global, const UList< sphericalTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | transform (const pointUIndList &global, const UList< sphericalTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual symmTensor | transform (const symmTensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< symmTensor > > | transform (const UList< symmTensor > &input) const |
With constant rotation tensor. More... | |
virtual symmTensor | transform (const point &global, const symmTensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< symmTensor > > | transform (const UList< point > &global, const symmTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transform (const pointUIndList &global, const symmTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transform (const UList< point > &global, const UList< symmTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | transform (const pointUIndList &global, const UList< symmTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tensor | transform (const tensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< tensor > > | transform (const UList< tensor > &input) const |
With constant rotation tensor. More... | |
virtual tensor | transform (const point &global, const tensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< tensor > > | transform (const UList< point > &global, const tensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | transform (const pointUIndList &global, const tensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | transform (const UList< point > &global, const UList< tensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | transform (const pointUIndList &global, const UList< tensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual scalar | invTransform (const scalar &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< scalar > > | invTransform (const UList< scalar > &input) const |
With constant rotation tensor. More... | |
virtual scalar | invTransform (const point &global, const scalar &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< scalar > > | invTransform (const UList< point > &global, const scalar &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | invTransform (const pointUIndList &global, const scalar &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | invTransform (const UList< point > &global, const UList< scalar > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< scalar > > | invTransform (const pointUIndList &global, const UList< scalar > &input) const |
With rotation tensors at given global positions. More... | |
virtual vector | invTransform (const vector &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< vector > > | invTransform (const UList< vector > &input) const |
With constant rotation tensor. More... | |
virtual vector | invTransform (const point &global, const vector &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< vector > > | invTransform (const UList< point > &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | invTransform (const pointUIndList &global, const vector &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | invTransform (const UList< point > &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< vector > > | invTransform (const pointUIndList &global, const UList< vector > &input) const |
With rotation tensors at given global positions. More... | |
virtual sphericalTensor | invTransform (const sphericalTensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< sphericalTensor > > | invTransform (const UList< sphericalTensor > &input) const |
With constant rotation tensor. More... | |
virtual sphericalTensor | invTransform (const point &global, const sphericalTensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< sphericalTensor > > | invTransform (const UList< point > &global, const sphericalTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | invTransform (const pointUIndList &global, const sphericalTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | invTransform (const UList< point > &global, const UList< sphericalTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< sphericalTensor > > | invTransform (const pointUIndList &global, const UList< sphericalTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual symmTensor | invTransform (const symmTensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< symmTensor > > | invTransform (const UList< symmTensor > &input) const |
With constant rotation tensor. More... | |
virtual symmTensor | invTransform (const point &global, const symmTensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< symmTensor > > | invTransform (const UList< point > &global, const symmTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | invTransform (const pointUIndList &global, const symmTensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | invTransform (const UList< point > &global, const UList< symmTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< symmTensor > > | invTransform (const pointUIndList &global, const UList< symmTensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tensor | invTransform (const tensor &input) const |
With constant rotation tensor. More... | |
virtual tmp< Field< tensor > > | invTransform (const UList< tensor > &input) const |
With constant rotation tensor. More... | |
virtual tensor | invTransform (const point &global, const tensor &input) const |
With rotation tensor at given global position. More... | |
virtual tmp< Field< tensor > > | invTransform (const UList< point > &global, const tensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | invTransform (const pointUIndList &global, const tensor &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | invTransform (const UList< point > &global, const UList< tensor > &input) const |
With rotation tensors at given global positions. More... | |
virtual tmp< Field< tensor > > | invTransform (const pointUIndList &global, const UList< tensor > &input) const |
With rotation tensors at given global positions. More... | |
template<class PointField > | |
Foam::tmp< Foam::tensorField > | rotationsImpl (const PointField &global) const |
template<class PointField > | |
Foam::tmp< Foam::pointField > | transformPointImpl (const PointField &localCart) const |
template<class PointField > | |
Foam::tmp< Foam::pointField > | invTransformPointImpl (const PointField &global) const |
template<class RetType , class Type , class BinaryOp > | |
Foam::tmp< Foam::Field< RetType > > | manyTimesImpl (const tensor &tt, const UList< Type > &input, const BinaryOp &bop) |
template<class RetType , class PointField , class Type , class BinaryOp > | |
Foam::tmp< Foam::Field< RetType > > | oneToOneImpl (const PointField &global, const UList< Type > &input, const BinaryOp &bop) const |
template<class RetType , class PointField , class Type , class BinaryOp > | |
Foam::tmp< Foam::Field< RetType > > | oneToManyImpl (const PointField &global, const Type &input, const BinaryOp &bop) const |
Static Public Member Functions | |
template<class Derived > | |
static autoPtr< coordinateSystem > | Clone (const Derived &csys) |
Clone a coordinate system. More... | |
static autoPtr< coordinateSystem > | Clone (const word &modelType, const objectRegistry &obr, const dictionary &dict, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select construct the specified coordinate system type with reference to objectRegistry for indirect entries. More... | |
static autoPtr< coordinateSystem > | New (const word &modelType, const objectRegistry &obr, const dictionary &dict, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select construct the specified coordinate system type with reference to objectRegistry for indirect entries. More... | |
static autoPtr< coordinateSystem > | New (const word &modelType, const dictionary &dict, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select construct the specified coordinate system type. More... | |
static autoPtr< coordinateSystem > | New (const objectRegistry &obr, const dictionary &dict, const word &dictName=word::null, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select construct from dictionary with reference to objectRegistry for indirect entries. More... | |
static autoPtr< coordinateSystem > | New (const dictionary &dict, const word &dictName=word::null, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select constructed from dictionary. More... | |
static autoPtr< coordinateSystem > | New (Istream &is, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Select constructed from Istream. More... | |
static autoPtr< coordinateSystem > | NewIfPresent (const objectRegistry &obr, const dictionary &dict, const word &dictName=coordinateSystem::typeName) |
Optional select construct from dictionary, with registry reference. More... | |
static autoPtr< coordinateSystem > | NewIfPresent (const dictionary &dict, const word &dictName=coordinateSystem::typeName) |
Optional select construct from dictionary. More... | |
Protected Member Functions | |
template<class PointField > | |
tmp< tensorField > | rotationsImpl (const PointField &global) const |
Implementation for R() methods. More... | |
template<class PointField > | |
tmp< pointField > | transformPointImpl (const PointField &localCart) const |
Implementation for transformPoint() methods. More... | |
template<class PointField > | |
tmp< pointField > | invTransformPointImpl (const PointField &global) const |
Implementation for transformPosition() methods. More... | |
template<class RetType , class PointField , class Type , class BinaryOp > | |
tmp< Field< RetType > > | oneToOneImpl (const PointField &global, const UList< Type > &input, const BinaryOp &bop) const |
Use position-dependent transform tensors for multiple inputs. More... | |
template<class RetType , class PointField , class Type , class BinaryOp > | |
tmp< Field< RetType > > | oneToManyImpl (const PointField &global, const Type &input, const BinaryOp &bop) const |
Use position-dependent transform tensors for single input. More... | |
virtual vector | localToGlobal (const vector &local, bool translate) const |
From local coordinate system to the global Cartesian system with optional translation for the origin. More... | |
virtual tmp< vectorField > | localToGlobal (const vectorField &local, bool translate) const |
From local coordinate system to the global Cartesian system with optional translation for the origin. More... | |
virtual vector | globalToLocal (const vector &global, bool translate) const |
From global Cartesian system to the local coordinate system with optional translation for the origin. More... | |
virtual tmp< vectorField > | globalToLocal (const vectorField &global, bool translate) const |
From global Cartesian system to the local coordinate system with optional translation for the origin. More... | |
void | assign (const dictionary &dict, IOobjectOption::readOption readOrigin=IOobjectOption::MUST_READ) |
Assign from dictionary content with specified read handling of the 'origin' entry. More... | |
coordinateSystem (std::nullptr_t) | |
Construct null, without allocating a coordinateRotation specification. More... | |
Static Protected Member Functions | |
template<class RetType , class Type , class BinaryOp > | |
static tmp< Field< RetType > > | manyTimesImpl (const tensor &tt, const UList< Type > &input, const BinaryOp &bop) |
Apply single transform tensor for multiple inputs. More... | |
Protected Attributes | |
autoPtr< coordinateRotation > | spec_ |
User specification of the coordinate rotation. More... | |
point | origin_ |
The coordinate system origin. More... | |
tensor | rot_ |
The rotation tensor. More... | |
word | name_ |
The name of the coordinate system (optional) More... | |
string | note_ |
An optional note describing the coordinate system. More... | |
Static Protected Attributes | |
static coordinateSystem | dummy_ |
Dummy coordinate system for suppressed manipulation. More... | |
Base class for coordinate system specification, the default coordinate system type is cartesian .
All systems are defined by an origin point and a coordinate rotation By default, the axes specification can be used directly as part of the coordinate system specification. For example,
coordinateSystem { origin (0 0 0); e1 (0 1 0); e3 (1 0 0); }
However, a more verbose format with rotation provided as a dictionary entry is possible:
coordinateSystem { type cartesian; origin (0 0 0); rotation { type axes; e1 (0 1 0); e3 (1 0 0); } }
It also also possible to use the compact (single-dictionary) form and specific a different type of rotation:
coordinateSystem { type cartesian; origin (0 0 0); rotation euler; angles (90 0 0); }
This last form can be particularly readable for an identity rotation: coordinateSystem { type cartesian; origin (0 0 0); rotation none; }
Types of coordinateRotation:
Type of coordinateSystem:
Definition at line 142 of file coordinateSystem.H.
|
protected |
Construct null, without allocating a coordinateRotation specification.
Definition at line 125 of file coordinateSystem.C.
coordinateSystem | ( | ) |
Default construct. This is an identity coordinate system.
Definition at line 135 of file coordinateSystem.C.
|
explicit |
Copy construct from rotation with origin=0.
Definition at line 145 of file coordinateSystem.C.
|
explicit |
Move construct from rotation with origin=0.
Definition at line 151 of file coordinateSystem.C.
coordinateSystem | ( | const coordinateSystem & | csys | ) |
Copy construct.
Definition at line 157 of file coordinateSystem.C.
coordinateSystem | ( | coordinateSystem && | csys | ) |
Move construct.
Definition at line 167 of file coordinateSystem.C.
|
explicit |
Move construct from autoPtr.
Definition at line 177 of file coordinateSystem.C.
References coordinateSystem::operator=(), and coordinateSystem::spec_.
coordinateSystem | ( | const word & | name, |
const coordinateSystem & | csys | ||
) |
Copy construct with a different name.
Definition at line 196 of file coordinateSystem.C.
coordinateSystem | ( | const point & | origin, |
const coordinateRotation & | crot | ||
) |
Construct from origin and rotation.
Definition at line 210 of file coordinateSystem.C.
coordinateSystem | ( | const point & | origin, |
const vector & | axis, | ||
const vector & | dirn | ||
) |
Construct from origin and 2 axes.
Definition at line 235 of file coordinateSystem.C.
coordinateSystem | ( | const word & | name, |
const point & | origin, | ||
const coordinateRotation & | crot | ||
) |
Construct from origin and rotation.
Definition at line 220 of file coordinateSystem.C.
coordinateSystem | ( | const word & | name, |
const point & | origin, | ||
const vector & | axis, | ||
const vector & | dirn | ||
) |
Construct named from origin and 2 axes.
Definition at line 246 of file coordinateSystem.C.
|
explicit |
Construct from dictionary with optional read handling for the 'origin' entry (default: MUST_READ).
Definition at line 262 of file coordinateSystem.C.
References Foam::FieldOps::assign(), and dict.
coordinateSystem | ( | const dictionary & | dict, |
const word & | dictName, | ||
IOobjectOption::readOption | readOrigin = IOobjectOption::MUST_READ |
||
) |
Construct from dictionary with optional subDict lookup and optional read handling for the 'origin' entry (default: MUST_READ).
dictName | If non-empty, mandatory sub-dictionary to use. |
Definition at line 274 of file coordinateSystem.C.
References Foam::FieldOps::assign(), dict, dictName(), IOobjectOption::lazierRead(), and dictionary::subDict().
|
virtualdefault |
Destructor.
|
protected |
Implementation for R() methods.
|
protected |
Implementation for transformPoint() methods.
|
protected |
Implementation for transformPosition() methods.
|
staticprotected |
Apply single transform tensor for multiple inputs.
|
protected |
Use position-dependent transform tensors for multiple inputs.
|
protected |
Use position-dependent transform tensors for single input.
|
protectedvirtual |
From local coordinate system to the global Cartesian system with optional translation for the origin.
Reimplemented in indirect, and cylindrical.
Definition at line 350 of file coordinateSystem.C.
References Foam::transform().
Referenced by coordinateSystem::globalPosition(), coordinateSystem::globalVector(), cylindrical::localToGlobal(), and indirect::localToGlobal().
|
protectedvirtual |
From local coordinate system to the global Cartesian system with optional translation for the origin.
Reimplemented in indirect, and cylindrical.
Definition at line 365 of file coordinateSystem.C.
References Foam::transform().
|
protectedvirtual |
From global Cartesian system to the local coordinate system with optional translation for the origin.
Reimplemented in indirect, and cylindrical.
Definition at line 380 of file coordinateSystem.C.
References Foam::invTransform().
Referenced by cylindrical::globalToLocal(), indirect::globalToLocal(), coordinateSystem::localPosition(), and coordinateSystem::localVector().
|
protectedvirtual |
From global Cartesian system to the local coordinate system with optional translation for the origin.
Reimplemented in indirect, and cylindrical.
Definition at line 395 of file coordinateSystem.C.
References Foam::invTransform().
|
protected |
Assign from dictionary content with specified read handling of the 'origin' entry.
Definition at line 69 of file coordinateSystem.C.
References dict, Foam::New(), and Foam::Zero.
TypeName | ( | "coordinateSystem" | ) |
Runtime type information.
|
inlinevirtual |
Return clone.
Reimplemented in cylindrical, cartesian, and indirect.
Definition at line 501 of file coordinateSystem.H.
References autoPtr< T >::New().
declareRunTimeSelectionTable | ( | autoPtr | , |
coordinateSystem | , | ||
dictionary | , | ||
(const dictionary &dict, IOobjectOption::readOption readOrigin) | , | ||
(dict, readOrigin) | |||
) |
declareRunTimeSelectionTable | ( | autoPtr | , |
coordinateSystem | , | ||
registry | , | ||
(const objectRegistry &obr, const dictionary &dict, IOobjectOption::readOption readOrigin) | , | ||
(obr, dict, readOrigin) | |||
) |
|
inlinestatic |
Clone a coordinate system.
Definition at line 541 of file coordinateSystem.H.
Referenced by indirect::clone(), cartesian::clone(), and cylindrical::clone().
|
static |
Select construct the specified coordinate system type with reference to objectRegistry for indirect entries.
An empty modelType will be treated as "cartesian"
|
static |
Select construct the specified coordinate system type with reference to objectRegistry for indirect entries.
An empty modelType will be treated as "cartesian"
Definition at line 234 of file coordinateSystemNew.C.
References dict, and Foam::New().
|
static |
Select construct the specified coordinate system type.
An empty modelType will be treated as "cartesian"
Definition at line 247 of file coordinateSystemNew.C.
References dict, and Foam::New().
|
static |
Select construct from dictionary with reference to objectRegistry for indirect entries.
dictName | If non-empty, the sub-dictionary name to use for the coordinate system description. |
Definition at line 259 of file coordinateSystemNew.C.
References dict, dictName(), and Foam::New().
|
static |
Select constructed from dictionary.
dictName | If non-empty, the sub-dictionary name to use for the coordinate system description. |
Definition at line 272 of file coordinateSystemNew.C.
References dict, dictName(), and Foam::New().
|
static |
Select constructed from Istream.
Expects a name/dictionary as input
Definition at line 213 of file coordinateSystemNew.C.
References dict, keyType::LITERAL, and dictionary::readIfPresent().
|
static |
Optional select construct from dictionary, with registry reference.
obr | The objectRegistry (for lookup of indirect entries) |
dict | The top-level dictionary to search |
dictName | The sub-dictionary name to select the for coordinate system specification (default is 'coordinateSystem'). |
Since the specifications are isolated within a sub-dictionary, the 'origin' entry is treated as optional
Definition at line 284 of file coordinateSystemNew.C.
References dict, and dictName().
|
static |
Optional select construct from dictionary.
dict | The top-level dictionary to search |
dictName | The sub-dictionary name to select the for coordinate system specification (default is 'coordinateSystem'). |
Since the specifications are isolated within a sub-dictionary, the 'origin' entry is treated as optional
Definition at line 296 of file coordinateSystemNew.C.
References dict, and dictName().
|
inlinevirtual |
Consider good if it has a specification.
Reimplemented in indirect.
Definition at line 690 of file coordinateSystem.H.
References coordinateSystem::spec_.
Referenced by indirect::good(), and coordinateSystem::valid().
|
inlinevirtual |
True if the rotation tensor is uniform for all locations.
Reimplemented in cylindrical, and indirect.
Definition at line 695 of file coordinateSystem.H.
Referenced by indirect::uniform().
|
inlinevirtual |
Same as good() - 2023-07.
Reimplemented in indirect.
Definition at line 700 of file coordinateSystem.H.
References coordinateSystem::good().
|
inlinevirtual |
Return origin.
Reimplemented in indirect.
Definition at line 708 of file coordinateSystem.H.
References coordinateSystem::origin_.
Referenced by Foam::operator!=(), indirect::origin(), and propellerInfo::setSampleDiskGeometry().
|
inlinevirtual |
The rotation specification.
Reimplemented in indirect.
Definition at line 716 of file coordinateSystem.H.
References coordinateSystem::spec_.
Referenced by indirect::rotation().
|
inlinevirtual |
Return the name.
Reimplemented in indirect.
Definition at line 724 of file coordinateSystem.H.
References coordinateSystem::name_.
|
inlinevirtual |
Return the optional note.
Reimplemented in indirect.
Definition at line 732 of file coordinateSystem.H.
References coordinateSystem::note_.
Referenced by indirect::note().
|
inlinevirtual |
Return const reference to the rotation tensor.
Reimplemented in indirect.
Definition at line 740 of file coordinateSystem.H.
References coordinateSystem::rot_.
Referenced by Foam::operator!=(), indirect::R(), and coordinateSystem::rotationsImpl().
|
inlinevirtual |
The local Cartesian x-axis in global coordinates.
Reimplemented in indirect.
Definition at line 748 of file coordinateSystem.H.
References coordinateSystem::rot_.
Referenced by indirect::e1().
|
inlinevirtual |
The local Cartesian y-axis in global coordinates.
Reimplemented in indirect.
Definition at line 756 of file coordinateSystem.H.
References coordinateSystem::rot_.
Referenced by indirect::e2().
|
inlinevirtual |
The local Cartesian z-axis in global coordinates.
Reimplemented in indirect.
Definition at line 764 of file coordinateSystem.H.
References coordinateSystem::rot_.
Referenced by indirect::e3().
|
inlinevirtual |
Rename.
Reimplemented in indirect.
Definition at line 775 of file coordinateSystem.H.
References coordinateSystem::name_.
|
inlinevirtual |
Edit access to optional note.
Reimplemented in indirect.
Definition at line 783 of file coordinateSystem.H.
References coordinateSystem::note_.
|
inlinevirtual |
Edit access to origin.
Reimplemented in indirect.
Definition at line 791 of file coordinateSystem.H.
References coordinateSystem::origin_.
|
virtual |
Reset origin and rotation to an identity coordinateSystem.
Also resets the note
Reimplemented in indirect.
Definition at line 298 of file coordinateSystem.C.
References SphericalTensor< scalar >::I, and Foam::Zero.
Referenced by coordSetWriter::coordSetWriter(), coordinateSystem::operator=(), and surfaceWriter::surfaceWriter().
|
virtual |
Change the rotation.
Reimplemented in indirect.
Definition at line 409 of file coordinateSystem.C.
References SphericalTensor< scalar >::I, and coordinateRotation::R().
|
virtual |
Write.
Reimplemented in indirect.
Definition at line 423 of file coordinateSystem.C.
References os(), Foam::type(), and OBJstream::write().
Referenced by Foam::operator<<().
|
virtual |
Write 'coordinateSystem' dictionary entry.
Reimplemented in indirect.
Definition at line 441 of file coordinateSystem.C.
References os().
Write dictionary entry.
Reimplemented in indirect.
Definition at line 447 of file coordinateSystem.C.
References Ostream::beginBlock(), Ostream::endBlock(), os(), Foam::type(), and Ostream::writeEntry().
void operator= | ( | const coordinateSystem & | csys | ) |
Copy assignment.
Definition at line 486 of file coordinateSystem.C.
References SphericalTensor< scalar >::I, coordinateSystem::name_, coordinateSystem::note_, coordinateSystem::origin_, and coordinateSystem::spec_.
Referenced by coordinateSystem::coordinateSystem(), and coordinateSystem::operator=().
void operator= | ( | coordinateSystem && | csys | ) |
Move assignment.
Definition at line 505 of file coordinateSystem.C.
References coordinateSystem::name_, coordinateSystem::note_, coordinateSystem::origin_, coordinateSystem::rot_, and coordinateSystem::spec_.
void operator= | ( | const autoPtr< coordinateSystem > & | csys | ) |
Copy assignment from autoPtr.
Definition at line 515 of file coordinateSystem.C.
References coordinateSystem::operator=().
void operator= | ( | autoPtr< coordinateSystem > && | csys | ) |
Move assignment from autoPtr.
Definition at line 521 of file coordinateSystem.C.
References coordinateSystem::clear(), and coordinateSystem::operator=().
|
virtual |
Position-dependent rotation tensor (when uniform = false)
Reimplemented in indirect, and cylindrical.
Definition at line 307 of file coordinateSystem.C.
|
virtual |
Position-dependent rotation tensors (when uniform = false)
Reimplemented in indirect.
Definition at line 314 of file coordinateSystem.C.
|
virtual |
Position-dependent rotation tensors (when uniform = false)
Reimplemented in indirect.
Definition at line 323 of file coordinateSystem.C.
Foam::point transformPoint | ( | const point & | localCart | ) | const |
Transform point and add origin offset.
Corresponds to a local-to-global transformation using Cartesian coordinates for both local and global.
Definition at line 332 of file coordinateSystem.C.
References Foam::transform().
Foam::tmp< Foam::pointField > transformPoint | ( | const UList< point > & | localCart | ) | const |
Transform points and add origin offset.
Definition at line 96 of file coordinateSystemTransform.C.
Foam::tmp< Foam::pointField > transformPoint | ( | const pointUIndList & | localCart | ) | const |
Transform points and add origin offset.
Definition at line 105 of file coordinateSystemTransform.C.
Foam::point invTransformPoint | ( | const point & | global | ) | const |
Remove origin offset and inverse transform point.
Corresponds to a global-to-local transformation using Cartesian coordinates for both local and global.
Definition at line 341 of file coordinateSystem.C.
References Foam::invTransform().
Foam::tmp< Foam::pointField > invTransformPoint | ( | const UList< point > & | global | ) | const |
Remove origin offset and inverse transform points.
Definition at line 114 of file coordinateSystemTransform.C.
Foam::tmp< Foam::pointField > invTransformPoint | ( | const pointUIndList & | global | ) | const |
Remove origin offset and inverse transform points.
Definition at line 123 of file coordinateSystemTransform.C.
From local coordinate position to global (cartesian) position.
Definition at line 916 of file coordinateSystem.H.
References local, and coordinateSystem::localToGlobal().
Referenced by propellerInfo::setSampleDiskGeometry().
|
inline |
From local coordinate position to global (cartesian) position.
Definition at line 924 of file coordinateSystem.H.
References local, and coordinateSystem::localToGlobal().
From global (cartesian) position to local coordinate position.
Definition at line 932 of file coordinateSystem.H.
References coordinateSystem::globalToLocal().
|
inline |
From global (cartesian) position to local coordinate position.
Definition at line 940 of file coordinateSystem.H.
References coordinateSystem::globalToLocal().
From local to global (cartesian) vector components.
Definition at line 950 of file coordinateSystem.H.
References local, and coordinateSystem::localToGlobal().
|
inline |
From local to global (cartesian) vector components.
Definition at line 958 of file coordinateSystem.H.
References local, and coordinateSystem::localToGlobal().
From global (cartesian) to local vector components.
Definition at line 966 of file coordinateSystem.H.
References coordinateSystem::globalToLocal().
|
inline |
From global (cartesian) to local vector components.
Definition at line 974 of file coordinateSystem.H.
References coordinateSystem::globalToLocal().
|
virtual |
With constant rotation tensor.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 197 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 199 of file coordinateSystemTransform.C.
Referenced by DarcyForchheimer::calcTransformModelData().
|
virtual |
With constant rotation tensor.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 199 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 200 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 201 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 202 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 203 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 205 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 206 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 207 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 208 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With constant rotation tensor.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensor at given global position.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 209 of file coordinateSystemTransform.C.
|
virtual |
With rotation tensors at given global positions.
Definition at line 209 of file coordinateSystemTransform.C.
Foam::tmp<Foam::tensorField> rotationsImpl | ( | const PointField & | global | ) | const |
Definition at line 28 of file coordinateSystemTemplates.C.
References tmp< T >::New(), coordinateSystem::R(), and UList< T >::size().
Foam::tmp<Foam::pointField> transformPointImpl | ( | const PointField & | localCart | ) | const |
Definition at line 46 of file coordinateSystemTemplates.C.
References tmp< T >::New(), UList< T >::size(), and Foam::transform().
Foam::tmp<Foam::pointField> invTransformPointImpl | ( | const PointField & | global | ) | const |
Definition at line 64 of file coordinateSystemTemplates.C.
References Foam::invTransform(), tmp< T >::New(), and UList< T >::size().
Foam::tmp<Foam::Field<RetType> > manyTimesImpl | ( | const tensor & | tt, |
const UList< Type > & | input, | ||
const BinaryOp & | bop | ||
) |
Definition at line 83 of file coordinateSystemTemplates.C.
References Foam::input(), and Foam::New().
Foam::tmp<Foam::Field<RetType> > oneToOneImpl | ( | const PointField & | global, |
const UList< Type > & | input, | ||
const BinaryOp & | bop | ||
) | const |
Definition at line 106 of file coordinateSystemTemplates.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, Foam::input(), Foam::New(), R, and UList< T >::size().
Foam::tmp<Foam::Field<RetType> > oneToManyImpl | ( | const PointField & | global, |
const Type & | input, | ||
const BinaryOp & | bop | ||
) | const |
Definition at line 136 of file coordinateSystemTemplates.C.
References Foam::input(), Foam::New(), R, and UList< T >::size().
|
protected |
User specification of the coordinate rotation.
May be invalid after a move assignment or transfer
Definition at line 221 of file coordinateSystem.H.
Referenced by coordinateSystem::coordinateSystem(), coordinateSystem::good(), coordinateSystem::operator=(), and coordinateSystem::rotation().
|
protected |
The coordinate system origin.
Definition at line 226 of file coordinateSystem.H.
Referenced by coordinateSystem::operator=(), and coordinateSystem::origin().
|
protected |
The rotation tensor.
Definition at line 231 of file coordinateSystem.H.
Referenced by coordinateSystem::e1(), coordinateSystem::e2(), coordinateSystem::e3(), coordinateSystem::operator=(), and coordinateSystem::R().
|
protected |
The name of the coordinate system (optional)
Definition at line 236 of file coordinateSystem.H.
Referenced by indirect::name(), coordinateSystem::name(), coordinateSystem::operator=(), and coordinateSystem::rename().
|
protected |
An optional note describing the coordinate system.
Definition at line 241 of file coordinateSystem.H.
Referenced by coordinateSystem::note(), and coordinateSystem::operator=().
|
staticprotected |
Dummy coordinate system for suppressed manipulation.
Definition at line 246 of file coordinateSystem.H.
Referenced by indirect::note(), and indirect::origin().