Classes | Namespaces | Defines | Functions
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 >
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

namespace  fcl
 

Main namespace.


namespace  Eigen
namespace  Eigen::internal

Defines

#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
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)

Define Documentation

#define FCL_CCD_INTERVALVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-vector.h>
Author:
Joseph Mirabel
#define FCL_CCD_MATRIXVECTOR_PLUGIN   <hpp/fcl/eigen/plugins/ccd/interval-matrix.h>
#define FCL_EIGEN_CURRENT_CLASS   FclMatrix
#define FCL_EIGEN_CURRENT_CLASS   FclOp
#define FCL_EIGEN_EXPOSE_PARENT_TYPE (   Type)    typedef typename Base::Type Type;
#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); }
#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()); \
      }
#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)); \
      }
#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()); }
#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; \
      }
#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; \
      }
#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_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); }
#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_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); }
#define FCL_EIGEN_RENAME_PARENT_METHOD (   OLD,
  NEW,
  RETTYPE 
)
Value:
template <typename OtherDerived> \
      EIGEN_STRONG_INLINE RETTYPE (METHOD) () \
      { \
        return (this->Base::METHOD) (); \
      }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines