Marine systems simulation
CoRiBoDynamics::MatrixConnectome Class Reference

#include <MatrixConnectome.h>

Classes

struct  colored_segment
 
struct  CRix
 
struct  segment
 

Public Member Functions

 MatrixConnectome (int drop_size)
 
void Update (const bool *diagonal_connection, int num, std::vector< CRix > extra_connections)
 
void set_drop_size (int drop_size)
 

Public Attributes

std::vector< segmentm_tridiag_segments
 
std::vector< segmentm_null_tridiag_segments
 
std::vector< colored_segmentall_segments
 
std::vector< int > color_groups
 

Protected Member Functions

bool contains (const segment &o, const segment &i)
 
segment drop_expand (const bool *diagonal_connection, int num, int expand_center)
 

Protected Attributes

int m_drop_size
 

Detailed Description

Author
Jorgen Haavind Jensen

Matrix utility class for computing connection patterns in a block-sparse, almost-block-tridiagonal matrix.

1) All consecutive tridiagonal connected elements are grouped.

2) To form connection matrices: a) All sporadic connections are projected down on their respective tridiagonal segments, and expanded up to the drop size or tridiagnal segment end. b) All connection matrices that are either (1) overlapping, or (2) touching within a tridiagonal segment, are merged and grouped.

3) All tridiagonal segments that are completely contained in a connection matrix are removed.

Revision history:
Q2 2014 JHJ: Initial version. Q2 2016 JHJ: Update to better handle disjoint element groups

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