Classes | Namespaces | Macros | Functions
eigen/vec_3fx.h File Reference
#include <hpp/fcl/config-fcl.hh>
#include <hpp/fcl/data_types.h>
#include <Eigen/Dense>
#include <Eigen/Geometry>
#include <cmath>
#include <iostream>
#include <limits>
#include <hpp/fcl/eigen/product.h>
Include dependency graph for eigen/vec_3fx.h:

Classes

class  fcl::FclType< Derived >
 
class  Eigen::FclOp< EigenOp >
 
class  Eigen::FclMatrix< T, Cols, _Options >
 Vector3 class wrapper. The core data is in the template parameter class. More...
 
struct  Eigen::internal::traits< FclOp< T > >
 
struct  Eigen::internal::traits< FclMatrix< T, Cols, _Options > >
 
struct  Eigen::internal::remove_fcl< Derived >
 
struct  Eigen::internal::remove_fcl< FclOp< Derived > >
 
struct  Eigen::internal::remove_fcl< const FclOp< Derived > >
 
struct  Eigen::internal::remove_fcl< FclMatrix< T, Col, Options > >
 
struct  Eigen::internal::remove_fcl< const FclMatrix< T, Col, Options > >
 
struct  Eigen::internal::deduce_fcl_type< Derived, OtherDerived, coefwise >
 
struct  Eigen::internal::deduce_fcl_type< Derived, OtherDerived, false >
 
struct  Eigen::internal::deduce_fcl_type< Derived, OtherDerived, true >
 
struct  Eigen::FclProduct< Derived, OtherDerived >
 
struct  Eigen::UnaryReturnType< Derived >
 
struct  Eigen::BinaryReturnType< Derived, OtherDerived >
 
class  Eigen::FclMatrix< T, Cols, _Options >
 Vector3 class wrapper. The core data is in the template parameter class. More...
 
class  Eigen::FclOp< EigenOp >
 

Namespaces

 fcl
 Main namespace.
 
 Eigen
 
 Eigen::internal
 

Macros

#define FCL_CCD_INTERVALVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-vector.h>
 
#define FCL_CCD_MATRIXVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-matrix.h>
 
#define FCL_EIGEN_EXPOSE_PARENT_TYPE(Type)   typedef typename Base::Type Type;
 
#define FCL_EIGEN_MAKE_CWISE_BINARY_OP(METHOD, FUNCTOR)
 
#define FCL_EIGEN_MAKE_CWISE_UNARY_OP(METHOD, FUNCTOR)
 
#define FCL_EIGEN_RENAME_PARENT_METHOD(OLD, NEW, RETTYPE)
 
#define FCL_EIGEN_MAKE_EXPOSE_PARENT1(METHOD)
 
#define FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY1(METHOD)
 
#define FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY_SCALAR1(METHOD)
 
#define FCL_EIGEN_MAKE_GET_COL_ROW()
 
#define FCL_EIGEN_MATRIX_DOT_AXIS(NAME, axis, index)
 
#define FCL_EIGEN_MATRIX_DOT(NAME, FUNC)
 
#define FCL_EIGEN_MAKE_CROSS()
 
#define FCL_EIGEN_MAKE_DOT()
 
#define FCL_EIGEN_CURRENT_CLASS   FclMatrix
 
#define FCL_EIGEN_CURRENT_CLASS   FclOp
 

Functions

template<typename T , int _Options>
static Eigen::FclMatrix< T, 1, _Options > fcl::normalize (const Eigen::FclMatrix< T, 1, _Options > &v)
 
template<typename Derived >
static Derived::Scalar fcl::triple (const FclType< Derived > &x, const FclType< Derived > &y, const FclType< Derived > &z)
 
template<typename Derived , typename OtherDerived >
static const Eigen::BinaryReturnType< const Derived, const OtherDerived >::Min fcl::min (const FclType< Derived > &x, const FclType< OtherDerived > &y)
 
template<typename Derived , typename OtherDerived >
static const Eigen::BinaryReturnType< const Derived, const OtherDerived >::Max fcl::max (const FclType< Derived > &x, const FclType< OtherDerived > &y)
 
template<typename Derived >
static const Eigen::UnaryReturnType< const Derived >::Abs fcl::abs (const FclType< Derived > &x)
 
