GEOSX
Cylinder.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 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 
20 #ifndef GEOSX_MESHUTILITIES_SIMPLEGEOMETRICOBJECTS_CYLINDER_HPP_
21 #define GEOSX_MESHUTILITIES_SIMPLEGEOMETRICOBJECTS_CYLINDER_HPP_
22 
23 #include "SimpleGeometricObjectBase.hpp"
24 
25 namespace geosx
26 {
27 
33 {
34 public:
35 
39 
46  Cylinder( const std::string & name,
47  Group * const parent );
48 
52  virtual ~Cylinder() override;
53 
55 
59 
65  static string CatalogName() { return "Cylinder"; }
66 
68 
69  bool IsCoordInObject( real64 const ( &coord ) [3] ) const override final;
70 
71 
72 private:
73 
75  R1Tensor m_point1;
77  R1Tensor m_point2;
79  real64 m_radius = 0.0;
80 
82 
83  struct viewKeyStruct
84  {
85  static constexpr auto point1String = "point1";
86  static constexpr auto point2String = "point2";
87  static constexpr auto radiusString = "radius";
88 
89  };
90 
92 
93 };
94 } /* namespace geosx */
95 
96 #endif /* GEOSX_MESHUTILITIES_SIMPLEGEOMETRICOBJECTS_CYLINDER_HPP_
97  */
double real64
64-bit floating point type.
Definition: DataTypes.hpp:136
Base class for the geometric objects (box, plane, cylinder).
virtual ~Cylinder() override
Default destructor.
Cylinder(const std::string &name, Group *const parent)
Constructor.
static string CatalogName()
Get the catalog name.
Definition: Cylinder.hpp:65
bool IsCoordInObject(real64 const (&coord) [3]) const override final
Check if the input coordinates are in the object.
std::string string
String type.
Definition: DataTypes.hpp:131
Class to represent a geometric cylinder in GEOSX.
Definition: Cylinder.hpp:32