8 #ifndef FFA_3D_LOCATION_H
9 #define FFA_3D_LOCATION_H
64 std::array<FaVec3,3>
myL;
128 #ifdef FFA_INDEXCHECK
130 std::cerr <<
"FFa3DLocation::operator[]: index i="<< i
131 <<
" is out of range [0,2]"<< std::endl;
138 #ifdef FFA_INDEXCHECK
140 std::cerr <<
"FFa3DLocation::operator[]: index i="<< i
141 <<
" is out of range [0,2]"<< std::endl;
Enum variables with text representations.
#define FFaEnumEntryEnd
Defines the end of an enum mapping definition.
Definition: FFaEnum.H:237
#define FFaEnumEntry(Value, Text)
Adds one entry to the current enum mapping definition.
Definition: FFaEnum.H:234
Point vectors in 3D space.
Definition: FFa3DLocation.H:20
FFa3DLocation & setPos(PosType p, const FaVec3 &cartPos)
Definition: FFa3DLocation.C:201
void saveMyNumericalData()
Let this instance save its numerical data.
Definition: FFa3DLocation.H:82
PosType getPosType() const
Definition: FFa3DLocation.H:94
std::array< FaVec3, 3 > myL
Definition: FFa3DLocation.H:64
FFa3DLocation & set(PosType p, const FaMat34 &posRelMx, RotType r, const FaMat34 &rotRelMx, const FaMat34 &glbPos)
Definition: FFa3DLocation.C:159
RotType
Definition: FFa3DLocation.H:33
@ EUL_Z_Y_X
Euler ZYX-angles. Supposed to be entered [ X, Y, Z].
Definition: FFa3DLocation.H:34
@ PNT_PX_PXY
Point on X-axis and point in XY-plane.
Definition: FFa3DLocation.H:35
@ PNT_PZ_PXZ
Point on Z-axis and point in XZ-plane.
Definition: FFa3DLocation.H:36
@ DIR_EX_EXY
Direction vector along X-axis, direction vector in XY-plane.
Definition: FFa3DLocation.H:37
FaVec3 translation() const
Definition: FFa3DLocation.C:289
bool isValid() const
Definition: FFa3DLocation.C:391
const FaVec3 & operator[](int i) const
Indexing operator.
Definition: FFa3DLocation.H:126
FFa3DLocation & changeRotRefCS(const FaMat34 &newRef, const FaMat34 &oldRef)
Definition: FFa3DLocation.C:132
FFa3DLocation & operator=(const FFa3DLocation &m)
Assignment operator.
Definition: FFa3DLocation.C:52
int getNumFields() const
Definition: FFa3DLocation.H:96
FFa3DLocation()
Default constructor.
Definition: FFa3DLocation.H:70
FaMat33 direction() const
Definition: FFa3DLocation.C:330
friend std::ostream & operator<<(std::ostream &s, const FFa3DLocation &m)
Definition: FFa3DLocation.C:430
bool operator==(const FFa3DLocation &m) const
Comparison operator.
Definition: FFa3DLocation.C:68
PosType
Definition: FFa3DLocation.H:23
@ CART_X_Y_Z
Cartesian coordinates.
Definition: FFa3DLocation.H:24
@ CYL_R_YR_X
Cylindric coordinates, angle from Y-axis about X-axis.
Definition: FFa3DLocation.H:25
@ SPH_R_ZR_XY
Spherical coordinates, asimuth angle from Z-axis.
Definition: FFa3DLocation.H:30
@ CYL_R_ZR_Y
Cylindric coordinates, angle from Z-axis about Y-axis.
Definition: FFa3DLocation.H:26
@ SPH_R_XR_YZ
Spherical coordinates, asimuth angle from X-axis.
Definition: FFa3DLocation.H:28
@ CYL_R_XR_Z
Cylindric coordinates, angle from X-axis about Z-axis.
Definition: FFa3DLocation.H:27
@ SPH_R_YR_ZX
Spherical coordinates, asimuth angle from Y-axis.
Definition: FFa3DLocation.H:29
friend std::istream & operator>>(std::istream &s, FFa3DLocation &m)
Definition: FFa3DLocation.C:453
FFaEnumMapping(PosType)
Definition: FFa3DLocation.H:42
FFa3DLocation(const FFa3DLocation &m)
Copy constructor.
Definition: FFa3DLocation.H:79
PosTypeEnum myPosTyp
Definition: FFa3DLocation.H:61
FaMat34 getMatrix() const
Definition: FFa3DLocation.C:366
RotTypeEnum myRotTyp
Definition: FFa3DLocation.H:62
FFa3DLocation & setRot(RotType r, const FaMat33 &rotMat)
Definition: FFa3DLocation.C:245
bool changeRotType(RotType newType)
Definition: FFa3DLocation.C:92
RotType getRotType() const
Definition: FFa3DLocation.H:95
bool saveNumericalData
If false, only the type enums are saved.
Definition: FFa3DLocation.H:66
FFaEnumMapping(RotType)
Definition: FFa3DLocation.H:53
FFa3DLocation & changePosRefCS(const FaMat34 &newRef, const FaMat34 &oldRef)
Definition: FFa3DLocation.C:107
bool changePosType(PosType newType)
Definition: FFa3DLocation.C:78
Definition: FFaMat33.H:15
Definition: FFaMat34.H:16
Class for point vectors in 3D space.
Definition: FFaVec3.H:40
real(dp), dimension(:,:), allocatable m
Definition: inverseModule.f90:38
real(dp), dimension(:), allocatable v0
Definition: inverseModule.f90:26
real(dp), dimension(:), allocatable v1
Definition: inverseModule.f90:27
real(dp), dimension(:), allocatable v2
Definition: inverseModule.f90:28