|
g2o
|
Sparse matrix which uses blocks based on hash structures. More...
#include <sparse_block_matrix_ccs.h>
Public Types | |
| typedef MatrixType | SparseMatrixBlock |
| this is the type of the elementary block, it is an Eigen::Matrix. | |
| typedef std::unordered_map< int, MatrixType * > | SparseColumn |
Public Member Functions | |
| int | cols () const |
| columns of the matrix | |
| int | rows () const |
| rows of the matrix | |
| SparseBlockMatrixHashMap (const std::vector< int > &rowIndices, const std::vector< int > &colIndices) | |
| int | rowsOfBlock (int r) const |
| how many rows does the block at block-row r has? | |
| int | colsOfBlock (int c) const |
| how many cols does the block at block-col c has? | |
| int | rowBaseOfBlock (int r) const |
| where does the row at block-row r start? | |
| int | colBaseOfBlock (int c) const |
| where does the col at block-col r start? | |
| const std::vector< SparseColumn > & | blockCols () const |
| the block matrices per block-column | |
| std::vector< SparseColumn > & | blockCols () |
| const std::vector< int > & | rowBlockIndices () const |
| indices of the row blocks | |
| const std::vector< int > & | colBlockIndices () const |
| indices of the column blocks | |
| MatrixType * | addBlock (int r, int c, bool zeroBlock=false) |
Protected Attributes | |
| const std::vector< int > & | _rowBlockIndices |
| const std::vector< int > & | _colBlockIndices |
| vector of the indices of the blocks along the cols | |
| std::vector< SparseColumn > | _blockCols |
| the matrices stored in CCS order | |
Sparse matrix which uses blocks based on hash structures.
This class is used to construct the pattern of a sparse block matrix
Definition at line 217 of file sparse_block_matrix_ccs.h.
| typedef std::unordered_map<int, MatrixType*> g2o::SparseBlockMatrixHashMap< MatrixType >::SparseColumn |
Definition at line 231 of file sparse_block_matrix_ccs.h.
| typedef MatrixType g2o::SparseBlockMatrixHashMap< MatrixType >::SparseMatrixBlock |
this is the type of the elementary block, it is an Eigen::Matrix.
Definition at line 220 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 233 of file sparse_block_matrix_ccs.h.
|
inline |
add a block to the pattern, return a pointer to the added block
Definition at line 268 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_blockCols, g2o::SparseBlockMatrixHashMap< MatrixType >::colsOfBlock(), and g2o::SparseBlockMatrixHashMap< MatrixType >::rowsOfBlock().
Referenced by g2o::BlockSolver< Traits >::buildStructure().
|
inline |
Definition at line 257 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_blockCols.
|
inline |
the block matrices per block-column
Definition at line 256 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_blockCols.
Referenced by g2o::BlockSolver< Traits >::buildStructure(), and g2o::SparseBlockMatrix< MatrixType >::takePatternFromHash().
|
inline |
where does the col at block-col r start?
Definition at line 253 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_colBlockIndices.
|
inline |
indices of the column blocks
Definition at line 263 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_colBlockIndices.
|
inline |
columns of the matrix
Definition at line 223 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_colBlockIndices.
|
inline |
how many cols does the block at block-col c has?
Definition at line 244 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_colBlockIndices.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock().
|
inline |
where does the row at block-row r start?
Definition at line 250 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_rowBlockIndices.
|
inline |
indices of the row blocks
Definition at line 260 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_rowBlockIndices.
|
inline |
rows of the matrix
Definition at line 227 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_rowBlockIndices.
|
inline |
how many rows does the block at block-row r has?
Definition at line 238 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixHashMap< MatrixType >::_rowBlockIndices.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock().
|
protected |
the matrices stored in CCS order
Definition at line 289 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::addBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::blockCols(), and g2o::SparseBlockMatrixHashMap< MatrixType >::blockCols().
|
protected |
vector of the indices of the blocks along the cols
Definition at line 288 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::colBaseOfBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::colBlockIndices(), g2o::SparseBlockMatrixHashMap< MatrixType >::cols(), and g2o::SparseBlockMatrixHashMap< MatrixType >::colsOfBlock().
|
protected |
vector of the indices of the blocks along the rows.
Definition at line 285 of file sparse_block_matrix_ccs.h.
Referenced by g2o::SparseBlockMatrixHashMap< MatrixType >::rowBaseOfBlock(), g2o::SparseBlockMatrixHashMap< MatrixType >::rowBlockIndices(), g2o::SparseBlockMatrixHashMap< MatrixType >::rows(), and g2o::SparseBlockMatrixHashMap< MatrixType >::rowsOfBlock().