template<typename Derived >
void fcl::generateCoordinateSystem (FclType< Derived > &_w, FclType< Derived > &_u, FclType< Derived > &_v)
 
template<typename Matrix , typename Vector >
void fcl::hat (Matrix &mat, const Vector &vec)
 
template<typename Matrix , typename Vector >
void fcl::relativeTransform (const Matrix &R1, const Vector &t1, const Matrix &R2, const Vector &t2, Matrix &R, Vector &t)
 
template<typename Matrix , typename Vector >
void fcl::eigen (const FclType< Matrix > &m, typename Matrix::Scalar dout[3], Vector *vout)
 compute the eigen vector and eigen vector of a matrix. dout is the eigen values, vout is the eigen vectors More...
 
template<typename Derived >
Eigen::FclOp< Eigen::Transpose< const typename Eigen::internal::remove_fcl< Derived >::type > > fcl::transpose (const FclType< Derived > &R)
 
template<typename T , int _Options>
Eigen::FclMatrix< T, 3, _Options > fcl::inverse (const Eigen::FclMatrix< T, 3, _Options > &R)
 
template<typename Matrix , typename Vector >
Matrix::Scalar fcl::quadraticForm (const Matrix &R, const Vector &v)
 

Macro Definition Documentation

◆ FCL_CCD_INTERVALVECTOR_PLUGIN

#define FCL_CCD_INTERVALVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-vector.h>
Author
Joseph Mirabel

◆ FCL_CCD_MATRIXVECTOR_PLUGIN

#define FCL_CCD_MATRIXVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-matrix.h>

◆ FCL_EIGEN_CURRENT_CLASS [1/2]

#define FCL_EIGEN_CURRENT_CLASS   FclMatrix

◆ FCL_EIGEN_CURRENT_CLASS [2/2]

#define FCL_EIGEN_CURRENT_CLASS   FclOp

◆ FCL_EIGEN_EXPOSE_PARENT_TYPE

#define FCL_EIGEN_EXPOSE_PARENT_TYPE (   Type)    typedef typename Base::Type Type;

◆ FCL_EIGEN_MAKE_CROSS

#define FCL_EIGEN_MAKE_CROSS ( )
Value:
template<typename OtherDerived> \
EIGEN_STRONG_INLINE typename BinaryReturnType<FCL_EIGEN_CURRENT_CLASS::Base,OtherDerived>::Cross \
cross (const MatrixBase<OtherDerived>& other) const { return this->Base::cross (other); }

Referenced by Eigen::FclMatrix< T, Cols, _Options >::operator-(), and Eigen::FclOp< EigenOp >::operator-().

◆ FCL_EIGEN_MAKE_CWISE_BINARY_OP

#define FCL_EIGEN_MAKE_CWISE_BINARY_OP (   METHOD,
  FUNCTOR 
)
Value:
template <typename OtherDerived> \
EIGEN_STRONG_INLINE const FclOp<const CwiseBinaryOp<FUNCTOR<Scalar>, const typename FCL_EIGEN_CURRENT_CLASS::Base, const OtherDerived> > \
(METHOD) (const MatrixBase<OtherDerived>& other) const \
{ \
return FclOp <const CwiseBinaryOp<FUNCTOR<Scalar>, const typename FCL_EIGEN_CURRENT_CLASS::Base, const OtherDerived> > (*this, other.derived()); \
}

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix(), Eigen::FclOp< EigenOp >::FclOp(), and Eigen::FclOp< EigenOp >::operator!=().

◆ FCL_EIGEN_MAKE_CWISE_UNARY_OP

#define FCL_EIGEN_MAKE_CWISE_UNARY_OP (   METHOD,
  FUNCTOR 
)
Value:
EIGEN_STRONG_INLINE const FclOp<const CwiseUnaryOp<FUNCTOR<Scalar>, const typename FCL_EIGEN_CURRENT_CLASS::Base> > \
(METHOD) (const Scalar& scalar) const \
{ \
return FclOp <const CwiseUnaryOp<FUNCTOR<Scalar>, const typename FCL_EIGEN_CURRENT_CLASS::Base> > (*this, FUNCTOR<Scalar>(scalar)); \
}

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix(), Eigen::FclOp< EigenOp >::FclOp(), Eigen::FclMatrix< T, Cols, _Options >::operator-(), and Eigen::FclOp< EigenOp >::operator-().

