MOAB  4.9.3pre
Eigen::Homogeneous< MatrixType, _Direction > Class Template Reference

Expression of one (or a set of) homogeneous vector(s) More...

#include <Homogeneous.h>

Inheritance diagram for Eigen::Homogeneous< MatrixType, _Direction >:
Collaboration diagram for Eigen::Homogeneous< MatrixType, _Direction >:

List of all members.

Public Types

enum  { Direction = _Direction }
typedef MatrixType NestedExpression
typedef MatrixBase< HomogeneousBase

Public Member Functions

 Homogeneous (const MatrixType &matrix)
Index rows () const
Index cols () const
const NestedExpressionnestedExpression () const
template<typename Rhs >
const Product< Homogeneous, Rhs > operator* (const MatrixBase< Rhs > &rhs) const
template<typename Func >
EIGEN_STRONG_INLINE
internal::result_of< Func(Scalar,
Scalar)>::type 
redux (const Func &func) const

Protected Attributes

MatrixType::Nested m_matrix

Friends

template<typename Lhs >
const Product< Lhs, Homogeneousoperator* (const MatrixBase< Lhs > &lhs, const Homogeneous &rhs)
template<typename Scalar , int Dim, int Mode, int Options>
const Product< Transform
< Scalar, Dim, Mode, Options >
, Homogeneous
operator* (const Transform< Scalar, Dim, Mode, Options > &lhs, const Homogeneous &rhs)

Detailed Description

template<typename MatrixType, int _Direction>
class Eigen::Homogeneous< MatrixType, _Direction >

Expression of one (or a set of) homogeneous vector(s)

Parameters:
MatrixTypethe type of the object in which we are making homogeneous

This class represents an expression of one (or a set of) homogeneous vector(s). It is the return type of MatrixBase::homogeneous() and most of the time this is the only way it is used.

See also:
MatrixBase::homogeneous()

Definition at line 60 of file Homogeneous.h.


Member Typedef Documentation

template<typename MatrixType, int _Direction>
typedef MatrixBase<Homogeneous> Eigen::Homogeneous< MatrixType, _Direction >::Base

Reimplemented from Eigen::MatrixBase< Homogeneous< MatrixType, _Direction > >.

Definition at line 68 of file Homogeneous.h.

template<typename MatrixType, int _Direction>
typedef MatrixType Eigen::Homogeneous< MatrixType, _Direction >::NestedExpression

Definition at line 65 of file Homogeneous.h.


Member Enumeration Documentation

template<typename MatrixType, int _Direction>
anonymous enum
Enumerator:
Direction 

Definition at line 66 of file Homogeneous.h.

{ Direction = _Direction };

Constructor & Destructor Documentation

template<typename MatrixType, int _Direction>
Eigen::Homogeneous< MatrixType, _Direction >::Homogeneous ( const MatrixType &  matrix) [inline, explicit]

Definition at line 71 of file Homogeneous.h.


Member Function Documentation

template<typename MatrixType, int _Direction>
Index Eigen::Homogeneous< MatrixType, _Direction >::cols ( void  ) const [inline]

Definition at line 76 of file Homogeneous.h.

{ return m_matrix.cols() + (int(Direction)==Horizontal ? 1 : 0); }
template<typename MatrixType, int _Direction>
const NestedExpression& Eigen::Homogeneous< MatrixType, _Direction >::nestedExpression ( ) const [inline]

Definition at line 78 of file Homogeneous.h.

{ return m_matrix; }
template<typename MatrixType, int _Direction>
template<typename Rhs >
const Product<Homogeneous,Rhs> Eigen::Homogeneous< MatrixType, _Direction >::operator* ( const MatrixBase< Rhs > &  rhs) const [inline]

Definition at line 82 of file Homogeneous.h.

    {
      eigen_assert(int(Direction)==Horizontal);
      return Product<Homogeneous,Rhs>(*this,rhs.derived());
    }
template<typename MatrixType, int _Direction>
template<typename Func >
EIGEN_STRONG_INLINE internal::result_of<Func(Scalar,Scalar)>::type Eigen::Homogeneous< MatrixType, _Direction >::redux ( const Func &  func) const [inline]

Definition at line 106 of file Homogeneous.h.

    {
      return func(m_matrix.redux(func), Scalar(1));
    }
template<typename MatrixType, int _Direction>
Index Eigen::Homogeneous< MatrixType, _Direction >::rows ( void  ) const [inline]

Definition at line 75 of file Homogeneous.h.

{ return m_matrix.rows() + (int(Direction)==Vertical   ? 1 : 0); }

Friends And Related Function Documentation

template<typename MatrixType, int _Direction>
template<typename Lhs >
const Product<Lhs,Homogeneous> operator* ( const MatrixBase< Lhs > &  lhs,
const Homogeneous< MatrixType, _Direction > &  rhs 
) [friend]

Definition at line 90 of file Homogeneous.h.

    {
      eigen_assert(int(Direction)==Vertical);
      return Product<Lhs,Homogeneous>(lhs.derived(),rhs);
    }
template<typename MatrixType, int _Direction>
template<typename Scalar , int Dim, int Mode, int Options>
const Product<Transform<Scalar,Dim,Mode,Options>, Homogeneous > operator* ( const Transform< Scalar, Dim, Mode, Options > &  lhs,
const Homogeneous< MatrixType, _Direction > &  rhs 
) [friend]

Definition at line 98 of file Homogeneous.h.

    {
      eigen_assert(int(Direction)==Vertical);
      return Product<Transform<Scalar,Dim,Mode,Options>, Homogeneous>(lhs,rhs);
    }

Member Data Documentation

template<typename MatrixType, int _Direction>
MatrixType::Nested Eigen::Homogeneous< MatrixType, _Direction >::m_matrix [protected]

Definition at line 112 of file Homogeneous.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines