Dense storage base class for matrices and arrays. More...
#include <PlainObjectBase.h>
Classes | |
struct | StridedAlignedMapType |
struct | StridedConstAlignedMapType |
struct | StridedConstMapType |
struct | StridedMapType |
Public Types | |
enum | { Options = internal::traits<Derived>::Options } |
enum | { NeedsToAlign } |
typedef Eigen::Map< Derived, Aligned > | AlignedMapType |
typedef internal::dense_xpr_base < Derived >::type | Base |
typedef const Eigen::Map < const Derived, Aligned > | ConstAlignedMapType |
typedef const Eigen::Map < const Derived, Unaligned > | ConstMapType |
typedef Derived | DenseType |
typedef internal::traits < Derived >::Index | Index |
typedef Eigen::Map< Derived, Unaligned > | MapType |
typedef internal::packet_traits < Scalar >::type | PacketScalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef internal::traits < Derived >::Scalar | Scalar |
typedef internal::traits < Derived >::StorageKind | StorageKind |
Public Member Functions | |
Base & | base () |
const Base & | base () const |
EIGEN_STRONG_INLINE const Scalar & | coeff (Index row, Index col) const |
EIGEN_STRONG_INLINE const Scalar & | coeff (Index index) const |
EIGEN_STRONG_INLINE Scalar & | coeffRef (Index row, Index col) |
EIGEN_STRONG_INLINE Scalar & | coeffRef (Index index) |
EIGEN_STRONG_INLINE const Scalar & | coeffRef (Index row, Index col) const |
EIGEN_STRONG_INLINE const Scalar & | coeffRef (Index index) const |
EIGEN_STRONG_INLINE Index | cols () const |
EIGEN_STRONG_INLINE void | conservativeResize (Index rows, Index cols) |
EIGEN_STRONG_INLINE void | conservativeResize (Index rows, NoChange_t) |
EIGEN_STRONG_INLINE void | conservativeResize (NoChange_t, Index cols) |
EIGEN_STRONG_INLINE void | conservativeResize (Index size) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE const Scalar * | data () const |
EIGEN_STRONG_INLINE Scalar * | data () |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | lazyAssign (const DenseBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE Derived & | operator= (const PlainObjectBase &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator= (const ReturnByValue< OtherDerived > &func) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | operator= (const EigenBase< OtherDerived > &other) |
template<int LoadMode> | |
EIGEN_STRONG_INLINE PacketScalar | packet (Index row, Index col) const |
template<int LoadMode> | |
EIGEN_STRONG_INLINE PacketScalar | packet (Index index) const |
EIGEN_STRONG_INLINE | PlainObjectBase () |
PlainObjectBase (internal::constructor_without_unaligned_array_assert) | |
EIGEN_STRONG_INLINE | PlainObjectBase (Index size, Index rows, Index cols) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | PlainObjectBase (const EigenBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE void | resize (Index rows, Index cols) |
void | resize (Index size) |
void | resize (NoChange_t, Index cols) |
void | resize (Index rows, NoChange_t) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | resizeLike (const EigenBase< OtherDerived > &_other) |
EIGEN_STRONG_INLINE Index | rows () const |
Derived & | setConstant (Index size, const Scalar &value) |
Derived & | setConstant (Index rows, Index cols, const Scalar &value) |
Derived & | setOnes (Index size) |
Derived & | setOnes (Index rows, Index cols) |
Derived & | setRandom (Index size) |
Derived & | setRandom (Index rows, Index cols) |
Derived & | setZero (Index size) |
Derived & | setZero (Index rows, Index cols) |
template<int StoreMode> | |
EIGEN_STRONG_INLINE void | writePacket (Index row, Index col, const PacketScalar &x) |
template<int StoreMode> | |
EIGEN_STRONG_INLINE void | writePacket (Index index, const PacketScalar &x) |
Static Public Member Functions | |
static EIGEN_STRONG_INLINE void | _check_template_params () |
Map | |
These are convenience functions returning Map objects. The Map() static functions return unaligned Map objects, while the AlignedMap() functions return aligned Map objects and thus should be called only with 16-byte-aligned data pointers. These methods do not allow to specify strides. If you need to specify strides, you have to use the Map class directly.
| |
static ConstMapType | Map (const Scalar *data) |
static MapType | Map (Scalar *data) |
static ConstMapType | Map (const Scalar *data, Index size) |
static MapType | Map (Scalar *data, Index size) |
static ConstMapType | Map (const Scalar *data, Index rows, Index cols) |
static MapType | Map (Scalar *data, Index rows, Index cols) |
static ConstAlignedMapType | MapAligned (const Scalar *data) |
static AlignedMapType | MapAligned (Scalar *data) |
static ConstAlignedMapType | MapAligned (const Scalar *data, Index size) |
static AlignedMapType | MapAligned (Scalar *data, Index size) |
static ConstAlignedMapType | MapAligned (const Scalar *data, Index rows, Index cols) |
static AlignedMapType | MapAligned (Scalar *data, Index rows, Index cols) |
template<int Outer, int Inner> | |
static StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedConstMapType < Stride< Outer, Inner > >::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedMapType< Stride < Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedConstAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
template<int Outer, int Inner> | |
static StridedAlignedMapType < Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
Protected Member Functions | |
template<typename T0 , typename T1 > | |
EIGEN_STRONG_INLINE void | _init2 (Index rows, Index cols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0) |
template<typename T0 , typename T1 > | |
EIGEN_STRONG_INLINE void | _init2 (const Scalar &x, const Scalar &y, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _resize_to_match (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | _set (const DenseBase< OtherDerived > &other) |
Copies the value of the expression other into *this with automatic resizing. | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Derived & | _set_noalias (const DenseBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const internal::true_type &) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const internal::false_type &) |
template<typename OtherDerived > | |
void | _swap (DenseBase< OtherDerived > const &other) |
Protected Attributes | |
DenseStorage< Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options > | m_storage |
Private Types | |
enum | { ThisConstantIsPrivateInPlainObjectBase } |
Friends | |
class | Eigen::Map |
class | Eigen::Map< const Derived, Aligned > |
class | Eigen::Map< const Derived, Unaligned > |
class | Eigen::Map< Derived, Aligned > |
class | Eigen::Map< Derived, Unaligned > |
struct | internal::matrix_swap_impl |
Dense storage base class for matrices and arrays.
This class can be extended with the help of the plugin mechanism described on the page Customizing/Extending Eigen by defining the preprocessor symbol EIGEN_PLAINOBJECTBASE_PLUGIN
.
Definition at line 52 of file PlainObjectBase.h.
typedef Eigen::Map<Derived, Aligned> PlainObjectBase< Derived >::AlignedMapType |
Definition at line 80 of file PlainObjectBase.h.
typedef internal::dense_xpr_base<Derived>::type PlainObjectBase< Derived >::Base |
Reimplemented in GeneralProduct< Lhs, Rhs, InnerProduct >, Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Matrix< Scalar, MatrixType::RowsAtCompileTime, MinSize >, Matrix< int, 1, MatrixType::ColsAtCompileTime >, Matrix< int, MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, RowsAtCompileTime, 1, Options, MaxRowsAtCompileTime, 1 >, Matrix< double, D, VertexXiType::Dimension >, Matrix< int, 1, _MatrixType::ColsAtCompileTime >, Matrix< int, _MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, 4, 1 >, Matrix< Scalar, HDim, HDim >, Matrix< double, D, Di >, Matrix< Scalar, 3, 1 >, Matrix< internal::scalar_product_traits< Lhs::Scalar, Rhs::Scalar >::ReturnType, 1, 1 >, Matrix< double, D, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &(~RowMajor), MaxColsAtCompileTime, 1 >, Matrix< double, 2, 1 >, Matrix< Scalar, 1, Size, Options|RowMajor, 1, MaxSize >, Matrix< double, Dim, 1 >, Matrix< Scalar, Dynamic, Dynamic >, Matrix< Scalar, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime >, Matrix< Scalar, Dynamic, 1 >, Matrix< double, 5, 1 >, Matrix< RealScalar, Dynamic, Dynamic >, Matrix< RootType, _Deg, 1 >, Matrix< Scalar, Dim, 1 >, Matrix< Scalar, MinSize, 1 >, Matrix< Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime >, Matrix< double, 3, 4 >, Matrix< Scalar, SizeMinusOne, 1, Options &~RowMajor, MaxSizeMinusOne, 1 >, Matrix< float, 3, 3 >, Matrix< Index, Dynamic, 1 >, Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< Scalar, _MatrixType::ColsAtCompileTime, 1 >, Matrix< float, 2, 2, DontAlign >, Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime >, Matrix< float, 2, 6 >, Matrix< double, D, Dj >, Matrix< Scalar, int(AmbientDimAtCompileTime)==Dynamic?Dynamic:int(AmbientDimAtCompileTime)+1, 1 >, Matrix< Index, Traits::RowsAtCompileTime, 1 >, Matrix< ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, AmbientDimAtCompileTime, 1 >, Matrix< double, D, D >, Matrix< Scalar, Deg_1, 1 >, Matrix< Scalar, Deg, 1 >, Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >, Matrix< Scalar, MatrixType::ColsAtCompileTime, 1 >, and Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >.
Definition at line 56 of file PlainObjectBase.h.
typedef const Eigen::Map<const Derived, Aligned> PlainObjectBase< Derived >::ConstAlignedMapType |
Definition at line 82 of file PlainObjectBase.h.
typedef const Eigen::Map<const Derived, Unaligned> PlainObjectBase< Derived >::ConstMapType |
Definition at line 78 of file PlainObjectBase.h.
typedef Derived PlainObjectBase< Derived >::DenseType |
Definition at line 63 of file PlainObjectBase.h.
typedef internal::traits<Derived>::Index PlainObjectBase< Derived >::Index |
Definition at line 59 of file PlainObjectBase.h.
typedef Eigen::Map<Derived, Unaligned> PlainObjectBase< Derived >::MapType |
Definition at line 76 of file PlainObjectBase.h.
typedef internal::packet_traits<Scalar>::type PlainObjectBase< Derived >::PacketScalar |
Definition at line 61 of file PlainObjectBase.h.
typedef NumTraits<Scalar>::Real PlainObjectBase< Derived >::RealScalar |
Definition at line 62 of file PlainObjectBase.h.
typedef internal::traits<Derived>::Scalar PlainObjectBase< Derived >::Scalar |
Definition at line 60 of file PlainObjectBase.h.
typedef internal::traits<Derived>::StorageKind PlainObjectBase< Derived >::StorageKind |
Definition at line 58 of file PlainObjectBase.h.
anonymous enum |
Definition at line 55 of file PlainObjectBase.h.
anonymous enum |
Definition at line 93 of file PlainObjectBase.h.
anonymous enum [private] |
Definition at line 629 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE PlainObjectBase< Derived >::PlainObjectBase | ( | ) | [inline, explicit] |
Definition at line 381 of file PlainObjectBase.h.
PlainObjectBase< Derived >::PlainObjectBase | ( | internal::constructor_without_unaligned_array_assert | ) | [inline] |
Definition at line 390 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE PlainObjectBase< Derived >::PlainObjectBase | ( | Index | size, |
Index | rows, | ||
Index | cols | ||
) | [inline] |
Definition at line 397 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE PlainObjectBase< Derived >::PlainObjectBase | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
Definition at line 416 of file PlainObjectBase.h.
static EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_check_template_params | ( | ) | [inline, static] |
Definition at line 613 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_init2 | ( | Index | rows, |
Index | cols, | ||
typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type * | = 0 |
||
) | [inline, protected] |
Definition at line 583 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_init2 | ( | const Scalar & | x, |
const Scalar & | y, | ||
typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type * | = 0 |
||
) | [inline, protected] |
Definition at line 591 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_resize_to_match | ( | const EigenBase< OtherDerived > & | other | ) | [inline, protected] |
Definition at line 528 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::_set | ( | const DenseBase< OtherDerived > & | other | ) | [inline, protected] |
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.
Definition at line 554 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::_set_noalias | ( | const DenseBase< OtherDerived > & | other | ) | [inline, protected] |
Definition at line 572 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_set_selector | ( | const OtherDerived & | other, |
const internal::true_type & | |||
) | [inline, protected] |
Definition at line 561 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::_set_selector | ( | const OtherDerived & | other, |
const internal::false_type & | |||
) | [inline, protected] |
Definition at line 564 of file PlainObjectBase.h.
void PlainObjectBase< Derived >::_swap | ( | DenseBase< OtherDerived > const & | other | ) | [inline, protected] |
Definition at line 605 of file PlainObjectBase.h.
Base& PlainObjectBase< Derived >::base | ( | ) | [inline] |
Definition at line 97 of file PlainObjectBase.h.
const Base& PlainObjectBase< Derived >::base | ( | ) | const [inline] |
Definition at line 98 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE const Scalar& PlainObjectBase< Derived >::coeff | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 103 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE const Scalar& PlainObjectBase< Derived >::coeff | ( | Index | index | ) | const [inline] |
Definition at line 111 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Scalar& PlainObjectBase< Derived >::coeffRef | ( | Index | row, |
Index | col | ||
) | [inline] |
Definition at line 116 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Scalar& PlainObjectBase< Derived >::coeffRef | ( | Index | index | ) | [inline] |
Definition at line 124 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE const Scalar& PlainObjectBase< Derived >::coeffRef | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 129 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE const Scalar& PlainObjectBase< Derived >::coeffRef | ( | Index | index | ) | const [inline] |
Definition at line 137 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Index PlainObjectBase< Derived >::cols | ( | void | ) | const [inline] |
Definition at line 101 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::conservativeResize | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Resizes the matrix to rows x cols while leaving old values untouched.
The method is intended for matrices of dynamic size. If you only want to change the number of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or conservativeResize(Index, NoChange_t).
Matrices are resized relative to the top-left element. In case values need to be appended to the matrix they will be uninitialized.
Definition at line 299 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::conservativeResize | ( | Index | rows, |
NoChange_t | |||
) | [inline] |
Resizes the matrix to rows x cols while leaving old values untouched.
As opposed to conservativeResize(Index rows, Index cols), this version leaves the number of columns unchanged.
In case the matrix is growing, new rows will be uninitialized.
Definition at line 311 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::conservativeResize | ( | NoChange_t | , |
Index | cols | ||
) | [inline] |
Resizes the matrix to rows x cols while leaving old values untouched.
As opposed to conservativeResize(Index rows, Index cols), this version leaves the number of rows unchanged.
In case the matrix is growing, new columns will be uninitialized.
Definition at line 324 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::conservativeResize | ( | Index | size | ) | [inline] |
Resizes the vector to size while retaining old values.
. This method does not work for partially dynamic matrices when the static dimension is anything other than 1. For example it will not work with Matrix<double, 2, Dynamic>.
When values are appended, they will be uninitialized.
Definition at line 338 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::conservativeResizeLike | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Resizes the matrix to rows x cols of other
, while leaving old values untouched.
The method is intended for matrices of dynamic size. If you only want to change the number of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or conservativeResize(Index, NoChange_t).
Matrices are resized relative to the top-left element. In case values need to be appended to the matrix they will copied from other
.
Definition at line 353 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE const Scalar* PlainObjectBase< Derived >::data | ( | ) | const [inline] |
Definition at line 177 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Scalar* PlainObjectBase< Derived >::data | ( | ) | [inline] |
Definition at line 181 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::lazyAssign | ( | const DenseBase< OtherDerived > & | other | ) | [inline] |
Definition at line 368 of file PlainObjectBase.h.
static ConstMapType PlainObjectBase< Derived >::Map | ( | const Scalar * | data | ) | [inline, static] |
Definition at line 434 of file PlainObjectBase.h.
static MapType PlainObjectBase< Derived >::Map | ( | Scalar * | data | ) | [inline, static] |
Definition at line 436 of file PlainObjectBase.h.
static ConstMapType PlainObjectBase< Derived >::Map | ( | const Scalar * | data, |
Index | size | ||
) | [inline, static] |
Definition at line 438 of file PlainObjectBase.h.
static MapType PlainObjectBase< Derived >::Map | ( | Scalar * | data, |
Index | size | ||
) | [inline, static] |
Definition at line 440 of file PlainObjectBase.h.
static ConstMapType PlainObjectBase< Derived >::Map | ( | const Scalar * | data, |
Index | rows, | ||
Index | cols | ||
) | [inline, static] |
Definition at line 442 of file PlainObjectBase.h.
static MapType PlainObjectBase< Derived >::Map | ( | Scalar * | data, |
Index | rows, | ||
Index | cols | ||
) | [inline, static] |
Definition at line 444 of file PlainObjectBase.h.
static StridedConstMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | const Scalar * | data, |
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 461 of file PlainObjectBase.h.
static StridedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | Scalar * | data, |
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 464 of file PlainObjectBase.h.
static StridedConstMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | const Scalar * | data, |
Index | size, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 467 of file PlainObjectBase.h.
static StridedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | Scalar * | data, |
Index | size, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 470 of file PlainObjectBase.h.
static StridedConstMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | const Scalar * | data, |
Index | rows, | ||
Index | cols, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 473 of file PlainObjectBase.h.
static StridedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::Map | ( | Scalar * | data, |
Index | rows, | ||
Index | cols, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 476 of file PlainObjectBase.h.
static ConstAlignedMapType PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data | ) | [inline, static] |
Definition at line 447 of file PlainObjectBase.h.
static AlignedMapType PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data | ) | [inline, static] |
Definition at line 449 of file PlainObjectBase.h.
static ConstAlignedMapType PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data, |
Index | size | ||
) | [inline, static] |
Definition at line 451 of file PlainObjectBase.h.
static AlignedMapType PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data, |
Index | size | ||
) | [inline, static] |
Definition at line 453 of file PlainObjectBase.h.
static ConstAlignedMapType PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data, |
Index | rows, | ||
Index | cols | ||
) | [inline, static] |
Definition at line 455 of file PlainObjectBase.h.
static AlignedMapType PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data, |
Index | rows, | ||
Index | cols | ||
) | [inline, static] |
Definition at line 457 of file PlainObjectBase.h.
static StridedConstAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data, |
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 480 of file PlainObjectBase.h.
static StridedAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data, |
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 483 of file PlainObjectBase.h.
static StridedConstAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data, |
Index | size, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 486 of file PlainObjectBase.h.
static StridedAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data, |
Index | size, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 489 of file PlainObjectBase.h.
static StridedConstAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | const Scalar * | data, |
Index | rows, | ||
Index | cols, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 492 of file PlainObjectBase.h.
static StridedAlignedMapType<Stride<Outer, Inner> >::type PlainObjectBase< Derived >::MapAligned | ( | Scalar * | data, |
Index | rows, | ||
Index | cols, | ||
const Stride< Outer, Inner > & | stride | ||
) | [inline, static] |
Definition at line 495 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::operator= | ( | const PlainObjectBase< Derived > & | 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 361 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::operator= | ( | const ReturnByValue< OtherDerived > & | func | ) | [inline] |
Reimplemented in Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Matrix< Scalar, MatrixType::RowsAtCompileTime, MinSize >, Matrix< int, 1, MatrixType::ColsAtCompileTime >, Matrix< int, MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, RowsAtCompileTime, 1, Options, MaxRowsAtCompileTime, 1 >, Matrix< double, D, VertexXiType::Dimension >, Matrix< int, 1, _MatrixType::ColsAtCompileTime >, Matrix< int, _MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, 4, 1 >, Matrix< Scalar, HDim, HDim >, Matrix< double, D, Di >, Matrix< Scalar, 3, 1 >, Matrix< internal::scalar_product_traits< Lhs::Scalar, Rhs::Scalar >::ReturnType, 1, 1 >, Matrix< double, D, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &(~RowMajor), MaxColsAtCompileTime, 1 >, Matrix< double, 2, 1 >, Matrix< Scalar, 1, Size, Options|RowMajor, 1, MaxSize >, Matrix< double, Dim, 1 >, Matrix< Scalar, Dynamic, Dynamic >, Matrix< Scalar, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime >, Matrix< Scalar, Dynamic, 1 >, Matrix< double, 5, 1 >, Matrix< RealScalar, Dynamic, Dynamic >, Matrix< RootType, _Deg, 1 >, Matrix< Scalar, Dim, 1 >, Matrix< Scalar, MinSize, 1 >, Matrix< Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime >, Matrix< double, 3, 4 >, Matrix< Scalar, SizeMinusOne, 1, Options &~RowMajor, MaxSizeMinusOne, 1 >, Matrix< float, 3, 3 >, Matrix< Index, Dynamic, 1 >, Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< Scalar, _MatrixType::ColsAtCompileTime, 1 >, Matrix< float, 2, 2, DontAlign >, Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime >, Matrix< float, 2, 6 >, Matrix< double, D, Dj >, Matrix< Scalar, int(AmbientDimAtCompileTime)==Dynamic?Dynamic:int(AmbientDimAtCompileTime)+1, 1 >, Matrix< Index, Traits::RowsAtCompileTime, 1 >, Matrix< ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, AmbientDimAtCompileTime, 1 >, Matrix< double, D, D >, Matrix< Scalar, Deg_1, 1 >, Matrix< Scalar, Deg, 1 >, Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >, and Matrix< Scalar, MatrixType::ColsAtCompileTime, 1 >.
Definition at line 375 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived& PlainObjectBase< Derived >::operator= | ( | const EigenBase< OtherDerived > & | other | ) | [inline] |
Copies the generic expression other into *this.
The expression must provide a (templated) evalTo(Derived& dst) const function which does the actual job. In practice, this allows any user to write its own special matrix without having to modify MatrixBase
Reimplemented in Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Matrix< Scalar, MatrixType::RowsAtCompileTime, MinSize >, Matrix< int, 1, MatrixType::ColsAtCompileTime >, Matrix< int, MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, RowsAtCompileTime, 1, Options, MaxRowsAtCompileTime, 1 >, Matrix< double, D, VertexXiType::Dimension >, Matrix< int, 1, _MatrixType::ColsAtCompileTime >, Matrix< int, _MatrixType::RowsAtCompileTime, 1 >, Matrix< Scalar, 4, 1 >, Matrix< Scalar, HDim, HDim >, Matrix< double, D, Di >, Matrix< Scalar, 3, 1 >, Matrix< internal::scalar_product_traits< Lhs::Scalar, Rhs::Scalar >::ReturnType, 1, 1 >, Matrix< double, D, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &(~RowMajor), MaxColsAtCompileTime, 1 >, Matrix< double, 2, 1 >, Matrix< Scalar, 1, Size, Options|RowMajor, 1, MaxSize >, Matrix< double, Dim, 1 >, Matrix< Scalar, Dynamic, Dynamic >, Matrix< Scalar, MatrixType::ColsAtCompileTime, MatrixType::ColsAtCompileTime >, Matrix< Scalar, Dynamic, 1 >, Matrix< double, 5, 1 >, Matrix< RealScalar, Dynamic, Dynamic >, Matrix< RootType, _Deg, 1 >, Matrix< Scalar, Dim, 1 >, Matrix< Scalar, MinSize, 1 >, Matrix< Scalar, DiagSizeAtCompileTime, DiagSizeAtCompileTime, MatrixOptions, MaxDiagSizeAtCompileTime, MaxDiagSizeAtCompileTime >, Matrix< double, 3, 4 >, Matrix< Scalar, SizeMinusOne, 1, Options &~RowMajor, MaxSizeMinusOne, 1 >, Matrix< float, 3, 3 >, Matrix< Index, Dynamic, 1 >, Matrix< Scalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< ComplexScalar, ColsAtCompileTime, 1, Options &~RowMajor, MaxColsAtCompileTime, 1 >, Matrix< Scalar, _MatrixType::ColsAtCompileTime, 1 >, Matrix< float, 2, 2, DontAlign >, Matrix< Scalar, RowsAtCompileTime, RowsAtCompileTime, MatrixOptions, MaxRowsAtCompileTime, MaxRowsAtCompileTime >, Matrix< float, 2, 6 >, Matrix< double, D, Dj >, Matrix< Scalar, int(AmbientDimAtCompileTime)==Dynamic?Dynamic:int(AmbientDimAtCompileTime)+1, 1 >, Matrix< Index, Traits::RowsAtCompileTime, 1 >, Matrix< ComplexScalar, RowsAtCompileTime, ColsAtCompileTime, Options, MaxRowsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, ColsAtCompileTime, ColsAtCompileTime, MatrixOptions, MaxColsAtCompileTime, MaxColsAtCompileTime >, Matrix< Scalar, AmbientDimAtCompileTime, 1 >, Matrix< double, D, D >, Matrix< Scalar, Deg_1, 1 >, Matrix< Scalar, Deg, 1 >, Matrix< Index, 1, ColsAtCompileTime, RowMajor, 1, MaxColsAtCompileTime >, Matrix< Scalar, MatrixType::ColsAtCompileTime, 1 >, and Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >.
Definition at line 407 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE PacketScalar PlainObjectBase< Derived >::packet | ( | Index | row, |
Index | col | ||
) | const [inline] |
Definition at line 144 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE PacketScalar PlainObjectBase< Derived >::packet | ( | Index | index | ) | const [inline] |
Definition at line 154 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::resize | ( | Index | rows, |
Index | cols | ||
) | [inline] |
Resizes *this
to a rows x cols matrix.
This method is intended for dynamic-size matrices, although it is legal to call it on any matrix as long as fixed dimensions are left unchanged. If you only want to change the number of rows and/or of columns, you can use resize(NoChange_t, Index), resize(Index, NoChange_t).
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.
Example:
MatrixXd m(2,3); m << 1,2,3,4,5,6; cout << "here's the 2x3 matrix m:" << endl << m << endl; cout << "let's resize m to 3x2. This is a conservative resizing because 2*3==3*2." << endl; m.resize(3,2); cout << "here's the 3x2 matrix m:" << endl << m << endl; cout << "now let's resize m to size 2x2. This is NOT a conservative resizing, so it becomes uninitialized:" << endl; m.resize(2,2); cout << m << endl;
Output:
Definition at line 200 of file PlainObjectBase.h.
void PlainObjectBase< Derived >::resize | ( | Index | size | ) | [inline] |
Resizes *this
to a vector of length size
. This method does not work for partially dynamic matrices when the static dimension is anything other than 1. For example it will not work with Matrix<double, 2, Dynamic>.
Example:
VectorXd v(10); v.resize(3); RowVector3d w; w.resize(3); // this is legal, but has no effect cout << "v: " << v.rows() << " rows, " << v.cols() << " cols" << endl; cout << "w: " << w.rows() << " rows, " << w.cols() << " cols" << endl;
Output:
Definition at line 223 of file PlainObjectBase.h.
void PlainObjectBase< Derived >::resize | ( | NoChange_t | , |
Index | cols | ||
) | [inline] |
Resizes the matrix, changing only the number of columns. For the parameter of type NoChange_t, just pass the special value NoChange
as in the example below.
Example:
MatrixXd m(3,4); m.resize(NoChange, 5); cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl;
Output:
Definition at line 247 of file PlainObjectBase.h.
void PlainObjectBase< Derived >::resize | ( | Index | rows, |
NoChange_t | |||
) | [inline] |
Resizes the matrix, changing only the number of rows. For the parameter of type NoChange_t, just pass the special value NoChange
as in the example below.
Example:
MatrixXd m(3,4); m.resize(5, NoChange); cout << "m: " << m.rows() << " rows, " << m.cols() << " cols" << endl;
Output:
Definition at line 260 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::resizeLike | ( | const EigenBase< OtherDerived > & | _other | ) | [inline] |
Resizes *this
to have the same dimensions as other. Takes care of doing all the checking that's needed.
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.
Definition at line 273 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Index PlainObjectBase< Derived >::rows | ( | void | ) | const [inline] |
Definition at line 100 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setConstant | ( | Index | size, |
const Scalar & | value | ||
) |
Resizes to the given size, and sets all coefficients in this expression to the given value.
Example:
VectorXf v; v.setConstant(3, 5); cout << v << endl;
Output:
Definition at line 355 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setConstant | ( | Index | rows, |
Index | cols, | ||
const Scalar & | value | ||
) |
Resizes to the given size, and sets all coefficients in this expression to the given value.
rows | the new number of rows |
cols | the new number of columns |
value | the value to which all coefficients are set |
Example:
MatrixXf m; m.setConstant(3, 3, 5); cout << m << endl;
Output:
Definition at line 374 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setOnes | ( | Index | size | ) |
Resizes to the given size, and sets all coefficients in this expression to one.
Example:
VectorXf v; v.setOnes(3); cout << v << endl;
Output:
Definition at line 630 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setOnes | ( | Index | rows, |
Index | cols | ||
) |
Resizes to the given size, and sets all coefficients in this expression to one.
rows | the new number of rows |
cols | the new number of columns |
Example:
MatrixXf m; m.setOnes(3, 3); cout << m << endl;
Output:
Definition at line 648 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setRandom | ( | Index | size | ) |
Resizes to the given size, and sets all coefficients in this expression to random values.
Example:
VectorXf v; v.setRandom(3); cout << v << endl;
Output:
Definition at line 139 of file src/g2o/EXTERNAL/eigen3/Eigen/src/Core/Random.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setRandom | ( | Index | rows, |
Index | cols | ||
) |
Resizes to the given size, and sets all coefficients in this expression to random values.
rows | the new number of rows |
cols | the new number of columns |
Example:
MatrixXf m; m.setRandom(3, 3); cout << m << endl;
Output:
Definition at line 157 of file src/g2o/EXTERNAL/eigen3/Eigen/src/Core/Random.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setZero | ( | Index | size | ) |
Resizes to the given size, and sets all coefficients in this expression to zero.
Example:
VectorXf v; v.setZero(3); cout << v << endl;
Output:
Definition at line 504 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE Derived & PlainObjectBase< Derived >::setZero | ( | Index | rows, |
Index | cols | ||
) |
Resizes to the given size, and sets all coefficients in this expression to zero.
rows | the new number of rows |
cols | the new number of columns |
Example:
MatrixXf m; m.setZero(3, 3); cout << m << endl;
Output:
Definition at line 522 of file CwiseNullaryOp.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::writePacket | ( | Index | row, |
Index | col, | ||
const PacketScalar & | x | ||
) | [inline] |
Definition at line 161 of file PlainObjectBase.h.
EIGEN_STRONG_INLINE void PlainObjectBase< Derived >::writePacket | ( | Index | index, |
const PacketScalar & | x | ||
) | [inline] |
Definition at line 171 of file PlainObjectBase.h.
friend class Eigen::Map [friend] |
Definition at line 74 of file PlainObjectBase.h.
friend class Eigen::Map< const Derived, Aligned > [friend] |
Definition at line 81 of file PlainObjectBase.h.
friend class Eigen::Map< const Derived, Unaligned > [friend] |
Definition at line 77 of file PlainObjectBase.h.
friend class Eigen::Map< Derived, Aligned > [friend] |
Definition at line 79 of file PlainObjectBase.h.
friend class Eigen::Map< Derived, Unaligned > [friend] |
Definition at line 75 of file PlainObjectBase.h.
friend struct internal::matrix_swap_impl [friend] |
Reimplemented in Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >.
Definition at line 599 of file PlainObjectBase.h.
DenseStorage<Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options> PlainObjectBase< Derived >::m_storage [protected] |
Definition at line 90 of file PlainObjectBase.h.