Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::DiagonalBase< Derived > Class Template Reference

#include <src/eigen/Eigen/src/Core/DiagonalMatrix.h>

+ Inheritance diagram for Eigen::DiagonalBase< Derived >:
+ Collaboration diagram for Eigen::DiagonalBase< Derived >:

Public Types

enum  {
  RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime , ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime , MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime , MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime ,
  IsVectorAtCompileTime = 0 , Flags = NoPreferredStorageOrderBit
}
 
typedef internal::traits< Derived >::DiagonalVectorType DiagonalVectorType
 
typedef DiagonalVectorType::Scalar Scalar
 
typedef DiagonalVectorType::RealScalar RealScalar
 
typedef internal::traits< Derived >::StorageKind StorageKind
 
typedef internal::traits< Derived >::StorageIndex StorageIndex
 
typedef Matrix< Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTimeDenseMatrixType
 
typedef DenseMatrixType DenseType
 
typedef DiagonalMatrix< Scalar, DiagonalVectorType::SizeAtCompileTime, DiagonalVectorType::MaxSizeAtCompileTime > PlainObject
 
typedef DiagonalWrapper< const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const DiagonalVectorType > > InverseReturnType
 
typedef Eigen::Index Index
 The interface type of indices.
 

Public Member Functions

EIGEN_DEVICE_FUNC const Derived & derived () const
 
EIGEN_DEVICE_FUNC Derived & derived ()
 
EIGEN_DEVICE_FUNC DenseMatrixType toDenseMatrix () const
 
EIGEN_DEVICE_FUNC const DiagonalVectorTypediagonal () const
 
EIGEN_DEVICE_FUNC DiagonalVectorTypediagonal ()
 
EIGEN_DEVICE_FUNC Index rows () const
 
EIGEN_DEVICE_FUNC Index cols () const
 
template<typename MatrixDerived >
EIGEN_DEVICE_FUNC const Product< Derived, MatrixDerived, LazyProductoperator* (const MatrixBase< MatrixDerived > &matrix) const
 
EIGEN_DEVICE_FUNC const InverseReturnType inverse () const
 
EIGEN_DEVICE_FUNC const DiagonalWrapper< const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType, Scalar, product) > operator* (const Scalar &scalar) const
 
EIGEN_DEVICE_FUNC Derived & const_cast_derived () const
 
EIGEN_DEVICE_FUNC const Derived & const_derived () const
 
EIGEN_DEVICE_FUNC Index size () const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void evalTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void addTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void subTo (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheRight (Dest &dst) const
 
template<typename Dest >
EIGEN_DEVICE_FUNC void applyThisOnTheLeft (Dest &dst) const
 

Friends

EIGEN_DEVICE_FUNC friend const DiagonalWrapper< const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar, DiagonalVectorType, product) > operator* (const Scalar &scalar, const DiagonalBase &other)
 

Detailed Description

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

Member Typedef Documentation

◆ DenseMatrixType

template<typename Derived >
typedef Matrix<Scalar, RowsAtCompileTime, ColsAtCompileTime, 0, MaxRowsAtCompileTime, MaxColsAtCompileTime> Eigen::DiagonalBase< Derived >::DenseMatrixType

◆ DenseType

template<typename Derived >
typedef DenseMatrixType Eigen::DiagonalBase< Derived >::DenseType

◆ DiagonalVectorType

template<typename Derived >
typedef internal::traits<Derived>::DiagonalVectorType Eigen::DiagonalBase< Derived >::DiagonalVectorType

◆ Index

template<typename Derived >
typedef Eigen::Index Eigen::EigenBase< Derived >::Index
inherited

The interface type of indices.

To change this, #define the preprocessor symbol EIGEN_DEFAULT_DENSE_INDEX_TYPE.

See also
StorageIndex, TopicPreprocessorDirectives.

◆ InverseReturnType

◆ PlainObject

template<typename Derived >
typedef DiagonalMatrix<Scalar,DiagonalVectorType::SizeAtCompileTime,DiagonalVectorType::MaxSizeAtCompileTime> Eigen::DiagonalBase< Derived >::PlainObject

◆ RealScalar

template<typename Derived >
typedef DiagonalVectorType::RealScalar Eigen::DiagonalBase< Derived >::RealScalar

◆ Scalar

template<typename Derived >
typedef DiagonalVectorType::Scalar Eigen::DiagonalBase< Derived >::Scalar

◆ StorageIndex

