Shapeworks Studio  2.1
Shape analysis software suite
List of all members | Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions
Eigen::internal::BandMatrixBase< Derived > Class Template Reference
+ Inheritance diagram for Eigen::internal::BandMatrixBase< Derived >:
+ Collaboration diagram for Eigen::internal::BandMatrixBase< Derived >:

Classes

struct  DiagonalIntReturnType
 

Public Types

enum  {
  Flags = internal::traits<Derived>::Flags, CoeffReadCost = internal::traits<Derived>::CoeffReadCost, RowsAtCompileTime = internal::traits<Derived>::RowsAtCompileTime, ColsAtCompileTime = internal::traits<Derived>::ColsAtCompileTime,
  MaxRowsAtCompileTime = internal::traits<Derived>::MaxRowsAtCompileTime, MaxColsAtCompileTime = internal::traits<Derived>::MaxColsAtCompileTime, Supers = internal::traits<Derived>::Supers, Subs = internal::traits<Derived>::Subs,
  Options = internal::traits<Derived>::Options
}
 
typedef internal::traits< Derived >::Scalar Scalar
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime > DenseMatrixType
 
typedef DenseMatrixType::Index Index
 
typedef internal::traits< Derived >::CoefficientsType CoefficientsType
 
typedef EigenBase< Derived > Base
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 

Public Member Functions

Index supers () const
 
Index subs () const
 
const CoefficientsType & coeffs () const
 
CoefficientsType & coeffs ()
 
Block< CoefficientsType, Dynamic, 1 > col (Index i)
 
Block< CoefficientsType, 1, SizeAtCompileTime > diagonal ()
 
const Block< const CoefficientsType, 1, SizeAtCompileTime > diagonal () const
 
template<int N>
DiagonalIntReturnType< N >::Type diagonal ()
 
template<int N>
const DiagonalIntReturnType< N >::Type diagonal () const
 
Block< CoefficientsType, 1, Dynamic > diagonal (Index i)
 
const Block< const CoefficientsType, 1, Dynamic > diagonal (Index i) const
 
template<typename Dest >
void evalTo (Dest &dst) const
 
DenseMatrixType toDenseMatrix () const
 
- Public Member Functions inherited from Eigen::EigenBase< Derived >
Derived & derived ()
 
const Derived & derived () const
 
Derived & const_cast_derived () const
 
const Derived & const_derived () const
 
Index rows () const
 
Index cols () const
 
Index size () const
 
template<typename Dest >
void evalTo (Dest &dst) const
 
template<typename Dest >
void addTo (Dest &dst) const
 
