FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_ConnectivityBlock.hpp
Go to the documentation of this file.
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _fei_ConnectivityBlock_hpp_
10
#define _fei_ConnectivityBlock_hpp_
11
12
#include <
fei_macros.hpp
>
13
14
#include <map>
15
#include <vector>
16
17
namespace
fei
{
18
class
Pattern
;
19
26
class
ConnectivityBlock
{
27
public
:
29
ConnectivityBlock
(
int
blockID,
30
fei::Pattern
* pattern,
31
int
numConnectivities);
33
ConnectivityBlock
(
int
blockID,
34
fei::Pattern
* rowpattern,
fei::Pattern
* colpattern,
35
int
numConnectivities);
37
ConnectivityBlock
(
int
numRowIDs,
38
const
int
* rowIDs,
39
const
int
* rowOffsets,
40
bool
offsets_are_lengths =
false
);
41
43
ConnectivityBlock
(
int
fieldID
,
44
int
numRowIDs,
45
const
int
* rowIDs,
46
const
int
* rowOffsets,
47
bool
offsets_are_lengths =
false
);
48
50
virtual
~ConnectivityBlock
();
51
53
int
getBlockID
()
const
{
return
(
blockID_
); }
54
57
const
fei::Pattern
*
getRowPattern
()
const
{
return
(
pattern_
); }
58
61
fei::Pattern
*
getRowPattern
() {
return
(
pattern_
); }
62
63
void
setRowPattern
(
fei::Pattern
* pattern) {
pattern_
= pattern; }
64
68
const
fei::Pattern
*
getColPattern
()
const
{
return
(
colPattern_
); }
69
73
fei::Pattern
*
getColPattern
() {
return
(
colPattern_
); }
74
75
void
setColPattern
(
fei::Pattern
* pattern) {
colPattern_
= pattern; }
76
79
const
std::map<int,int>&
getConnectivityIDs
()
const
{
return
(
connIDsOffsetMap_
); }
80
83
std::map<int,int>&
getConnectivityIDs
() {
return
(
connIDsOffsetMap_
); }
84
88
std::vector<int>&
getConnectivityOffsets
()
89
{
return
(
connectivityOffsets_
); }
90
92
std::vector<int>&
getRowConnectivities
()
93
{
return
(
connectivities_
); }
94
96
std::vector<int>&
getColConnectivities
()
97
{
return
(
colConnectivities_
); }
98
100
const
int
*
getRowConnectivity
(
int
ID)
const
;
102
const
int
*
getColConnectivity
(
int
ID)
const
;
104
int
*
getRowConnectivity
(
int
ID);
106
int
*
getColConnectivity
(
int
ID);
107
109
bool
isSymmetric
()
const
{
return
(
isSymmetric_
); }
110
112
void
setIsDiagonal
(
bool
flag) {
isDiagonal_
= flag; }
114
bool
isDiagonal
()
const
{
return
(
isDiagonal_
); }
115
117
bool
haveFieldID
()
118
{
return
(
haveFieldID_
); }
119
121
int
fieldID
()
122
{
return
(
fieldID_
); }
123
124
private
:
125
int
blockID_
;
126
fei::Pattern
*
pattern_
;
127
fei::Pattern
*
colPattern_
;
128
bool
isSymmetric_
;
129
bool
isDiagonal_
;
130
131
std::map<int,int>
connIDsOffsetMap_
;
132
133
std::vector<int>
connectivityOffsets_
;
134
135
int
numRecordsPerConnectivity_
;
136
std::vector<int>
connectivities_
;
137
int
numRecordsPerColConnectivity_
;
138
std::vector<int>
colConnectivities_
;
139
140
int
fieldID_
;
141
bool
haveFieldID_
;
142
143
};
//class ConnectivityBlock
144
}
//namespace fei
145
146
#endif
// _fei_ConnectivityBlock_hpp_
147
fei::ConnectivityBlock::getConnectivityIDs
std::map< int, int > & getConnectivityIDs()
Definition
fei_ConnectivityBlock.hpp:83
fei::ConnectivityBlock::haveFieldID
bool haveFieldID()
Definition
fei_ConnectivityBlock.hpp:117
fei::ConnectivityBlock::getColPattern
const fei::Pattern * getColPattern() const
Definition
fei_ConnectivityBlock.hpp:68
fei::ConnectivityBlock::connectivities_
std::vector< int > connectivities_
Definition
fei_ConnectivityBlock.hpp:136
fei::ConnectivityBlock::getColPattern
fei::Pattern * getColPattern()
Definition
fei_ConnectivityBlock.hpp:73
fei::ConnectivityBlock::colPattern_
fei::Pattern * colPattern_
Definition
fei_ConnectivityBlock.hpp:127
fei::ConnectivityBlock::setRowPattern
void setRowPattern(fei::Pattern *pattern)
Definition
fei_ConnectivityBlock.hpp:63
fei::ConnectivityBlock::setIsDiagonal
void setIsDiagonal(bool flag)
Definition
fei_ConnectivityBlock.hpp:112
fei::ConnectivityBlock::getConnectivityOffsets
std::vector< int > & getConnectivityOffsets()
Definition
fei_ConnectivityBlock.hpp:88
fei::ConnectivityBlock::numRecordsPerColConnectivity_
int numRecordsPerColConnectivity_
Definition
fei_ConnectivityBlock.hpp:137
fei::ConnectivityBlock::getRowPattern
fei::Pattern * getRowPattern()
Definition
fei_ConnectivityBlock.hpp:61
fei::ConnectivityBlock::connIDsOffsetMap_
std::map< int, int > connIDsOffsetMap_
Definition
fei_ConnectivityBlock.hpp:131
fei::ConnectivityBlock::colConnectivities_
std::vector< int > colConnectivities_
Definition
fei_ConnectivityBlock.hpp:138
fei::ConnectivityBlock::getColConnectivity
const int * getColConnectivity(int ID) const
Definition
fei_ConnectivityBlock.cpp:203
fei::ConnectivityBlock::haveFieldID_
bool haveFieldID_
Definition
fei_ConnectivityBlock.hpp:141
fei::ConnectivityBlock::isSymmetric_
bool isSymmetric_
Definition
fei_ConnectivityBlock.hpp:128
fei::ConnectivityBlock::setColPattern
void setColPattern(fei::Pattern *pattern)
Definition
fei_ConnectivityBlock.hpp:75
fei::ConnectivityBlock::fieldID
int fieldID()
Definition
fei_ConnectivityBlock.hpp:121
fei::ConnectivityBlock::ConnectivityBlock
ConnectivityBlock(int blockID, fei::Pattern *pattern, int numConnectivities)
Definition
fei_ConnectivityBlock.cpp:22
fei::ConnectivityBlock::getColConnectivities
std::vector< int > & getColConnectivities()
Definition
fei_ConnectivityBlock.hpp:96
fei::ConnectivityBlock::blockID_
int blockID_
Definition
fei_ConnectivityBlock.hpp:125
fei::ConnectivityBlock::getRowConnectivity
const int * getRowConnectivity(int ID) const
Definition
fei_ConnectivityBlock.cpp:175
fei::ConnectivityBlock::isDiagonal_
bool isDiagonal_
Definition
fei_ConnectivityBlock.hpp:129
fei::ConnectivityBlock::connectivityOffsets_
std::vector< int > connectivityOffsets_
Definition
fei_ConnectivityBlock.hpp:133
fei::ConnectivityBlock::~ConnectivityBlock
virtual ~ConnectivityBlock()
Definition
fei_ConnectivityBlock.cpp:170
fei::ConnectivityBlock::getBlockID
int getBlockID() const
Definition
fei_ConnectivityBlock.hpp:53
fei::ConnectivityBlock::fieldID_
int fieldID_
Definition
fei_ConnectivityBlock.hpp:140
fei::ConnectivityBlock::isDiagonal
bool isDiagonal() const
Definition
fei_ConnectivityBlock.hpp:114
fei::ConnectivityBlock::getRowConnectivities
std::vector< int > & getRowConnectivities()
Definition
fei_ConnectivityBlock.hpp:92
fei::ConnectivityBlock::pattern_
fei::Pattern * pattern_
Definition
fei_ConnectivityBlock.hpp:126
fei::ConnectivityBlock::isSymmetric
bool isSymmetric() const
Definition
fei_ConnectivityBlock.hpp:109
fei::ConnectivityBlock::getConnectivityIDs
const std::map< int, int > & getConnectivityIDs() const
Definition
fei_ConnectivityBlock.hpp:79
fei::ConnectivityBlock::getRowPattern
const fei::Pattern * getRowPattern() const
Definition
fei_ConnectivityBlock.hpp:57
fei::ConnectivityBlock::numRecordsPerConnectivity_
int numRecordsPerConnectivity_
Definition
fei_ConnectivityBlock.hpp:135
fei::Pattern
Definition
fei_Pattern.hpp:29
fei_macros.hpp
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0