matrixabstractlayervector3jrlmath.hh File Reference
#include <cmath>
#include <jrl/mathtools/vector3.hh>
Include dependency graph for matrixabstractlayervector3jrlmath.hh:
This graph shows which files directly or indirectly include this file:

Macros

#define MAL_S3_VECTOR(name, type)    jrlMathTools::Vector3D<type> name
 
#define MAL_S3_VECTOR_TYPE(type)   jrlMathTools::Vector3D<type>
 
#define MAL_S3_VECTOR_SIZE(name)    3
 
#define MAL_S3_VECTOR_FILL(name, value)
 
#define MAL_S3_VECTOR_CLEAR(name)
 
#define MAL_S3_VECTOR_NORM(name)    name.norm()
 
#define MAL_S3_VECTOR_CROSS_PRODUCT(res, v1, v2)    res = v1 ^ v2;
 
#define MAL_S3_RET_VECTOR_DATABLOCK(name)    &name
 
#define MAL_S3_VECTOR_ACCESS(name, i)    name[i]
 

Typedefs

typedef jrlMathTools::Vector3D< double > vector3d
 

Macro Definition Documentation

◆ MAL_S3_RET_VECTOR_DATABLOCK

#define MAL_S3_RET_VECTOR_DATABLOCK (   name)     &name

◆ MAL_S3_VECTOR

#define MAL_S3_VECTOR (   name,
  type 
)     jrlMathTools::Vector3D<type> name

◆ MAL_S3_VECTOR_ACCESS

#define MAL_S3_VECTOR_ACCESS (   name,
 
)     name[i]

◆ MAL_S3_VECTOR_CLEAR

#define MAL_S3_VECTOR_CLEAR (   name)
Value:
{ name.m_x = 0.0; \
name.m_y = 0.0; \
name.m_z = 0.0; }

◆ MAL_S3_VECTOR_CROSS_PRODUCT

#define MAL_S3_VECTOR_CROSS_PRODUCT (   res,
  v1,
  v2 
)     res = v1 ^ v2;

◆ MAL_S3_VECTOR_FILL

#define MAL_S3_VECTOR_FILL (   name,
  value 
)
Value:
{ name.m_x = value; \
name.m_y = value; \
name.m_z = value; }

◆ MAL_S3_VECTOR_NORM

#define MAL_S3_VECTOR_NORM (   name)     name.norm()

◆ MAL_S3_VECTOR_SIZE

#define MAL_S3_VECTOR_SIZE (   name)     3

◆ MAL_S3_VECTOR_TYPE

#define MAL_S3_VECTOR_TYPE (   type)    jrlMathTools::Vector3D<type>

Typedef Documentation

◆ vector3d

This is a very fast and simple implementation of a 3D vector class of double.