Kindr
Kinematics and Dynamics for Robotics
Vector.hpp File Reference
#include <Eigen/Core>
#include <Eigen/Geometry>
#include "kindr/common/common.hpp"
#include "kindr/common/assert_macros_eigen.hpp"
#include "kindr/vectors/VectorBase.hpp"
#include "kindr/phys_quant/PhysicalType.hpp"
Include dependency graph for Vector.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kindr::Vector< PhysicalType_, PrimType_, Dimension_ >
 Vector in n-dimensional-space. More...
 

Namespaces

 kindr
 

Macros

#define KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_A(FACTOR1, FACTOR2, PRODUCT)
 Specializes multiplication and division traits for the triple (factor1 != factor2) More...
 
#define KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_B(FACTOR1AND2, PRODUCT)
 Specializes multiplication and division traits for the triple (factor1 == factor2) More...
 

Functions

template<enum PhysicalType PhysicalType_, typename PrimTypeFactor_ , typename PrimType_ , int Dimension_>
Vector< PhysicalType_, PrimType_, Dimension_ > kindr::operator* (PrimTypeFactor_ factor, const Vector< PhysicalType_, PrimType_, Dimension_ > &vector)
 Multiplies a vector with a scalar. More...
 

Macro Definition Documentation

◆ KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_A

#define KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_A (   FACTOR1,
  FACTOR2,
  PRODUCT 
)
Value:
template<typename PrimType_, int Dimension_> \
class MultiplicationReturnTypeTrait<Vector<PhysicalType::FACTOR1, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR2, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::PRODUCT, PrimType_, Dimension_> ReturnType; \
}; \
template<typename PrimType_, int Dimension_> \
class MultiplicationReturnTypeTrait<Vector<PhysicalType::FACTOR2, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR1, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::PRODUCT, PrimType_, Dimension_> ReturnType; \
}; \
template<typename PrimType_, int Dimension_> \
class DivisionReturnTypeTrait<Vector<PhysicalType::PRODUCT, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR1, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::FACTOR2, PrimType_, Dimension_> ReturnType; \
}; \
template<typename PrimType_, int Dimension_> \
class DivisionReturnTypeTrait<Vector<PhysicalType::PRODUCT, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR2, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::FACTOR1, PrimType_, Dimension_> ReturnType; \
};

Specializes multiplication and division traits for the triple (factor1 != factor2)

Definition at line 621 of file Vector.hpp.

◆ KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_B

#define KINDR_SPECIALIZE_PHYS_QUANT_RETURN_TYPE_B (   FACTOR1AND2,
  PRODUCT 
)
Value:
template<typename PrimType_, int Dimension_> \
class MultiplicationReturnTypeTrait<Vector<PhysicalType::FACTOR1AND2, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR1AND2, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::PRODUCT, PrimType_, Dimension_> ReturnType; \
}; \
template<typename PrimType_, int Dimension_> \
class DivisionReturnTypeTrait<Vector<PhysicalType::PRODUCT, PrimType_, Dimension_>, Vector<PhysicalType::FACTOR1AND2, PrimType_, Dimension_>> \
{ \
public: \
typedef Vector<PhysicalType::FACTOR1AND2, PrimType_, Dimension_> ReturnType; \
};

Specializes multiplication and division traits for the triple (factor1 == factor2)

Definition at line 649 of file Vector.hpp.