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

Public Types

enum  {
  Mode = internal::traits<Derived>::Mode, 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
}
 
typedef internal::traits< Derived >::Scalar Scalar
 
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 
typedef internal::traits< Derived >::DenseMatrixType DenseMatrixType
 
typedef DenseMatrixType DenseType
 
- Public Types inherited from Eigen::EigenBase< Derived >
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::Index Index
 

Public Member Functions

Index rows () const
 
Index cols () const
 
Index outerStride () const
 
Index innerStride () const
 
Scalar coeff (Index row, Index col) const
 
Scalar & coeffRef (Index row, Index col)
 
template<typename Other >
EIGEN_STRONG_INLINE void copyCoeff (Index row, Index col, Other &other)
 
Scalar operator() (Index row, Index col) const
 
Scalar & operator() (Index row, Index col)
 
const Derived & derived () const
 
Derived & derived ()
 
template<typename DenseDerived >
void evalTo (MatrixBase< DenseDerived > &other) const
 
template<typename DenseDerived >
void evalToLazy (MatrixBase< DenseDerived > &other) 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 Member Functions

void check_coordinates (Index row, Index col) const
 
void check_coordinates_internal (Index, Index) const
 

Detailed Description

template<typename Derived>
class Eigen::TriangularBase< Derived >

Definition at line 29 of file TriangularMatrix.h.

Member Function Documentation

template<typename Derived>
template<typename Other >
EIGEN_STRONG_INLINE void Eigen::TriangularBase< Derived >::copyCoeff ( Index  row,
Index  col,
Other &  other 
)
inline
See also
MatrixBase::copyCoeff(row,col)

Definition at line 60 of file TriangularMatrix.h.

61  {
62  derived().coeffRef(row, col) = other.coeff(row, col);
63  }
template<typename Derived >
template<typename DenseDerived >
void Eigen::TriangularBase< Derived >::evalTo ( MatrixBase< DenseDerived > &  other) const

Assigns a triangular or selfadjoint matrix to a dense matrix. If the matrix is triangular, the opposite part is set to zero.

Definition at line 672 of file TriangularMatrix.h.

673 {
674  if(internal::traits<Derived>::Flags & EvalBeforeAssigningBit)
675  {
676  typename internal::plain_matrix_type<Derived>::type other_evaluated(rows(), cols());
677  evalToLazy(other_evaluated);
678  other.derived().swap(other_evaluated);
679  }
680  else
681  evalToLazy(other.derived());
682 }
const unsigned int EvalBeforeAssigningBit
Definition: Constants.h:63
void evalToLazy(MatrixBase< DenseDerived > &other) const
template<typename Derived >
template<typename DenseDerived >
void Eigen::TriangularBase< Derived >::evalToLazy ( MatrixBase< DenseDerived > &  other) const

Assigns a triangular or selfadjoint matrix to a dense matrix. If the matrix is triangular, the opposite part is set to zero.

Definition at line 688 of file TriangularMatrix.h.

689 {
690  enum {
691  unroll = DenseDerived::SizeAtCompileTime != Dynamic
692  && internal::traits<Derived>::CoeffReadCost != Dynamic
693  && DenseDerived::SizeAtCompileTime * internal::traits<Derived>::CoeffReadCost / 2
694  <= EIGEN_UNROLLING_LIMIT
695  };
696  other.derived().resize(this->rows(), this->cols());
697 
698  internal::triangular_assignment_selector
699  <DenseDerived, typename internal::traits<Derived>::MatrixTypeNestedCleaned, Derived::Mode,
700  unroll ? int(DenseDerived::SizeAtCompileTime) : Dynamic,
701  true // clear the opposite triangular part
702  >::run(other.derived(), derived().nestedExpression());
703 }

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