20 #ifndef GEOS_MESH_SIMPLEGEOMETRICOBJECTS_PLANARGEOMETRICOBJECT_HPP_ 
   21 #define GEOS_MESH_SIMPLEGEOMETRICOBJECTS_PLANARGEOMETRICOBJECT_HPP_ 
   23 #include "SimpleGeometricObjectBase.hpp" 
   42                          Group * 
const parent );
 
   53   static string catalogName() { 
return "PlanarGeometricObject"; }
 
  131     static constexpr 
char const * normalString() { 
return "normal"; }
 
  132     static constexpr 
char const * mLengthVectorString() { 
return "lengthVector"; }
 
  133     static constexpr 
char const * mWidthVectorString() { 
return "widthVector"; }
 
Abstract class to implement functions used by all bounded geometric objects in GEOSX,...
 
static string catalogName()
Get the catalog name.
 
R1Tensor & getNormal()
Get the normal to the plane.
 
static constexpr real64 orthoNormalBaseTolerance
tolerance to check if base is orthonormal
 
R1Tensor const  & getLengthVector() const
Get one of the tangent vectors defining the orthonormal basis along with the normal.
 
virtual R1Tensor const  & getCenter() const =0
Get the origin of the plane.
 
R1Tensor const  & getWidthVector() const
Get one of the tangent vectors defining the orthonormal basis along with the normal.
 
real64 m_tolerance
tolerance to determine if a point sits on the PlanarGeometricObject or not
 
virtual R1Tensor & getCenter()=0
Get the origin of the plane.
 
virtual bool isCoordInObject(real64 const (&coord)[3]) const override=0
Check if the input coordinates are in the object.
 
R1Tensor const  & getNormal() const
Get the normal to the plane.
 
R1Tensor m_normal
Normal (n_x,n_y,n_z) to the plane (will be normalized automatically)
 
PlanarGeometricObject(const string &name, Group *const parent)
Constructor.
 
R1Tensor & getLengthVector()
Get one of the tangent vectors defining the orthonormal basis along with the normal.
 
R1Tensor m_widthVector
Width vector in the orthonormal basis along with the normal.
 
R1Tensor m_lengthVector
Length vector in the orthonormal basis along with the normal.
 
R1Tensor & getWidthVector()
Get one of the tangent vectors defining the orthonormal basis along with the normal.
 
Base class for the geometric objects (box, plane, cylinder).
 
double real64
64-bit floating point type.
 
Structure to hold scoped key names.