FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_FieldMask.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_FieldMask_hpp_
10
#define _fei_FieldMask_hpp_
11
12
#include "
fei_macros.hpp
"
13
14
#include <vector>
15
16
namespace
fei
{
17
29
class
FieldMask
{
30
public
:
32
FieldMask
();
33
35
FieldMask
(
const
FieldMask
& fm);
36
38
FieldMask
(
int
numFields,
39
const
int
* fieldIDs,
40
const
int
* fieldSizes);
41
43
virtual
~FieldMask
();
44
46
int
getMaskID
() {
return
(
maskID_
); }
47
49
static
int
calculateMaskID
(
int
numFields,
50
const
int
* fieldIDs);
51
53
static
int
calculateMaskID
(
const
FieldMask
& fm,
54
int
fieldID);
55
57
void
addField
(
int
fieldID,
58
int
fieldSize);
59
61
bool
hasFieldID
(
int
fieldID)
const
62
{
63
for
(
size_t
i=0; i<
fieldIDs_
.size(); ++i)
64
if
(
fieldIDs_
[i] == fieldID)
return
true
;
65
return
false
;
66
}
67
69
size_t
getNumFields
()
const
{
return
(
fieldIDs_
.size()); }
70
74
int
getNumIndices
()
const
{
return
(
numIndices_
); }
75
79
void
setNumIndices
(
int
numInd) {
numIndices_
= numInd; }
80
82
std::vector<int>&
getFieldIDs
() {
return
(
fieldIDs_
); }
83
85
const
std::vector<int>&
getFieldIDs
()
const
{
return
(
fieldIDs_
); }
86
88
std::vector<int>&
getFieldSizes
() {
return
(
fieldSizes_
); }
89
91
const
std::vector<int>&
getFieldSizes
()
const
{
return
(
fieldSizes_
); }
92
97
int
getFieldEqnOffset
(
int
fieldID,
int
& offset)
const
;
98
100
bool
operator==
(
const
FieldMask
& fm)
const
101
{
return
(
maskID_
== fm.
maskID_
); }
102
104
bool
operator!=
(
const
FieldMask
& fm)
const
105
{
return
(
maskID_
!= fm.
maskID_
); }
106
111
bool
isSubSetOf
(
const
FieldMask
& fm)
const
112
{
113
for
(
unsigned
i=0; i<
fieldIDs_
.size(); ++i) {
114
if
(!fm.
hasFieldID
(
fieldIDs_
[i]))
return
(
false
);
115
}
116
return
(
true
);
117
}
118
119
private
:
120
FieldMask
&
operator=
(
const
FieldMask
& src);
121
122
int
calculateMaskID
();
123
124
int
maskID_
;
125
126
std::vector<int>
fieldIDs_
;
127
std::vector<int>
fieldSizes_
;
128
std::vector<int>
fieldEqnOffsets_
;
129
130
int
numFields_
;
131
int
numIndices_
;
132
};
133
134
}
//namespace fei
135
136
#endif
// _fei_FieldMask_hpp_
137
fei::FieldMask
Definition
fei_FieldMask.hpp:29
fei::FieldMask::calculateMaskID
int calculateMaskID()
Definition
fei_FieldMask.cpp:121
fei::FieldMask::numFields_
int numFields_
Definition
fei_FieldMask.hpp:130
fei::FieldMask::fieldIDs_
std::vector< int > fieldIDs_
Definition
fei_FieldMask.hpp:126
fei::FieldMask::maskID_
int maskID_
Definition
fei_FieldMask.hpp:124
fei::FieldMask::fieldSizes_
std::vector< int > fieldSizes_
Definition
fei_FieldMask.hpp:127
fei::FieldMask::FieldMask
FieldMask()
Definition
fei_FieldMask.cpp:19
fei::FieldMask::getFieldSizes
std::vector< int > & getFieldSizes()
Definition
fei_FieldMask.hpp:88
fei::FieldMask::numIndices_
int numIndices_
Definition
fei_FieldMask.hpp:131
fei::FieldMask::getFieldIDs
const std::vector< int > & getFieldIDs() const
Definition
fei_FieldMask.hpp:85
fei::FieldMask::getFieldIDs
std::vector< int > & getFieldIDs()
Definition
fei_FieldMask.hpp:82
fei::FieldMask::operator!=
bool operator!=(const FieldMask &fm) const
Definition
fei_FieldMask.hpp:104
fei::FieldMask::~FieldMask
virtual ~FieldMask()
Definition
fei_FieldMask.cpp:52
fei::FieldMask::operator=
FieldMask & operator=(const FieldMask &src)
fei::FieldMask::hasFieldID
bool hasFieldID(int fieldID) const
Definition
fei_FieldMask.hpp:61
fei::FieldMask::operator==
bool operator==(const FieldMask &fm) const
Definition
fei_FieldMask.hpp:100
fei::FieldMask::setNumIndices
void setNumIndices(int numInd)
Definition
fei_FieldMask.hpp:79
fei::FieldMask::getFieldSizes
const std::vector< int > & getFieldSizes() const
Definition
fei_FieldMask.hpp:91
fei::FieldMask::getNumFields
size_t getNumFields() const
Definition
fei_FieldMask.hpp:69
fei::FieldMask::addField
void addField(int fieldID, int fieldSize)
Definition
fei_FieldMask.cpp:87
fei::FieldMask::getFieldEqnOffset
int getFieldEqnOffset(int fieldID, int &offset) const
Definition
fei_FieldMask.cpp:56
fei::FieldMask::fieldEqnOffsets_
std::vector< int > fieldEqnOffsets_
Definition
fei_FieldMask.hpp:128
fei::FieldMask::getNumIndices
int getNumIndices() const
Definition
fei_FieldMask.hpp:74
fei::FieldMask::getMaskID
int getMaskID()
Definition
fei_FieldMask.hpp:46
fei::FieldMask::isSubSetOf
bool isSubSetOf(const FieldMask &fm) const
Definition
fei_FieldMask.hpp:111
fei_macros.hpp
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0