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()
114 return transformPointImpl(localCart);
123 return invTransformPointImpl(global);
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
dimensionSet invTransform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
point transformPoint(const point &localCart) const
Transform point and add origin offset.
tmp< pointField > transformPointImpl(const PointField &localCart) const
Implementation for transformPoint() methods.
SymmTensor< scalar > symmTensor
SymmTensor of scalars, i.e. SymmTensor<scalar>.
point invTransformPoint(const point &global) const
Remove origin offset and inverse transform point.
static symmTensor transformPrincipal_vector(const tensor &tt, const vector &v)
Transform principal.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A List with indirect addressing. Like IndirectList but does not store addressing. ...
A class for managing temporary objects.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Tensor of scalars, i.e. Tensor<scalar>.