9 #ifndef _fei_ConnectivityBlock_hpp_
10 #define _fei_ConnectivityBlock_hpp_
12 #include <fei_macros.hpp>
26 class ConnectivityBlock {
31 int numConnectivities);
35 int numConnectivities);
39 const int* rowOffsets,
40 bool offsets_are_lengths =
false);
46 const int* rowOffsets,
47 bool offsets_are_lengths =
false);
63 void setRowPattern(
fei::Pattern* pattern) { pattern_ = pattern; }
75 void setColPattern(
fei::Pattern* pattern) { colPattern_ = pattern; }
89 {
return(connectivityOffsets_); }
93 {
return(connectivities_); }
97 {
return(colConnectivities_); }
109 bool isSymmetric()
const {
return( isSymmetric_ ); }
114 bool isDiagonal()
const {
return( isDiagonal_ ); }
118 {
return( haveFieldID_ ); }
122 {
return( fieldID_ ); }
131 std::map<int,int> connIDsOffsetMap_;
133 std::vector<int> connectivityOffsets_;
135 int numRecordsPerConnectivity_;
136 std::vector<int> connectivities_;
137 int numRecordsPerColConnectivity_;
138 std::vector<int> colConnectivities_;
146 #endif // _fei_ConnectivityBlock_hpp_
const int * getRowConnectivity(int ID) const
const std::map< int, int > & getConnectivityIDs() const
std::vector< int > & getColConnectivities()
virtual ~ConnectivityBlock()
std::vector< int > & getRowConnectivities()
const fei::Pattern * getColPattern() const
ConnectivityBlock(int blockID, fei::Pattern *pattern, int numConnectivities)
std::vector< int > & getConnectivityOffsets()
const int * getColConnectivity(int ID) const
void setIsDiagonal(bool flag)
const fei::Pattern * getRowPattern() const