template<typename Derived >
typedef internal::traits<Derived>::StorageIndex Eigen::DiagonalBase< Derived >::StorageIndex

◆ StorageKind

template<typename Derived >
typedef internal::traits<Derived>::StorageKind Eigen::DiagonalBase< Derived >::StorageKind

Member Enumeration Documentation

◆ anonymous enum

template<typename Derived >
anonymous enum
Enumerator
RowsAtCompileTime 
ColsAtCompileTime 
MaxRowsAtCompileTime 
MaxColsAtCompileTime 
IsVectorAtCompileTime 
Flags 
27 {
28 RowsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
29 ColsAtCompileTime = DiagonalVectorType::SizeAtCompileTime,
30 MaxRowsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
31 MaxColsAtCompileTime = DiagonalVectorType::MaxSizeAtCompileTime,
34 };
@ ColsAtCompileTime
Definition DiagonalMatrix.h:29
@ RowsAtCompileTime
Definition DiagonalMatrix.h:28
@ MaxRowsAtCompileTime
Definition DiagonalMatrix.h:30
@ MaxColsAtCompileTime
Definition DiagonalMatrix.h:31
@ Flags
Definition DiagonalMatrix.h:33
@ IsVectorAtCompileTime
Definition DiagonalMatrix.h:32
const unsigned int NoPreferredStorageOrderBit
Definition Constants.h:173

Member Function Documentation

◆ addTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::addTo ( Dest &  dst) const
inlineinherited
78 {
79 // This is the default implementation,
80 // derived class can reimplement it in a more optimized way.
81 typename Dest::PlainObject res(rows(),cols());
82 evalTo(res);
83 dst += res;
84 }
EIGEN_DEVICE_FUNC Index cols() const
Definition EigenBase.h:62
EIGEN_DEVICE_FUNC Index rows() const
Definition EigenBase.h:59
EIGEN_DEVICE_FUNC void evalTo(Dest &dst) const
Definition EigenBase.h:71

◆ applyThisOnTheLeft()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::applyThisOnTheLeft ( Dest &  dst) const
inlineinherited
110 {
111 // This is the default implementation,
112 // derived class can reimplement it in a more optimized way.
113 dst = this->derived() * dst;
114 }
EIGEN_DEVICE_FUNC Derived & derived()
Definition EigenBase.h:45

References Eigen::EigenBase< Derived >::derived().

+ Here is the call graph for this function:

◆ applyThisOnTheRight()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::applyThisOnTheRight ( Dest &  dst) const
inlineinherited
101 {
102 // This is the default implementation,
103 // derived class can reimplement it in a more optimized way.
104 dst = dst * this->derived();
105 }

References Eigen::EigenBase< Derived >::derived().

+ Here is the call graph for this function:

◆ cols()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::DiagonalBase< Derived >::cols ( ) const
inline
56{ return diagonal().size(); }
EIGEN_DEVICE_FUNC const DiagonalVectorType & diagonal() const
Definition DiagonalMatrix.h:49

References Eigen::DiagonalBase< Derived >::diagonal().

+ Here is the call graph for this function:

◆ const_cast_derived()

template<typename Derived >
EIGEN_DEVICE_FUNC Derived & Eigen::EigenBase< Derived >::const_cast_derived ( ) const
inlineinherited
52 { return *static_cast<Derived*>(const_cast<EigenBase*>(this)); }

Referenced by Eigen::TriangularViewImpl< _MatrixType, _Mode, Dense >::swap().

+ Here is the caller graph for this function:

◆ const_derived()

template<typename Derived >
EIGEN_DEVICE_FUNC const Derived & Eigen::EigenBase< Derived >::const_derived ( ) const
inlineinherited
55 { return *static_cast<const Derived*>(this); }

◆ derived() [1/2]

template<typename Derived >
EIGEN_DEVICE_FUNC Derived & Eigen::DiagonalBase< Derived >::derived ( )
inline
43{ return *static_cast<Derived*>(this); }

◆ derived() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC const Derived & Eigen::DiagonalBase< Derived >::derived ( ) const
inline

◆ diagonal() [1/2]

template<typename Derived >
EIGEN_DEVICE_FUNC DiagonalVectorType & Eigen::DiagonalBase< Derived >::diagonal ( )
inline
51{ return derived().diagonal(); }
EIGEN_DEVICE_FUNC const Derived & derived() const
Definition DiagonalMatrix.h:41

References Eigen::DiagonalBase< Derived >::derived().

+ Here is the call graph for this function:

