https://mooseframework.inl.gov
CSGZCylinder.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "CSGSurface.h"
13 
14 #include "libmesh/point.h"
15 
16 namespace CSG
17 {
18 
23 class CSGZCylinder : public CSGSurface
24 {
25 public:
34  CSGZCylinder(const std::string & name, const Real x0, const Real y0, const Real r);
35 
39  virtual ~CSGZCylinder() = default;
40 
47  virtual std::unordered_map<std::string, Real> getCoeffs() const override;
48 
55  virtual Real evaluateSurfaceEquationAtPoint(const Point & p) const override;
56 
57 protected:
58  // check that radius is positive
59  void checkRadius() const;
60 
63 
66 
69 };
70 } // namespace CSG
std::string name(const ElemQuality q)
CSGZCylinder creates an internal representation of a Constructive Solid Geometry (CSG) z-axis aligned...
Definition: CSGZCylinder.h:23
CSGZCylinder(const std::string &name, const Real x0, const Real y0, const Real r)
Construct a cylinder surface aligned with the z axis.
Definition: CSGZCylinder.C:15
Real _x0
Value of x0 in equation of an z-axis aligned cylinder.
Definition: CSGZCylinder.h:62
virtual ~CSGZCylinder()=default
Destructor.
void checkRadius() const
Definition: CSGZCylinder.C:39
virtual std::unordered_map< std::string, Real > getCoeffs() const override
Get the coefficients (x0, y0, and r) that define the cylindrical surface with the equation: (x - x0)^...
Definition: CSGZCylinder.C:22
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real evaluateSurfaceEquationAtPoint(const Point &p) const override
given a point, determine its evaluation based on the equation of the cylinder
Definition: CSGZCylinder.C:29
CSGSurface creates an internal representation of a Constructive Solid Geometry (CSG) surface...
Definition: CSGSurface.h:26
Real _r
Value of r in equation of an z-axis aligned cylinder.
Definition: CSGZCylinder.h:68
Real _y0
Value of y0 in equation of an z-axis aligned cylinder.
Definition: CSGZCylinder.h:65