Add operator[] to GridDims
This commit is contained in:
@@ -42,6 +42,7 @@ namespace Opm {
|
||||
|
||||
size_t getNY() const;
|
||||
size_t getNZ() const;
|
||||
size_t operator[](int dim) const;
|
||||
|
||||
const std::array<int, 3> getNXYZ() const;
|
||||
|
||||
|
||||
@@ -62,6 +62,22 @@ namespace Opm {
|
||||
return m_nz;
|
||||
}
|
||||
|
||||
size_t GridDims::operator[](int dim) const {
|
||||
switch (dim) {
|
||||
case 0:
|
||||
return this->m_nx;
|
||||
break;
|
||||
case 1:
|
||||
return this->m_ny;
|
||||
break;
|
||||
case 2:
|
||||
return this->m_nz;
|
||||
break;
|
||||
default:
|
||||
throw std::invalid_argument("Invalid argument dim:" + std::to_string(dim));
|
||||
}
|
||||
}
|
||||
|
||||
const std::array<int, 3> GridDims::getNXYZ() const {
|
||||
return std::array<int, 3> {{int( m_nx ), int( m_ny ), int( m_nz )}};
|
||||
}
|
||||
@@ -116,4 +132,5 @@ namespace Opm {
|
||||
m_ny = dims[1];
|
||||
m_nz = dims[2];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -127,6 +127,11 @@ BOOST_AUTO_TEST_CASE(CreateGridNoCells) {
|
||||
BOOST_CHECK_EQUAL( 10 , grid.getNX());
|
||||
BOOST_CHECK_EQUAL( 10 , grid.getNY());
|
||||
BOOST_CHECK_EQUAL( 10 , grid.getNZ());
|
||||
|
||||
BOOST_CHECK_EQUAL(10, grid[0]);
|
||||
BOOST_CHECK_EQUAL(10, grid[2]);
|
||||
BOOST_CHECK_THROW( grid[10], std::invalid_argument);
|
||||
|
||||
BOOST_CHECK_EQUAL( 1000 , grid.getCartesianSize());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user