chombo-discharge
CD_PolygonRodIF.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_PolygonRodIF_H
13 #define CD_PolygonRodIF_H
14 
15 // Chombo includes
16 #include <BaseIF.H>
17 
18 // Our includes
19 #include <CD_NamespaceHeader.H>
20 
25 class PolygonRodIF : public BaseIF
26 {
27 public:
37  PolygonRodIF(const RealVect a_center1,
38  const RealVect a_center2,
39  const Real a_radius,
40  const Real a_cornerCurv,
41  const int a_numSides,
42  const bool a_fluidInside);
43 
48  PolygonRodIF(const PolygonRodIF& a_inputIF);
49 
53  virtual ~PolygonRodIF();
54 
58  virtual Real
59  value(const RealVect& a_pos) const;
60 
64  virtual BaseIF*
65  newImplicitFunction() const;
66 
67 protected:
71  RefCountedPtr<BaseIF> m_baseif;
72 };
73 
74 #include <CD_NamespaceFooter.H>
75 
76 #endif
Implicit function class describing a rod with a polygonal cross scetion.
Definition: CD_PolygonRodIF.H:26
virtual ~PolygonRodIF()
Destructor.
Definition: CD_PolygonRodIF.cpp:92
virtual Real value(const RealVect &a_pos) const
Value function. Returns distance to object (ish).
Definition: CD_PolygonRodIF.cpp:96
virtual BaseIF * newImplicitFunction() const
Factory method.
Definition: CD_PolygonRodIF.cpp:102
PolygonRodIF(const RealVect a_center1, const RealVect a_center2, const Real a_radius, const Real a_cornerCurv, const int a_numSides, const bool a_fluidInside)
Base constructor.
Definition: CD_PolygonRodIF.cpp:26
RefCountedPtr< BaseIF > m_baseif
Base function.
Definition: CD_PolygonRodIF.H:71