40#define makeTransform(Op, Type) \
41 static inline Type Op##_##Type(const tensor& tt, const Type& in) \
70 + tt.
xy()*v.
y()*tt.
xy()
71 + tt.
xz()*v.
z()*tt.
xz(),
74 + tt.
xy()*v.
y()*tt.
yy()
75 + tt.
xz()*v.
z()*tt.
yz(),
78 + tt.
xy()*v.
y()*tt.
zy()
79 + tt.
xz()*v.
z()*tt.
zz(),
82 + tt.
yy()*v.
y()*tt.
yy()
83 + tt.
yz()*v.
z()*tt.
yz(),
86 + tt.
yy()*v.
y()*tt.
zy()
87 + tt.
yz()*v.
z()*tt.
zz(),
90 + tt.
zy()*v.
y()*tt.
zy()
91 + tt.
zz()*v.
z()*tt.
zz()
132 return invTransformPointImpl(global);
138#undef makeCoordinateSystemTransform
139#define makeCoordinateSystemTransform(Op, RetType, Type) \
140 Foam::RetType Foam::coordinateSystem::Op \
145 return Op##_##Type(rot_, input); \
148 Foam::tmp<Foam::Field<Foam::RetType>> Foam::coordinateSystem::Op \
150 const UList<Type>& input \
153 return manyTimesImpl<RetType>(rot_, input, Op##_##Type); \
156 Foam::RetType Foam::coordinateSystem::Op \
158 const point& global, \
162 return Op##_##Type(this->R(global), input); \
165 Foam::tmp<Foam::Field<Foam::RetType>> Foam::coordinateSystem::Op \
167 const UList<point>& global, \
171 return oneToManyImpl<RetType>(global, input, Op##_##Type); \
174 Foam::tmp<Foam::Field<Foam::RetType>> Foam::coordinateSystem::Op \
176 const pointUIndList& global, \
180 return oneToManyImpl<RetType>(global, input, Op##_##Type); \
183 Foam::tmp<Foam::Field<Foam::RetType>> Foam::coordinateSystem::Op \
185 const UList<point>& global, \
186 const UList<Type>& input \
189 return oneToOneImpl<RetType>(global, input, Op##_##Type); \
192 Foam::tmp<Foam::Field<Foam::RetType>> Foam::coordinateSystem::Op \
194 const pointUIndList& global, \
195 const UList<Type>& input \
198 return oneToOneImpl<RetType>(global, input, Op##_##Type); \
216#undef makeCoordinateSystemTransform
const Cmpt & yy() const noexcept
const Cmpt & zy() const noexcept
const Cmpt & yx() const noexcept
const Cmpt & xx() const noexcept
const Cmpt & yz() const noexcept
const Cmpt & zz() const noexcept
const Cmpt & xy() const noexcept
const Cmpt & xz() const noexcept
const Cmpt & zx() const noexcept
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const Cmpt & x() const noexcept
Access to the vector x component.
const Cmpt & z() const noexcept
Access to the vector z component.
const Cmpt & y() const noexcept
Access to the vector y component.
tmp< pointField > invTransformPointImpl(const PointField &global) const
Implementation for transformPosition() methods.
point invTransformPoint(const point &global) const
Remove origin offset and inverse transform point.
virtual scalar invTransform(const scalar &input) const
With constant rotation tensor.
virtual scalar transform(const scalar &input) const
With constant rotation tensor.
virtual symmTensor transformPrincipal(const vector &input) const
With constant rotation tensor.
point transformPoint(const point &localCart) const
Transform point and add origin offset.
tmp< pointField > transformPointImpl(const PointField &localCart) const
Implementation for transformPoint() methods.
A class for managing temporary objects.
dimensionSet invTransform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
static symmTensor transformPrincipal_vector(const tensor &tt, const vector &v)
Transform principal.
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
UIndirectList< point > pointUIndList
UIndirectList of point.
SphericalTensor< scalar > sphericalTensor
SphericalTensor of scalars, i.e. SphericalTensor<scalar>.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.