PX4 Firmware
PX4 Autopilot Software http://px4.io
matrix::Slice< Type, P, Q, M, N > Class Template Reference

#include <Matrix.hpp>

Collaboration diagram for matrix::Slice< Type, P, Q, M, N >:

Public Member Functions

 Slice (size_t x0, size_t y0, const Matrix< Type, M, N > *data)
 
Type operator() (size_t i, size_t j) const
 
Type & operator() (size_t i, size_t j)
 
template<size_t MM, size_t NN>
Slice< Type, P, Q, M, N > & operator= (const Slice< Type, P, Q, MM, NN > &other)
 
Slice< Type, P, Q, M, N > & operator= (const Matrix< Type, P, Q > &other)
 
template<size_t DUMMY = 1>
Slice< Type, 1, Q, M, N > & operator= (const Vector< Type, Q > &other)
 
template<size_t R, size_t S>
const Slice< Type, R, S, M, N > slice (size_t x0, size_t y0) const
 
template<size_t R, size_t S>
Slice< Type, R, S, M, N > slice (size_t x0, size_t y0)
 
void copyTo (Type dst[M *N]) const
 
void copyToColumnMajor (Type dst[M *N]) const
 
Type norm_squared ()
 
Type norm ()
 
bool longerThan (Type testVal)
 

Private Attributes

size_t _x0
 
size_t _y0
 
Matrix< Type, M, N > * _data
 

Detailed Description

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
class matrix::Slice< Type, P, Q, M, N >

Definition at line 39 of file Matrix.hpp.

Constructor & Destructor Documentation

◆ Slice()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
matrix::Slice< Type, P, Q, M, N >::Slice ( size_t  x0,
size_t  y0,
const Matrix< Type, M, N > *  data 
)
inline

Definition at line 25 of file Slice.hpp.

References P.

Member Function Documentation

◆ copyTo()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
void matrix::Slice< Type, P, Q, M, N >::copyTo ( Type  dst[M *N]) const
inline

Definition at line 89 of file Slice.hpp.

◆ copyToColumnMajor()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
void matrix::Slice< Type, P, Q, M, N >::copyToColumnMajor ( Type  dst[M *N]) const
inline

Definition at line 100 of file Slice.hpp.

◆ longerThan()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
bool matrix::Slice< Type, P, Q, M, N >::longerThan ( Type  testVal)
inline

Definition at line 128 of file Slice.hpp.

References matrix::Slice< Type, P, Q, M, N >::norm_squared().

Here is the call graph for this function:

◆ norm()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Type matrix::Slice< Type, P, Q, M, N >::norm ( )
inline

Definition at line 123 of file Slice.hpp.

References matrix::Slice< Type, P, Q, M, N >::norm_squared(), and matrix::sqrt().

Here is the call graph for this function:

◆ norm_squared()

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Type matrix::Slice< Type, P, Q, M, N >::norm_squared ( )
inline

Definition at line 111 of file Slice.hpp.

References P.

Referenced by matrix::Slice< Type, P, Q, M, N >::longerThan(), and matrix::Slice< Type, P, Q, M, N >::norm().

Here is the caller graph for this function:

◆ operator()() [1/2]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Type matrix::Slice< Type, P, Q, M, N >::operator() ( size_t  i,
size_t  j 
) const
inline

◆ operator()() [2/2]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Type& matrix::Slice< Type, P, Q, M, N >::operator() ( size_t  i,
size_t  j 
)
inline

◆ operator=() [1/3]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
template<size_t MM, size_t NN>
Slice<Type, P, Q, M, N>& matrix::Slice< Type, P, Q, M, N >::operator= ( const Slice< Type, P, Q, MM, NN > &  other)
inline

Definition at line 44 of file Slice.hpp.

References P.

◆ operator=() [2/3]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Slice<Type, P, Q, M, N>& matrix::Slice< Type, P, Q, M, N >::operator= ( const Matrix< Type, P, Q > &  other)
inline

Definition at line 55 of file Slice.hpp.

References P.

◆ operator=() [3/3]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
template<size_t DUMMY = 1>
Slice<Type, 1, Q, M, N>& matrix::Slice< Type, P, Q, M, N >::operator= ( const Vector< Type, Q > &  other)
inline

Definition at line 68 of file Slice.hpp.

◆ slice() [1/2]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
template<size_t R, size_t S>
const Slice<Type, R, S, M, N> matrix::Slice< Type, P, Q, M, N >::slice ( size_t  x0,
size_t  y0 
) const
inline

◆ slice() [2/2]

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
template<size_t R, size_t S>
Slice<Type, R, S, M, N> matrix::Slice< Type, P, Q, M, N >::slice ( size_t  x0,
size_t  y0 
)
inline

Member Data Documentation

◆ _data

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
Matrix<Type,M,N>* matrix::Slice< Type, P, Q, M, N >::_data
private

◆ _x0

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
size_t matrix::Slice< Type, P, Q, M, N >::_x0
private

◆ _y0

template<typename Type, size_t P, size_t Q, size_t M, size_t N>
size_t matrix::Slice< Type, P, Q, M, N >::_y0
private

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