14#include "libmesh/point.h"
34 CSGYCylinder(
const std::string & name,
const Real x0,
const Real z0,
const Real r);
47 virtual std::unordered_map<std::string, Real>
getCoeffs()
const override;
63 virtual std::unique_ptr<CSGSurface>
clone()
const override
CSGSurface creates an internal representation of a Constructive Solid Geometry (CSG) surface,...
std::string _name
Name of surface.
CSGYCylinder creates an internal representation of a Constructive Solid Geometry (CSG) y-axis aligned...
Real _x0
Value of x0 in equation of an y-axis aligned cylinder.
virtual std::unique_ptr< CSGSurface > clone() const override
create clone of CSGYCylinder object
virtual std::unordered_map< std::string, Real > getCoeffs() const override
Get the coefficients (x0, z0, and r) that define the cylindrical surface with the equation: (x - x0)^...
Real _z0
Value of z0 in equation of an y-axis aligned cylinder.
Real _r
Value of r in equation of an y-axis aligned cylinder.
virtual Real evaluateSurfaceEquationAtPoint(const Point &p) const override
given a point, determine its evaluation based on the equation of the cylinder
virtual ~CSGYCylinder()=default
Destructor.