template<typename Dest >
void subTo (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheRight (Dest &dst) const
 
template<typename Dest >
void applyThisOnTheLeft (Dest &dst) const
 

Protected Types

enum  { DataRowsAtCompileTime, SizeAtCompileTime = EIGEN_SIZE_MIN_PREFER_DYNAMIC(RowsAtCompileTime,ColsAtCompileTime) }
 

Protected Member Functions

Index diagonalLength (Index i) const
 

Detailed Description

template<typename Derived>
class Eigen::internal::BandMatrixBase< Derived >

Definition at line 18 of file BandMatrix.h.

Member Function Documentation

template<typename Derived>
const CoefficientsType& Eigen::internal::BandMatrixBase< Derived >::coeffs ( ) const
inline
Returns
an expression of the underlying coefficient matrix

Definition at line 60 of file BandMatrix.h.

60 { return derived().coeffs(); }
Derived & derived()
Definition: EigenBase.h:34
template<typename Derived>
CoefficientsType& Eigen::internal::BandMatrixBase< Derived >::coeffs ( )
inline
Returns
an expression of the underlying coefficient matrix

Definition at line 63 of file BandMatrix.h.

63 { return derived().coeffs(); }
Derived & derived()
Definition: EigenBase.h:34
template<typename Derived>
Block<CoefficientsType,Dynamic,1> Eigen::internal::BandMatrixBase< Derived >::col ( Index  i)
inline
Returns
a vector expression of the i -th column, only the meaningful part is returned.
Warning
the internal storage must be column major.

Definition at line 68 of file BandMatrix.h.

69  {
70  EIGEN_STATIC_ASSERT((Options&RowMajor)==0,THIS_METHOD_IS_ONLY_FOR_COLUMN_MAJOR_MATRICES);
71  Index start = 0;
72  Index len = coeffs().rows();
73  if (i<=supers())
74  {
75  start = supers()-i;
76  len = (std::min)(rows(),std::max<Index>(0,coeffs().rows() - (supers()-i)));
77  }
78  else if (i>=rows()-subs())
79  len = std::max<Index>(0,coeffs().rows() - (i + 1 - rows() + subs()));
80  return Block<CoefficientsType,Dynamic,1>(coeffs(), start, i, len, 1);
81  }
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
Index rows() const
Definition: EigenBase.h:44
template<typename Derived>
Block<CoefficientsType,1,SizeAtCompileTime> Eigen::internal::BandMatrixBase< Derived >::diagonal ( )
inline
Returns
a vector expression of the main diagonal

Definition at line 84 of file BandMatrix.h.

85  { return Block<CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
Index cols() const
Definition: EigenBase.h:46
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
Index rows() const
Definition: EigenBase.h:44
template<typename Derived>
const Block<const CoefficientsType,1,SizeAtCompileTime> Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) const
inline
Returns
a vector expression of the main diagonal (const version)

Definition at line 88 of file BandMatrix.h.

89  { return Block<const CoefficientsType,1,SizeAtCompileTime>(coeffs(),supers(),0,1,(std::min)(rows(),cols())); }
Index cols() const
Definition: EigenBase.h:46
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
Index rows() const
Definition: EigenBase.h:44
template<typename Derived>
template<int N>
DiagonalIntReturnType<N>::Type Eigen::internal::BandMatrixBase< Derived >::diagonal ( )
inline
Returns
a vector expression of the N -th sub or super diagonal

Definition at line 109 of file BandMatrix.h.

110  {
111  return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
112  }
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
template<typename Derived>
template<int N>
const DiagonalIntReturnType<N>::Type Eigen::internal::BandMatrixBase< Derived >::diagonal ( ) const
inline
Returns
a vector expression of the N -th sub or super diagonal

Definition at line 115 of file BandMatrix.h.

116  {
117  return typename DiagonalIntReturnType<N>::BuildType(coeffs(), supers()-N, (std::max)(0,N), 1, diagonalLength(N));
118  }
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
template<typename Derived>
Block<CoefficientsType,1,Dynamic> Eigen::internal::BandMatrixBase< Derived >::diagonal ( Index  i)
inline
Returns
a vector expression of the i -th sub or super diagonal

Definition at line 121 of file BandMatrix.h.

122  {
123  eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
124  return Block<CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
125  }
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
template<typename Derived>
const Block<const CoefficientsType,1,Dynamic> Eigen::internal::BandMatrixBase< Derived >::diagonal ( Index  i) const
inline
Returns
a vector expression of the i -th sub or super diagonal

Definition at line 128 of file BandMatrix.h.

129  {
130  eigen_assert((i<0 && -i<=subs()) || (i>=0 && i<=supers()));
131  return Block<const CoefficientsType,1,Dynamic>(coeffs(), supers()-i, std::max<Index>(0,i), 1, diagonalLength(i));
132  }
const CoefficientsType & coeffs() const
Definition: BandMatrix.h:60
template<typename Derived>
Index Eigen::internal::BandMatrixBase< Derived >::subs ( ) const
inline
Returns
the number of sub diagonals

Definition at line 57 of file BandMatrix.h.

57 { return derived().subs(); }
Derived & derived()
Definition: EigenBase.h:34
template<typename Derived>
Index Eigen::internal::BandMatrixBase< Derived >::supers ( ) const
inline
Returns
the number of super diagonals

Definition at line 54 of file BandMatrix.h.

54 { return derived().supers(); }
Derived & derived()
Definition: EigenBase.h:34

The documentation for this class was generated from the following file: