GEOSX
coreComponents
meshUtilities
SimpleGeometricObjects
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"
25
#include "
dataRepository/ObjectCatalog.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
43
class
SimpleGeometricObjectBase
:
public
dataRepository::Group
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
81
using
CatalogInterface
=
dataRepository::CatalogInterface< SimpleGeometricObjectBase, std::string const &, Group * const >
;
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_ */
geosx
Definition:
DataLayouts.hpp:25
geosx::real64
double real64
64-bit floating point type.
Definition:
DataTypes.hpp:136
geosx::SimpleGeometricObjectBase
Base class for the geometric objects (box, plane, cylinder).
Definition:
SimpleGeometricObjectBase.hpp:43
Group.hpp
ObjectCatalog.hpp
geosx::dataRepository::CatalogInterface
This class provides the base class/interface for the catalog value objects.
Definition:
ObjectCatalog.hpp:64
geosx::dataRepository::Group
Definition:
Group.hpp:70
geosx::string
std::string string
String type.
Definition:
DataTypes.hpp:131
geosx::dataRepository::CatalogInterface::CatalogType
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...
Definition:
ObjectCatalog.hpp:71
geosx::SimpleGeometricObjectBase::CatalogName
static string CatalogName()
Get the catalog name.
Definition:
SimpleGeometricObjectBase.hpp:76
Generated by
1.8.13