◆ FCL_EIGEN_MAKE_DOT

#define FCL_EIGEN_MAKE_DOT ( )
Value:
template <typename OtherDerived> \
EIGEN_STRONG_INLINE Scalar dot (const MatrixBase<OtherDerived>& other) const \
{ return this->Base::dot (other.derived()); }

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix(), and Eigen::FclOp< EigenOp >::FclOp().

◆ FCL_EIGEN_MAKE_EXPOSE_PARENT1

#define FCL_EIGEN_MAKE_EXPOSE_PARENT1 (   METHOD)
Value:
template <typename OtherDerived> \
EIGEN_STRONG_INLINE FclMatrix& (METHOD) (const MatrixBase<OtherDerived>& other) \
{ \
(this->Base::METHOD)(other); return *this; \
}

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix().

◆ FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY1

#define FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY1 (   METHOD)
Value:
template <typename OtherDerived> \
EIGEN_STRONG_INLINE FclMatrix& (METHOD) (const MatrixBase<OtherDerived>& other) \
{ \
(this->array().METHOD)(other.derived().array()); return *this; \
}

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix().

◆ FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY_SCALAR1

#define FCL_EIGEN_MAKE_EXPOSE_PARENT_ARRAY_SCALAR1 (   METHOD)
Value:
EIGEN_STRONG_INLINE FCL_EIGEN_CURRENT_CLASS& (METHOD) (const Scalar& other) \
{ \
(this->array().METHOD)(other); return *this; \
}
#define FCL_EIGEN_CURRENT_CLASS
Definition: eigen/vec_3fx.h:465

Referenced by Eigen::FclMatrix< T, Cols, _Options >::operator-().

◆ FCL_EIGEN_MAKE_GET_COL_ROW

#define FCL_EIGEN_MAKE_GET_COL_ROW ( )
Value:
EIGEN_STRONG_INLINE FclOp<ColXpr> getColumn (size_t i) { return FclOp<ColXpr>(*this, i); } \
EIGEN_STRONG_INLINE FclOp<RowXpr> getRow (size_t i) { return FclOp<RowXpr>(*this, i); } \
EIGEN_STRONG_INLINE FclOp<ConstColXpr> getColumn (size_t i) const { return FclOp<ConstColXpr>(*this, i); } \
EIGEN_STRONG_INLINE FclOp<ConstRowXpr> getRow (size_t i) const { return FclOp<ConstRowXpr>(*this, i); }

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix(), and Eigen::FclOp< EigenOp >::FclOp().

◆ FCL_EIGEN_MATRIX_DOT

#define FCL_EIGEN_MATRIX_DOT (   NAME,
  FUNC 
)
Value:
template<typename OtherDerived> \
EIGEN_STRONG_INLINE Scalar NAME(size_t i, const MatrixBase<OtherDerived>& other) const \
{ \
EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(FCL_EIGEN_CURRENT_CLASS, 3, 3); \
EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived, 3); \
return this->FUNC(i).dot(other); \
} \
FCL_EIGEN_MATRIX_DOT_AXIS(NAME,X,0)\
FCL_EIGEN_MATRIX_DOT_AXIS(NAME,Y,1)\
FCL_EIGEN_MATRIX_DOT_AXIS(NAME,Z,2)
#define FCL_EIGEN_CURRENT_CLASS
Definition: eigen/vec_3fx.h:465

Referenced by Eigen::FclMatrix< T, Cols, _Options >::FclMatrix(), and Eigen::FclOp< EigenOp >::FclOp().

◆ FCL_EIGEN_MATRIX_DOT_AXIS

#define FCL_EIGEN_MATRIX_DOT_AXIS (   NAME,
  axis,
  index 
)
Value:
template<typename OtherDerived> \
EIGEN_STRONG_INLINE Scalar NAME##axis (const MatrixBase<OtherDerived>& other) const \
{ return this->NAME (index, other); }

◆ FCL_EIGEN_RENAME_PARENT_METHOD

#define FCL_EIGEN_RENAME_PARENT_METHOD (   OLD,
  NEW,
  RETTYPE 
)
Value:
template <typename OtherDerived> \
EIGEN_STRONG_INLINE RETTYPE (METHOD) () \
{ \
return (this->Base::METHOD) (); \
}