14#include "libmesh/point.h"
34 CSGPlane(
const std::string & name,
const Point & p1,
const Point & p2,
const Point & p3);
46 CSGPlane(
const std::string & name,
const Real a,
const Real b,
const Real c,
const Real d);
59 virtual std::unordered_map<std::string, Real>
getCoeffs()
const override;
75 virtual std::unique_ptr<CSGSurface>
clone()
const override
CSGPlane creates an internal representation of a Constructive Solid Geometry (CSG) plane,...
void coeffsFromPoints(const Point &p1, const Point &p2, const Point &p3)
Real _b
Value of b in equation of plane.
Real _a
Value of a in equation of plane.
virtual ~CSGPlane()=default
Destructor.
virtual std::unordered_map< std::string, Real > getCoeffs() const override
get coefficients (a, b, c, d) of the Plane aX + bY + cZ = d
Real _d
Value of d in equation of plane.
virtual std::unique_ptr< CSGSurface > clone() const override
create clone of CSGPlane object
Real _c
Value of c in equation of plane.
virtual Real evaluateSurfaceEquationAtPoint(const Point &p) const override
given a point, determine its evaluation based on the equation of the plane
void normalizePlaneCoefficients()
Normalize plane coefficients so that a^2 + b^2 + c^2 = 1.
CSGSurface creates an internal representation of a Constructive Solid Geometry (CSG) surface,...
std::string _name
Name of surface.