16 : _name(
name), _surface_type(surf_type)
31 " used to determine halfspace evaluation lies on the surface ",
33 ", leading to an ambiguously defined halfspace.");
47 return !(*
this == other);
std::string name(const ElemQuality q)
const std::string & getName() const
Get the name of surface.
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application...
Halfspace
Enum for the sign of the half-space being represented by a point and surface.
virtual Real evaluateSurfaceEquationAtPoint(const Point &p) const =0
given a point, determine its evaluation based on the surface equation.
bool operator==(const CSGSurface &other) const
Operator overload for checking if two CSGSurface objects are equal.
virtual std::unordered_map< std::string, Real > getCoeffs() const =0
Get the coefficients that define the surface.
bool absoluteFuzzyLessThan(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether a variable is less than another variable within an absolute tolerance...
std::string _name
Name of surface.
CSGSurface creates an internal representation of a Constructive Solid Geometry (CSG) surface...
CSGSurface(const std::string &name)
Default constructor.
CSGSurface::Halfspace getHalfspaceFromPoint(const Point &p) const
given a point, determine if it is in the positive or negative half-space for the surface ...
bool operator!=(const CSGSurface &other) const
Operator overload for checking if two CSGSurface objects are not equal.
const std::string & getSurfaceType() const
Get the Surface Type.
bool absoluteFuzzyGreaterThan(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
Function to check whether a variable is greater than another variable within an absolute tolerance...