Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > Class Template Reference

The matrix class, also used for vectors and row-vectors. More...

#include <Matrix.h>

Inheritance diagram for Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { Options = _Options }
enum  { NeedsToAlign }
typedef class Eigen::Map
< Matrix, Aligned > 
AlignedMapType
typedef class Eigen::Map
< Matrix, Unaligned > 
UnalignedMapType

Public Member Functions

const Base & base () const
Base & base ()
EIGEN_STRONG_INLINE const Scalarcoeff (int index) const
EIGEN_STRONG_INLINE const Scalarcoeff (int row, int col) const
EIGEN_STRONG_INLINE ScalarcoeffRef (int index)
EIGEN_STRONG_INLINE ScalarcoeffRef (int row, int col)
EIGEN_STRONG_INLINE int cols () const
EIGEN_STRONG_INLINE Scalardata ()
EIGEN_STRONG_INLINE const Scalardata () const
template<typename OtherDerived >
 Matrix (const RotationBase< OtherDerived, ColsAtCompileTime > &r)
EIGEN_STRONG_INLINE Matrix (const Matrix &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix (const MatrixBase< OtherDerived > &other)
 Matrix (const Scalar *data)
EIGEN_STRONG_INLINE Matrix (const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &w)
EIGEN_STRONG_INLINE Matrix (const Scalar &x, const Scalar &y, const Scalar &z)
EIGEN_STRONG_INLINE Matrix (const double &x, const double &y)
EIGEN_STRONG_INLINE Matrix (const float &x, const float &y)
EIGEN_STRONG_INLINE Matrix (int x, int y)
EIGEN_STRONG_INLINE Matrix (int dim)
 Matrix (ei_constructor_without_unaligned_array_assert)
EIGEN_STRONG_INLINE Matrix ()
template<typename OtherDerived >
Matrixoperator= (const RotationBase< OtherDerived, ColsAtCompileTime > &r)
EIGEN_STRONG_INLINE Matrixoperator= (const Matrix &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrixoperator= (const MatrixBase< OtherDerived > &other)
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (int index) const
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar packet (int row, int col) const
void resize (int size)
void resize (int rows, int cols)
EIGEN_STRONG_INLINE int rows () const
MatrixsetConstant (int rows, int cols, const Scalar &value)
MatrixsetConstant (int size, const Scalar &value)
MatrixsetIdentity (int rows, int cols)
MatrixsetOnes (int rows, int cols)
MatrixsetOnes (int size)
MatrixsetRandom (int rows, int cols)
MatrixsetRandom (int size)
MatrixsetZero (int rows, int cols)
MatrixsetZero (int size)
EIGEN_STRONG_INLINE int stride (void) const
template<typename OtherDerived >
void swap (const MatrixBase< OtherDerived > &other)
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (int index, const PacketScalar &x)
template<int StoreMode>
EIGEN_STRONG_INLINE void writePacket (int row, int col, const PacketScalar &x)
 ~Matrix ()

Static Public Member Functions

Map

These are convenience functions returning Map objects.

Warning:
Do not use MapAligned in the Eigen 2.0. Mapping aligned arrays will be fully supported in Eigen 3.0 (already implemented in the development branch)
See also:
class Map
static UnalignedMapType Map (Scalar *data, int rows, int cols)
static const UnalignedMapType Map (const Scalar *data, int rows, int cols)
static UnalignedMapType Map (Scalar *data, int size)
static const UnalignedMapType Map (const Scalar *data, int size)
static UnalignedMapType Map (Scalar *data)
static const UnalignedMapType Map (const Scalar *data)
static AlignedMapType MapAligned (Scalar *data, int rows, int cols)
static const AlignedMapType MapAligned (const Scalar *data, int rows, int cols)
static AlignedMapType MapAligned (Scalar *data, int size)
static const AlignedMapType MapAligned (const Scalar *data, int size)
static AlignedMapType MapAligned (Scalar *data)
static const AlignedMapType MapAligned (const Scalar *data)

Protected Attributes

ei_matrix_storage< Scalar,
MaxSizeAtCompileTime,
RowsAtCompileTime,
ColsAtCompileTime, Options > 
m_storage

Private Member Functions

template<typename OtherDerived >
EIGEN_STRONG_INLINE void _resize_to_match (const MatrixBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix_set (const MatrixBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix_set_noalias (const MatrixBase< OtherDerived > &other)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const ei_meta_false &)
template<typename OtherDerived >
EIGEN_STRONG_INLINE void _set_selector (const OtherDerived &other, const ei_meta_true &)

Static Private Member Functions

static EIGEN_STRONG_INLINE void _check_template_params ()

Friends

struct ei_matrix_swap_impl
class Eigen::Map< Matrix, Aligned >
class Eigen::Map< Matrix, Unaligned >

Detailed Description

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
class Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >

The matrix class, also used for vectors and row-vectors.

The Matrix class is the work-horse for all dense (note) matrices and vectors within Eigen. Vectors are matrices with one column, and row-vectors are matrices with one row.

The Matrix class encompasses both fixed-size and dynamic-size objects (note).

The first three template parameters are required:

Parameters:
_Scalar Numeric type, i.e. float, double, int
_Rows Number of rows, or Dynamic
_Cols Number of columns, or Dynamic

The remaining template parameters are optional -- in most cases you don't have to worry about them.

Parameters:
_Options A combination of either RowMajor or ColMajor, and of either AutoAlign or DontAlign. The former controls storage order, and defaults to column-major. The latter controls alignment, which is required for vectorization. It defaults to aligning matrices except for fixed sizes that aren't a multiple of the packet size.
_MaxRows Maximum number of rows. Defaults to _Rows (note).
_MaxCols Maximum number of columns. Defaults to _Cols (note).

Eigen provides a number of typedefs covering the usual cases. Here are some examples:

See this page for a complete list of predefined Matrix and Vector typedefs.

You can access elements of vectors and matrices using normal subscripting:

 Eigen::VectorXd v(10);
 v[0] = 0.1;
 v[1] = 0.2;
 v(0) = 0.3;
 v(1) = 0.4;

 Eigen::MatrixXi m(10, 10);
 m(0, 1) = 1;
 m(0, 2) = 2;
 m(0, 3) = 3;

Some notes:

Dense versus sparse:

This Matrix class handles dense, not sparse matrices and vectors. For sparse matrices and vectors, see the Sparse module.

Dense matrices and vectors are plain usual arrays of coefficients. All the coefficients are stored, in an ordinary contiguous array. This is unlike Sparse matrices and vectors where the coefficients are stored as a list of nonzero coefficients.

Fixed-size versus dynamic-size:

Fixed-size means that the numbers of rows and columns are known are compile-time. In this case, Eigen allocates the array of coefficients as a fixed-size array, as a class member. This makes sense for very small matrices, typically up to 4x4, sometimes up to 16x16. Larger matrices should be declared as dynamic-size even if one happens to know their size at compile-time.

Dynamic-size means that the numbers of rows or columns are not necessarily known at compile-time. In this case they are runtime variables, and the array of coefficients is allocated dynamically on the heap.

Note that dense matrices, be they Fixed-size or Dynamic-size, do not expand dynamically in the sense of a std::map. If you want this behavior, see the Sparse module.

_MaxRows and _MaxCols:
In most cases, one just leaves these parameters to the default values. These parameters mean the maximum size of rows and columns that the matrix may have. They are useful in cases when the exact numbers of rows and columns are not known are compile-time, but it is known at compile-time that they cannot exceed a certain value. This happens when taking dynamic-size blocks inside fixed-size matrices: in this case _MaxRows and _MaxCols are the dimensions of the original matrix, while _Rows and _Cols are Dynamic.
See also:
MatrixBase for the majority of the API methods for matrices

Definition at line 127 of file Matrix.h.


Member Typedef Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
typedef class Eigen::Map< Matrix, Aligned > Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::AlignedMapType

Definition at line 136 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
typedef class Eigen::Map< Matrix, Unaligned > Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::UnalignedMapType

Definition at line 134 of file Matrix.h.


Member Enumeration Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
anonymous enum
Enumerator:
Options 

Definition at line 132 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
anonymous enum
Enumerator:
NeedsToAlign 

Definition at line 142 of file Matrix.h.


Constructor & Destructor Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix (  )  [inline, explicit]

Default constructor.

For fixed-size matrices, does nothing.

For dynamic-size matrices, creates an empty matrix of size 0. Does not allocate any array. Such a matrix is called a null matrix. This constructor is the unique way to create null matrices: resizing a matrix to 0 is not supported.

See also:
resize(int,int)

Definition at line 309 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( ei_constructor_without_unaligned_array_assert   )  [inline]

Definition at line 317 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( int  dim  )  [inline, explicit]

Constructs a vector or row-vector with given dimension.

Note that this is only useful for dynamic-size vectors. For fixed-size vectors, it is redundant to pass the dimension here, so it makes more sense to use the default constructor Matrix() instead.

Definition at line 328 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( int  x,
int  y 
) [inline]

This constructor has two very different behaviors, depending on the type of *this.

  • When Matrix is a fixed-size vector type of size 2, this constructor constructs an initialized vector. The parameters x, y are copied into the first and second coords of the vector respectively.
  • Otherwise, this constructor constructs an uninitialized matrix with x rows and y columns. This is useful for dynamic-size matrices. For fixed-size matrices, it is redundant to pass these parameters, so one should use the default constructor Matrix() instead.

Definition at line 348 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const float &  x,
const float &  y 
) [inline]

constructs an initialized 2D vector with given coefficients

Definition at line 365 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const double &  x,
const double &  y 
) [inline]

constructs an initialized 2D vector with given coefficients

Definition at line 373 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const Scalar x,
const Scalar y,
const Scalar z 
) [inline]

