GEOSX
SimpleGeometricObjectBase.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7  * Copyright (c) 2018-2020 Total, S.A
8  * Copyright (c) 2019- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
15 /*
16  * @file SimpleGeometricObjectBase.hpp
17  */
18 
19 #ifndef SIMPLEGEOMETRICOBJECTS_H_
20 #define SIMPLEGEOMETRICOBJECTS_H_
21 
22 //#include "common/Common.h"
23 #include "dataRepository/Group.hpp"
24 #include "codingUtilities/StringUtilities.hpp"
26 
27 class Function;
28 
29 namespace geosx
30 {
31 namespace dataRepository
32 {
33 namespace keys
34 {
35 string const geometricObjects( "GeometricObjects" );
36 }
37 }
38 
44 {
45 public:
46 
50 
57  explicit SimpleGeometricObjectBase( std::string const & name,
58  Group * const parent );
59 
63  virtual ~SimpleGeometricObjectBase();
64 
66 
70 
76  static string CatalogName() { return "SimpleGeometricObjectBase"; }
77 
82 
86  static CatalogInterface::CatalogType & GetCatalog();
87 
89 
95  virtual bool IsCoordInObject( real64 const ( &coord ) [3] ) const = 0;
96 
97 };
98 
99 
100 }
101 #endif /* SIMPLEGEOMETRICOBJECTS_H_ */
double real64
64-bit floating point type.
Definition: DataTypes.hpp:136
Base class for the geometric objects (box, plane, cylinder).
This class provides the base class/interface for the catalog value objects.
std::string string
String type.
Definition: DataTypes.hpp:131
std::unordered_map< std::string, std::unique_ptr< CatalogInterface< BASETYPE, ARGS... > > > CatalogType
This is the type that will be used for the catalog. The catalog is actually instantiated in the BASET...
static string CatalogName()
Get the catalog name.