◆ diagonal() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC const DiagonalVectorType & Eigen::DiagonalBase< Derived >::diagonal ( ) const
inline
49{ return derived().diagonal(); }

References Eigen::DiagonalBase< Derived >::derived().

Referenced by Eigen::DiagonalBase< Derived >::cols(), Eigen::DiagonalBase< Derived >::inverse(), Eigen::DiagonalBase< Derived >::operator*(), Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::operator=(), and Eigen::DiagonalBase< Derived >::rows().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ evalTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::evalTo ( Dest &  dst) const
inlineinherited
72 { derived().evalTo(dst); }

Referenced by Eigen::EigenBase< Derived >::subTo().

+ Here is the caller graph for this function:

◆ inverse()

template<typename Derived >
EIGEN_DEVICE_FUNC const InverseReturnType Eigen::DiagonalBase< Derived >::inverse ( ) const
inline
70 {
72 }
EIGEN_DEVICE_FUNC const CwiseInverseReturnType cwiseInverse() const
Definition MatrixCwiseUnaryOps.h:83
DiagonalWrapper< const CwiseUnaryOp< internal::scalar_inverse_op< Scalar >, const DiagonalVectorType > > InverseReturnType
Definition DiagonalMatrix.h:66

References cwiseInverse(), and Eigen::DiagonalBase< Derived >::diagonal().

Referenced by igl::biharmonic_coordinates().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator*() [1/2]

template<typename Derived >
template<typename MatrixDerived >
EIGEN_DEVICE_FUNC const Product< Derived, MatrixDerived, LazyProduct > Eigen::DiagonalBase< Derived >::operator* ( const MatrixBase< MatrixDerived > &  matrix) const
inline
62 {
63 return Product<Derived, MatrixDerived, LazyProduct>(derived(),matrix.derived());
64 }

References Eigen::DiagonalBase< Derived >::derived().

+ Here is the call graph for this function:

◆ operator*() [2/2]

template<typename Derived >
EIGEN_DEVICE_FUNC const DiagonalWrapper< const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType, Scalar, product) > Eigen::DiagonalBase< Derived >::operator* ( const Scalar scalar) const
inline
77 {
78 return DiagonalWrapper<const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DiagonalVectorType,Scalar,product) >(diagonal() * scalar);
79 }

References Eigen::DiagonalBase< Derived >::diagonal().

+ Here is the call graph for this function:

◆ rows()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::DiagonalBase< Derived >::rows ( ) const
inline
54{ return diagonal().size(); }

References Eigen::DiagonalBase< Derived >::diagonal().

+ Here is the call graph for this function:

◆ size()

template<typename Derived >
EIGEN_DEVICE_FUNC Index Eigen::EigenBase< Derived >::size ( ) const
inlineinherited
Returns
the number of coefficients, which is rows()*cols().
See also
rows(), cols(), SizeAtCompileTime.
66{ return rows() * cols(); }

References Eigen::EigenBase< Derived >::cols(), and Eigen::EigenBase< Derived >::rows().

Referenced by Eigen::PlainObjectBase< Derived >::_resize_to_match(), Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::resize(), Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::setIdentity(), and Eigen::DiagonalMatrix< _Scalar, SizeAtCompileTime, MaxSizeAtCompileTime >::setZero().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ subTo()

template<typename Derived >
template<typename Dest >
EIGEN_DEVICE_FUNC void Eigen::EigenBase< Derived >::subTo ( Dest &  dst) const
inlineinherited
90 {
91 // This is the default implementation,
92 // derived class can reimplement it in a more optimized way.
93 typename Dest::PlainObject res(rows(),cols());
94 evalTo(res);
95 dst -= res;
96 }

References Eigen::EigenBase< Derived >::cols(), Eigen::EigenBase< Derived >::evalTo(), and Eigen::EigenBase< Derived >::rows().

+ Here is the call graph for this function:

◆ toDenseMatrix()

template<typename Derived >
EIGEN_DEVICE_FUNC DenseMatrixType Eigen::DiagonalBase< Derived >::toDenseMatrix ( ) const
inline
46{ return derived(); }

References Eigen::DiagonalBase< Derived >::derived().

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ operator*

template<typename Derived >
EIGEN_DEVICE_FUNC friend const DiagonalWrapper< const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar, DiagonalVectorType, product) > operator* ( const Scalar scalar,
const DiagonalBase< Derived > &  other 
)
friend
83 {
84 return DiagonalWrapper<const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar,DiagonalVectorType,product) >(scalar * other.diagonal());
85 }

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