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. More... | |
typedef std::unordered_map< int, MatrixType * > | SparseColumn |
Public Member Functions | |
int | cols () const |
columns of the matrix More... | |
int | rows () const |
rows of the matrix More... | |
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? More... | |
int | colsOfBlock (int c) const |
how many cols does the block at block-col c has? More... | |
int | rowBaseOfBlock (int r) const |
where does the row at block-row r start? More... | |
int | colBaseOfBlock (int c) const |
where does the col at block-col r start? More... | |
const std::vector< SparseColumn > & | blockCols () const |
the block matrices per block-column More... | |
std::vector< SparseColumn > & | blockCols () |
const std::vector< int > & | rowBlockIndices () const |
indices of the row blocks More... | |
const std::vector< int > & | colBlockIndices () const |
indices of the column blocks More... | |
MatrixType * | addBlock (int r, int c, bool zeroBlock=false) |
Protected Attributes | |
const std::vector< int > & | _rowBlockIndices |
vector of the indices of the blocks along the rows. More... | |
const std::vector< int > & | _colBlockIndices |
vector of the indices of the blocks along the cols More... | |
std::vector< SparseColumn > | _blockCols |
the matrices stored in CCS order More... | |
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 211 of file sparse_block_matrix_ccs.h.
typedef std::unordered_map<int, MatrixType*> g2o::SparseBlockMatrixHashMap< MatrixType >::SparseColumn |
Definition at line 222 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 215 of file sparse_block_matrix_ccs.h.
|
inline |
Definition at line 224 of file sparse_block_matrix_ccs.h.
|
inline |
add a block to the pattern, return a pointer to the added block
Definition at line 253 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols, g2o::SparseBlockMatrixCCS< MatrixType >::colsOfBlock(), and g2o::SparseBlockMatrixCCS< MatrixType >::rowsOfBlock().
Referenced by g2o::BlockSolver< Traits >::buildStructure().
|
inline |
the block matrices per block-column
Definition at line 241 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols.
Referenced by g2o::BlockSolver< Traits >::buildStructure(), and g2o::SparseBlockMatrix< MatrixType >::takePatternFromHash().
|
inline |
Definition at line 242 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_blockCols.
|
inline |
where does the col at block-col r start?
Definition at line 238 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
|
inline |
indices of the column blocks
Definition at line 248 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
|
inline |
columns of the matrix
Definition at line 218 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
|
inline |
how many cols does the block at block-col c has?
Definition at line 232 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_colBlockIndices.
|
inline |
where does the row at block-row r start?
Definition at line 235 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
indices of the row blocks
Definition at line 245 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
rows of the matrix
Definition at line 220 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
inline |
how many rows does the block at block-row r has?
Definition at line 229 of file sparse_block_matrix_ccs.h.
References g2o::SparseBlockMatrixCCS< MatrixType >::_rowBlockIndices.
|
protected |
the matrices stored in CCS order
Definition at line 273 of file sparse_block_matrix_ccs.h.
|
protected |
vector of the indices of the blocks along the cols
Definition at line 272 of file sparse_block_matrix_ccs.h.
|
protected |
vector of the indices of the blocks along the rows.
Definition at line 271 of file sparse_block_matrix_ccs.h.