9#ifndef EIGEN_TYPES_HPP_
10#define EIGEN_TYPES_HPP_
38#define e_scalar double
39#define e_vector Eigen::Matrix<e_scalar, Eigen::Dynamic, 1>
40#define e_zero_vector Eigen::Matrix<e_scalar, Eigen::Dynamic, 1>::Zero
41#define e_matrix Eigen::Matrix<e_scalar, Eigen::Dynamic, Eigen::Dynamic>
42#define e_matrix6 Eigen::Matrix<e_scalar,6,6>
43#define e_identity_matrix Eigen::Matrix<e_scalar, Eigen::Dynamic, Eigen::Dynamic>::Identity
44#define e_scalar_vector Eigen::Matrix<e_scalar, Eigen::Dynamic, 1>::Constant
45#define e_zero_matrix Eigen::Matrix<e_scalar, Eigen::Dynamic, Eigen::Dynamic>::Zero
46#define e_random_matrix Eigen::Matrix<e_scalar, Eigen::Dynamic, Eigen::Dynamic>::Random
47#define e_vector6 Eigen::Matrix<e_scalar,6,1>
48#define e_vector3 Eigen::Matrix<e_scalar,3,1>
54 Range(
int _start,
int _count) { start = _start;
count=_count; }
58template<
typename MatrixType>
inline Eigen::Block<MatrixType>
project(MatrixType& m,
Range r)
60 return Eigen::Block<MatrixType>(m,r.
start,0,r.
count,1);
63template<
typename MatrixType>
inline Eigen::Block<MatrixType>
project(MatrixType& m,
Range r,
Range c)
68template<
typename Derived>
inline static int changeBase(Eigen::MatrixBase<Derived>& J,
const Frame& T) {
72 for (
int j = 0; j < J.cols(); ++j) {
73 typename Derived::ColXpr Jj = J.col(j);
75 for(
unsigned int i=0;i<6;++i)
78 for(
unsigned int i=0;i<6;++i)
This class encapsulates a serial kinematic interconnection structure. It is build out of segments.
represents a frame transformation in 3D space (rotation + translation)
This class encapsulates a simple joint, that is with one parameterized degree of freedom and with sca...
represents rotations in 3 dimensional space.
This class encapsulates a simple segment, that is a "rigid body" (i.e., a frame and an inertia) with ...
This class encapsulates a tree kinematic interconnection structure. It is build out of segments.
represents both translational and rotational velocities.
A concrete implementation of a 3 dimensional vector class.
Range(int _start, int _count)
Range(const Range &other)
std::map< std::string, TreeElement, std::less< std::string >, Eigen::aligned_allocator< std::pair< const std::string, TreeElement > > > SegmentMap
static int changeBase(Eigen::MatrixBase< Derived > &J, const Frame &T)
Eigen::Block< MatrixType > project(MatrixType &m, Range r)