45#ifndef Foam_indirectCS_H
46#define Foam_indirectCS_H
63 public coordinateSystem
83 return backend_->localToGlobal(
local, translate);
94 return backend_->localToGlobal(
local, translate);
105 return backend_->globalToLocal(global, translate);
116 return backend_->globalToLocal(global, translate);
165 virtual bool good()
const {
return backend_ && backend_->good(); }
170 return !backend_ || backend_->uniform();
174 virtual bool valid()
const {
return this->
good(); }
188 return backend_->origin();
194 return backend_->rotation();
200 return backend_->name_;
204 virtual const string&
note()
const
206 return backend_->note();
210 virtual const tensor&
R()
const
212 return backend_->R();
218 return backend_->e1();
224 return backend_->e2();
230 return backend_->e3();
254 virtual void clear() {}
289 return backend_->R(global);
295 return backend_->R(global);
301 return backend_->R(global);
readOption
Enumeration defining read preferences.
@ NO_READ
Nothing to be read.
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...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A coordinate system forward to a global coordinate system that is normally provided by the constant/c...
string & note()
Provide non-constant access to the optional note.
virtual const word & name() const
Return the name.
virtual bool uniform() const
True if the rotation tensor is uniform for all positions.
virtual const coordinateRotation & rotation() const
The rotation specification.
indirect()=delete
Default construct is disallowed.
virtual const vector e2() const
The local Cartesian y-axis in global coordinates.
void operator=(coordinateSystem &&csys)=delete
No move assignment.
virtual tensor R(const point &global) const
Position-dependent rotation tensor at a single point.
virtual bool valid() const
Same as good() - 2023-07.
virtual tmp< vectorField > localToGlobal(const vectorField &local, bool translate) const
Convert from local coordinate system to the global Cartesian system with optional translation for the...
virtual const coordinateSystem & cs() const
Reference to the underlying coordinate system.
virtual ~indirect()=default
Destructor.
virtual tmp< vectorField > globalToLocal(const vectorField &global, bool translate) const
Convert from global Cartesian system to the local coordinate system with optional translation for the...
virtual const point & origin() const
Return origin.
virtual tmp< tensorField > R(const pointUIndList &global) const
Position-dependent rotation tensors at multiple points.
virtual void rotation(autoPtr< coordinateRotation > &&crot)
Change the rotation (disallowed).
virtual bool good() const
Is coordinate system good/valid?
virtual const string & note() const
Return the optional note.
virtual vector globalToLocal(const vector &global, bool translate) const
Convert from global Cartesian system to the local coordinate system with optional translation for the...
virtual const tensor & R() const
Return const reference to the rotation tensor.
virtual point & origin()
Edit access to origin (disallowed).
virtual void clear()
Clear (ignored).
virtual void writeEntry(Ostream &os) const
Write 'coordinateSystem' dictionary entry.
virtual const vector e1() const
The local Cartesian x-axis in global coordinates.
virtual const vector e3() const
The local Cartesian z-axis in global coordinates.
void operator=(const coordinateSystem &csys)=delete
No copy assignment.
virtual autoPtr< coordinateSystem > clone() const
Return clone.
virtual vector localToGlobal(const vector &local, bool translate) const
Convert from local coordinate system to the global Cartesian system with optional translation for the...
virtual tmp< tensorField > R(const UList< point > &global) const
Position-dependent rotation tensors at multiple points.
void rename(const word &newName)
Rename (ignored).
TypeName("indirect")
Runtime type information.
User specification of a coordinate rotation.
static autoPtr< coordinateSystem > Clone(const Derived &csys)
Clone a coordinate system.
coordinateSystem(std::nullptr_t)
Construct null, without allocating a coordinateRotation specification.
static coordinateSystem dummy_
Dummy coordinate system for suppressed manipulation.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Registry of regIOobjects.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
OBJstream os(runTime.globalPath()/outputName)
Namespace for coordinate systems.
UIndirectList< point > pointUIndList
UIndirectList of point.
Field< vector > vectorField
Specialisation of Field<T> for vector.
vector point
Point is a vector.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.