constructs an initialized 3D vector with given coefficients

Definition at line 381 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const Scalar x,
const Scalar y,
const Scalar z,
const Scalar w 
) [inline]

constructs an initialized 4D vector with given coefficients

Definition at line 390 of file Matrix.h.

template<typename _Scalar , int _Rows, int _Cols, int _StorageOrder, int _MaxRows, int _MaxCols>
Matrix< _Scalar, _Rows, _Cols, _StorageOrder, _MaxRows, _MaxCols >::Matrix ( const Scalar data  )  [inline, explicit]

Constructor copying an existing array of data. Only for fixed-size matrices and vectors.

Parameters:
data The array of data to copy
See also:
Matrix::Map(const Scalar *)

Definition at line 106 of file Map.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const MatrixBase< OtherDerived > &  other  )  [inline]

Constructor copying the value of the expression other

Definition at line 404 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Matrix ( const Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &  other  )  [inline]

Copy constructor

Definition at line 411 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::~Matrix (  )  [inline]

Destructor

Definition at line 418 of file Matrix.h.

template<typename _Scalar , int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols >::Matrix ( const RotationBase< OtherDerived, ColsAtCompileTime > &  r  )  [inline, explicit]

Constructs a Dim x Dim rotation matrix from the rotation r

Definition at line 78 of file RotationBase.h.


