OpenLB 1.7
|
This class calculates the angle alpha between vector _referenceVector and any other vector x. More...
#include <frameChangeF3D.h>
Public Member Functions | |
AngleBetweenVectors3D (std::vector< T > referenceVector, std::vector< T > orientation) | |
constructor defines _referenceVector and _orientation | |
bool | operator() (T output[], const S x[]) override |
operator writes angle between x and _referenceVector inro output field | |
Public Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF< D, T, S > & | operator- (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator+ (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator* (AnalyticalF< D, T, S > &rhs) |
AnalyticalF< D, T, S > & | operator/ (AnalyticalF< D, T, S > &rhs) |
Public Member Functions inherited from olb::GenericF< T, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
bool | operator() (T output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (T output[], S input0) |
bool | operator() (T output[], S input0, S input1) |
bool | operator() (T output[], S input0, S input1, S input2) |
bool | operator() (T output[], S input0, S input1, S input2, S input3) |
Protected Attributes | |
std::vector< T > | _referenceVector |
between _referenceVector and vector x, angle is calculated | |
std::vector< T > | _orientation |
direction around which x has to be turned with angle is in math pos sense to lie over _referenceVector | |
Additional Inherited Members | |
Public Types inherited from olb::AnalyticalF< D, T, S > | |
using | identity_functor_type = AnalyticalIdentity<D,T,S> |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
Public Attributes inherited from olb::GenericF< T, S > | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Static Public Attributes inherited from olb::AnalyticalF< D, T, S > | |
static constexpr unsigned | dim = D |
Protected Member Functions inherited from olb::AnalyticalF< D, T, S > | |
AnalyticalF (int n) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
This class calculates the angle alpha between vector _referenceVector and any other vector x.
Vector x has to be turned by alpha in mathematical positive sense depending to _orientation to lie over vector _referenceVector
Definition at line 335 of file frameChangeF3D.h.
olb::AngleBetweenVectors3D< T, S >::AngleBetweenVectors3D | ( | std::vector< T > | referenceVector, |
std::vector< T > | orientation ) |
constructor defines _referenceVector and _orientation
Definition at line 760 of file frameChangeF3D.hh.
References olb::GenericF< T, S >::getName().
|
overridevirtual |
operator writes angle between x and _referenceVector inro output field
Implements olb::GenericF< T, S >.
Definition at line 771 of file frameChangeF3D.hh.
References olb::util::acos(), olb::util::atan2(), olb::crossProduct3D(), M_PI, olb::util::nearZero(), olb::norm(), and olb::normalize().
|
protected |
direction around which x has to be turned with angle is in math pos sense to lie over _referenceVector
Definition at line 341 of file frameChangeF3D.h.
|
protected |
between _referenceVector and vector x, angle is calculated
Definition at line 338 of file frameChangeF3D.h.