GEOSX
Disc.hpp
Go to the documentation of this file.
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 TotalEnergies
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 
19 #ifndef GEOSX_MESH_SIMPLEGEOMETRICOBJECTS_DISC_HPP_
20 #define GEOSX_MESH_SIMPLEGEOMETRICOBJECTS_DISC_HPP_
21 
23 
24 namespace geos
25 {
26 
32 {
33 public:
34 
39 
45  Disc( const string & name,
46  Group * const parent );
47 
51  virtual ~Disc() override;
52 
54 
59 
64  static string catalogName() { return "Disc"; }
65 
67 
68  bool isCoordInObject( real64 const ( &coord ) [3] ) const override final;
69 
74 
79  virtual R1Tensor & getCenter() override final {return m_center;}
80 
84  virtual R1Tensor const & getCenter() const override final {return m_center;}
85 
86 protected:
87 
92  virtual void postProcessInput() override final;
93 
94 private:
95 
97  R1Tensor m_center;
99  real64 m_radius;
101  real64 m_tolerance;
102 
104 
105  struct viewKeyStruct
106  {
107  static constexpr char const * centerString() { return "center"; }
108  static constexpr char const * radiusString() { return "radius"; }
109  static constexpr char const * toleranceString() { return "tolerance"; }
110  };
111 
113 
114 };
115 } /* namespace geosx */
116 
117 #endif /* GEOSX_MESH_SIMPLEGEOMETRICOBJECTS_DISC_HPP_*/
Class to represent a geometric disc in GEOSX.
Definition: Disc.hpp:32
Disc(const string &name, Group *const parent)
Constructor.
static string catalogName()
Get the catalog name.
Definition: Disc.hpp:64
virtual ~Disc() override
Default destructor.
virtual R1Tensor & getCenter() override final
Get the center of the disc.
Definition: Disc.hpp:79
bool isCoordInObject(real64 const (&coord)[3]) const override final
Check if the input coordinates are in the object.
virtual R1Tensor const & getCenter() const override final
Get the center of the disc.
Definition: Disc.hpp:84
virtual void postProcessInput() override final
This function provides the capability to post process input values prior to any other initialization ...
Abstract class to implement functions used by all bounded geometric objects in GEOSX,...
double real64
64-bit floating point type.
Definition: DataTypes.hpp:139