Member Function Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_check_template_params (  )  [inline, static, private]

Definition at line 557 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_resize_to_match ( const MatrixBase< OtherDerived > &  other  )  [inline, private]

Definition at line 502 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set ( const MatrixBase< OtherDerived > &  other  )  [inline, private]

Definition at line 529 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_noalias ( const MatrixBase< OtherDerived > &  other  )  [inline, private]

Definition at line 549 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_selector ( const OtherDerived &  other,
const ei_meta_false  
) [inline, private]

Definition at line 541 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::_set_selector ( const OtherDerived &  other,
const ei_meta_true  
) [inline, private]

Definition at line 538 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
const Base& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::base (  )  const [inline]

Definition at line 147 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
Base& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::base (  )  [inline]

Definition at line 146 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE const Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeff ( int  index  )  const [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE const Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeff ( int  row,
int  col 
) const [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef ( int  index  )  [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Scalar& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::coeffRef ( int  row,
int  col 
) [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::cols (  )  const [inline]
Returns:
the number of columns.
See also:
rows(), ColsAtCompileTime

Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 150 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Scalar* Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::data (  )  [inline]
Returns:
a pointer to the data array of this matrix

Definition at line 221 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE const Scalar* Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::data (  )  const [inline]
Returns:
a const pointer to the data array of this matrix

Definition at line 217 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( Scalar data,
int  rows,
int  cols 
) [inline, static]

Definition at line 445 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( const Scalar data,
int  rows,
int  cols 
) [inline, static]

Definition at line 443 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( Scalar data,
int  size 
) [inline, static]

Definition at line 441 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( const Scalar data,
int  size 
) [inline, static]

Definition at line 439 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( Scalar data  )  [inline, static]

Definition at line 437 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const UnalignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::Map ( const Scalar data  )  [inline, static]

Definition at line 435 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( Scalar data,
int  rows,
int  cols 
) [inline, static]

Definition at line 458 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( const Scalar data,
int  rows,
int  cols 
) [inline, static]

Definition at line 456 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( Scalar data,
int  size 
) [inline, static]

Definition at line 454 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( const Scalar data,
int  size 
) [inline, static]

Definition at line 452 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( Scalar data  )  [inline, static]

Definition at line 450 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
static const AlignedMapType Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::MapAligned ( const Scalar data  )  [inline, static]

Definition at line 448 of file Matrix.h.

template<typename _Scalar , int _Rows, int _Cols, int _Storage, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Storage, _MaxRows, _MaxCols >::operator= ( const RotationBase< OtherDerived, ColsAtCompileTime > &  r  )  [inline]

Set a Dim x Dim rotation matrix from the rotation r

Definition at line 92 of file RotationBase.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= ( const Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > &  other  )  [inline]

This is a special case of the templated operator=. Its purpose is to prevent a default operator= from hiding the templated operator=.

Definition at line 289 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
EIGEN_STRONG_INLINE Matrix& Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::operator= ( const MatrixBase< OtherDerived > &  other  )  [inline]

Copies the value of the expression other into *this with automatic resizing.

*this might be resized to match the dimensions of other. If *this was a null matrix (not already initialized), it will be initialized.

Note that copying a row-vector into a vector (and conversely) is allowed. The resizing, if any, is then done in the appropriate way so that row-vectors remain row-vectors and vectors remain vectors.

Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 281 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::packet ( int  index  )  const [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<int LoadMode>
EIGEN_STRONG_INLINE PacketScalar Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::packet ( int  row,
int  col 
) const [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::resize ( int  size  )  [inline]

Resizes *this to a vector of length size

See also:
resize(int,int) for the details.

Definition at line 255 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::resize ( int  rows,
int  cols 
) [inline]

Resizes *this to a rows x cols matrix.

Makes sense for dynamic-size matrices only.

If the current number of coefficients of *this exactly matches the product rows * cols, then no memory allocation is performed and the current values are left unchanged. In all other cases, including shrinking, the data is reallocated and all previous values are lost.

See also:
resize(int) for vectors.

Definition at line 235 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::rows (  )  const [inline]
Returns:
the number of rows.
See also:
cols(), RowsAtCompileTime

Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 149 of file Matrix.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setConstant ( int  rows,
int  cols,
const Scalar value 
) [inline]

Resizes to the given size, and sets all coefficients in this expression to the given value.

Parameters:
rows the new number of rows
cols the new number of columns

Example:

Output:

See also:
MatrixBase::setConstant(const Scalar&), setConstant(int,const Scalar&), class CwiseNullaryOp, MatrixBase::Constant(const Scalar&)

Definition at line 302 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setConstant ( int  size,
const Scalar value 
) [inline]

Resizes to the given size, and sets all coefficients in this expression to the given value.

Example:

Output:

See also:
MatrixBase::setConstant(const Scalar&), setConstant(int,int,const Scalar&), class CwiseNullaryOp, MatrixBase::Constant(const Scalar&)

Definition at line 284 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setIdentity ( int  rows,
int  cols 
) [inline]

Resizes to the given size, and writes the identity expression (not necessarily square) into *this.

Parameters:
rows the new number of rows
cols the new number of columns

Example:

Output:

See also:
MatrixBase::setIdentity(), class CwiseNullaryOp, MatrixBase::Identity()

Definition at line 689 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setOnes ( int  rows,
int  cols 
) [inline]

Resizes to the given size, and sets all coefficients in this expression to one.

Parameters:
rows the new number of rows
cols the new number of columns

Example:

Output:

See also:
MatrixBase::setOnes(), setOnes(int), class CwiseNullaryOp, MatrixBase::Ones()

Definition at line 562 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setOnes ( int  size  )  [inline]

Resizes to the given size, and sets all coefficients in this expression to one.

Example:

Output:

See also:
MatrixBase::setOnes(), setOnes(int,int), class CwiseNullaryOp, MatrixBase::Ones()

Definition at line 544 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setRandom ( int  rows,
int  cols 
) [inline]

Resizes to the given size, and sets all coefficients in this expression to random values.

Parameters:
rows the new number of rows
cols the new number of columns

Example:

Output:

See also:
MatrixBase::setRandom(), setRandom(int), class CwiseNullaryOp, MatrixBase::Random()

Definition at line 150 of file Random.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setRandom ( int  size  )  [inline]

Resizes to the given size, and sets all coefficients in this expression to random values.

Example:

Output:

See also:
MatrixBase::setRandom(), setRandom(int,int), class CwiseNullaryOp, MatrixBase::Random()

Definition at line 132 of file Random.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setZero ( int  rows,
int  cols 
) [inline]

Resizes to the given size, and sets all coefficients in this expression to zero.

Parameters:
rows the new number of rows
cols the new number of columns

Example:

Output:

See also:
MatrixBase::setZero(), setZero(int), class CwiseNullaryOp, MatrixBase::Zero()

Definition at line 434 of file CwiseNullaryOp.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::setZero ( int  size  )  [inline]

Resizes to the given size, and sets all coefficients in this expression to zero.

Example:

Output:

See also:
MatrixBase::setZero(), setZero(int,int), class CwiseNullaryOp, MatrixBase::Zero()

Definition at line 416 of file CwiseNullaryOp.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
EIGEN_STRONG_INLINE int Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::stride ( void   )  const [inline]
Returns:
number of elements to skip to pass from one row (resp. column) to another for a row-major (resp. column-major) matrix. Combined with coeffRef() and the flags flags, it allows a direct access to the data of the underlying matrix.

Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 152 of file Matrix.h.

template<typename _Scalar , int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<typename OtherDerived >
void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::swap ( const MatrixBase< OtherDerived > &  other  )  [inline]

Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers.

Reimplemented from MatrixBase< Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >.

Definition at line 593 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<int StoreMode>
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::writePacket ( int  index,
const PacketScalar x 
) [inline]
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
template<int StoreMode>
EIGEN_STRONG_INLINE void Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::writePacket ( int  row,
int  col,
const PacketScalar x 
) [inline]

Friends And Related Function Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
friend struct ei_matrix_swap_impl [friend]

Definition at line 568 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
friend class Eigen::Map< Matrix, Aligned > [friend]

Definition at line 135 of file Matrix.h.

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
friend class Eigen::Map< Matrix, Unaligned > [friend]

Definition at line 133 of file Matrix.h.


Member Data Documentation

template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
ei_matrix_storage<Scalar, MaxSizeAtCompileTime, RowsAtCompileTime, ColsAtCompileTime, Options> Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >::m_storage [protected]

Definition at line 139 of file Matrix.h.


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


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:22:06 2013