![]() |
Shapeworks Studio
2.1
Shape analysis software suite
|
General-purpose arrays with easy API for coefficient-wise operations. More...
#include <Array.h>
Public Types | |
enum | { Options = _Options } |
typedef PlainObjectBase< Array > | Base |
typedef Base::PlainObject | PlainObject |
![]() | |
enum | |
enum | |
typedef internal::dense_xpr_base< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::type | Base |
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::StorageKind | StorageKind |
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::Index | Index |
typedef internal::traits< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > >::Scalar | Scalar |
typedef internal::packet_traits< Scalar >::type | PacketScalar |
typedef NumTraits< Scalar >::Real | RealScalar |
typedef Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > | DenseType |
typedef Eigen::Map< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Unaligned > | MapType |
typedef const Eigen::Map< const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Unaligned > | ConstMapType |
typedef Eigen::Map< Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Aligned > | AlignedMapType |
typedef const Eigen::Map< const Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols >, Aligned > | ConstAlignedMapType |
Public Member Functions | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Array & | operator= (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE Array & | operator= (const ArrayBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE Array & | operator= (const Array &other) |
EIGEN_STRONG_INLINE | Array () |
Array (internal::constructor_without_unaligned_array_assert) | |
EIGEN_STRONG_INLINE | Array (Index dim) |
template<typename T0 , typename T1 > | |
EIGEN_STRONG_INLINE | Array (const T0 &val0, const T1 &val1) |
EIGEN_STRONG_INLINE | Array (const Scalar &val0, const Scalar &val1, const Scalar &val2) |
EIGEN_STRONG_INLINE | Array (const Scalar &val0, const Scalar &val1, const Scalar &val2, const Scalar &val3) |
Array (const Scalar *data) | |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const ArrayBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE | Array (const Array &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const ReturnByValue< OtherDerived > &other) |
template<typename OtherDerived > | |
EIGEN_STRONG_INLINE | Array (const EigenBase< OtherDerived > &other) |
template<typename OtherDerived > | |
void | swap (ArrayBase< OtherDerived > const &other) |
Index | innerStride () const |
Index | outerStride () const |
![]() | |
Base & | base () |
const Base & | base () const |
EIGEN_STRONG_INLINE Index | rows () const |
EIGEN_STRONG_INLINE Index | cols () const |
EIGEN_STRONG_INLINE const Scalar & | coeff (Index rowId, Index colId) const |
EIGEN_STRONG_INLINE const Scalar & | coeff (Index index) const |
EIGEN_STRONG_INLINE Scalar & | coeffRef (Index rowId, Index colId) |
EIGEN_STRONG_INLINE Scalar & | coeffRef (Index index) |
EIGEN_STRONG_INLINE const Scalar & | coeffRef (Index rowId, Index colId) const |
EIGEN_STRONG_INLINE const Scalar & | coeffRef (Index index) const |
EIGEN_STRONG_INLINE PacketScalar | packet (Index rowId, Index colId) const |
EIGEN_STRONG_INLINE PacketScalar | packet (Index index) const |
EIGEN_STRONG_INLINE void | writePacket (Index rowId, Index colId, const PacketScalar &val) |
EIGEN_STRONG_INLINE void | writePacket (Index index, const PacketScalar &val) |
EIGEN_STRONG_INLINE const Scalar * | data () const |
EIGEN_STRONG_INLINE Scalar * | data () |
EIGEN_STRONG_INLINE void | resize (Index nbRows, Index nbCols) |
void | resize (Index size) |
void | resize (NoChange_t, Index nbCols) |
void | resize (Index nbRows, NoChange_t) |
EIGEN_STRONG_INLINE void | resizeLike (const EigenBase< OtherDerived > &_other) |
EIGEN_STRONG_INLINE void | conservativeResize (Index nbRows, Index nbCols) |
EIGEN_STRONG_INLINE void | conservativeResize (Index nbRows, NoChange_t) |
EIGEN_STRONG_INLINE void | conservativeResize (NoChange_t, Index nbCols) |
EIGEN_STRONG_INLINE void | conservativeResize (Index size) |
EIGEN_STRONG_INLINE void | conservativeResizeLike (const DenseBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | operator= (const PlainObjectBase &other) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | operator= (const ReturnByValue< OtherDerived > &func) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | operator= (const EigenBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | lazyAssign (const DenseBase< OtherDerived > &other) |
PlainObjectBase (internal::constructor_without_unaligned_array_assert) | |
EIGEN_STRONG_INLINE | PlainObjectBase (Index a_size, Index nbRows, Index nbCols) |
EIGEN_STRONG_INLINE | PlainObjectBase (const EigenBase< OtherDerived > &other) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setConstant (Index size, const Scalar &value) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setConstant (Index rows, Index cols, const Scalar &value) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setZero (Index size) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setZero (Index rows, Index cols) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setOnes (Index size) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setOnes (Index rows, Index cols) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setRandom (Index size) |
Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | setRandom (Index rows, Index cols) |
Additional Inherited Members | |
![]() | |
static EIGEN_STRONG_INLINE void | _check_template_params () |
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 StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, const Stride< Outer, Inner > &stride) |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, const Stride< Outer, Inner > &stride) |
static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
static StridedConstMapType< Stride< Outer, Inner > >::type | Map (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
static StridedMapType< Stride< Outer, Inner > >::type | Map (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
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) |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, const Stride< Outer, Inner > &stride) |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, const Stride< Outer, Inner > &stride) |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index size, const Stride< Outer, Inner > &stride) |
static StridedConstAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (const Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
static StridedAlignedMapType< Stride< Outer, Inner > >::type | MapAligned (Scalar *data, Index rows, Index cols, const Stride< Outer, Inner > &stride) |
![]() | |
EIGEN_STRONG_INLINE void | _resize_to_match (const EigenBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | _set (const DenseBase< OtherDerived > &other) |
Copies the value of the expression other into *this with automatic resizing. More... | |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const internal::true_type &) |
EIGEN_STRONG_INLINE void | _set_selector (const OtherDerived &other, const internal::false_type &) |
EIGEN_STRONG_INLINE Array< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > & | _set_noalias (const DenseBase< OtherDerived > &other) |
EIGEN_STRONG_INLINE void | _init2 (Index nbRows, Index nbCols, typename internal::enable_if< Base::SizeAtCompileTime!=2, T0 >::type *=0) |
EIGEN_STRONG_INLINE void | _init2 (const Scalar &val0, const Scalar &val1, typename internal::enable_if< Base::SizeAtCompileTime==2, T0 >::type *=0) |
void | _swap (DenseBase< OtherDerived > const &other) |
![]() | |
DenseStorage< Scalar, Base::MaxSizeAtCompileTime, Base::RowsAtCompileTime, Base::ColsAtCompileTime, Options > | m_storage |
General-purpose arrays with easy API for coefficient-wise operations.
The Array class is very similar to the Matrix class. It provides general-purpose one- and two-dimensional arrays. The difference between the Array and the Matrix class is primarily in the API: the API for the Array class provides easy access to coefficient-wise operations, while the API for the Matrix class provides easy access to linear-algebra operations.
This class can be extended with the help of the plugin mechanism described on the page TopicCustomizingEigen by defining the preprocessor symbol EIGEN_ARRAY_PLUGIN
.
|
inline |
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.
|
inlineexplicit |
|
inline |
constructs an initialized 3D vector with given coefficients
Definition at line 162 of file Array.h.
|
inline |
constructs an initialized 4D vector with given coefficients
Definition at line 171 of file Array.h.
|
inline |
|
inline |
|
inline |
Copy constructor with in-place evaluation
Definition at line 200 of file Array.h.
|
inline |
Definition at line 209 of file Array.h.
|
inline |
The usage of using Base::operator=; fails on MSVC. Since the code below is working with GCC and MSVC, we skipped the usage of 'using'. This should be done only for operator=.
Definition at line 72 of file Array.h.
|
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.
Definition at line 87 of file Array.h.
|
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 95 of file Array.h.
|
inline |
Override MatrixBase::swap() since for dynamic-sized matrices of same type it is enough to swap the data pointers.