GEOS
ParticleBlockManagerABC.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 Total, S.A
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
16 #ifndef GEOS_PARTICLEBLOCKMANAGERABC_HPP
17 #define GEOS_PARTICLEBLOCKMANAGERABC_HPP
18 
19 #include "dataRepository/Group.hpp"
20 #include "common/DataTypes.hpp"
21 
22 namespace geos
23 {
24 
29 {
30 public:
31 
37  ParticleBlockManagerABC( string const & name, Group * const parent ):
38  Group( name, parent )
39  {
40  // Left blank
41  }
42 
49  virtual Group & getParticleBlocks() = 0;
50 
55  virtual const Group & getParticleBlocks() const = 0;
56 
57 };
58 
59 }
60 #endif // include guard
Abstract base class for ParticleBlockManager.
ParticleBlockManagerABC(string const &name, Group *const parent)
Constructor.
virtual const Group & getParticleBlocks() const =0
Returns a group containing the cell blocks as ParticleBlockABC instances.
virtual Group & getParticleBlocks()=0
Returns a group containing the cell blocks as ParticleBlockABC instances.