chombo-discharge
CD_RoundedBoxIF.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_RoundedBoxIF_H
13 #define CD_RoundedBoxIF_H
14 
15 // Chombo includes
16 #include <RealVect.H>
17 #include <BaseIF.H>
18 
19 // Our includes
20 #include <CD_NamespaceHeader.H>
21 
25 class RoundedBoxIF : public BaseIF
26 {
27 public:
31  RoundedBoxIF() = delete;
32 
40  RoundedBoxIF(const RealVect a_loCorner, const RealVect a_hiCorner, const Real a_curvature, const bool a_fluidInside);
41 
46  RoundedBoxIF(const RoundedBoxIF& a_inputIF);
47 
51  virtual ~RoundedBoxIF();
52 
57  virtual Real
58  value(const RealVect& a_point) const override;
59 
63  virtual BaseIF*
64  newImplicitFunction() const override;
65 
66 protected:
71 
75  RefCountedPtr<BaseIF> m_baseIF;
76 };
77 
78 #include <CD_NamespaceFooter.H>
79 
80 #endif
A box with rounded corners and edges.
Definition: CD_RoundedBoxIF.H:26
virtual BaseIF * newImplicitFunction() const override
IF factory method.
Definition: CD_RoundedBoxIF.cpp:83
virtual Real value(const RealVect &a_point) const override
Get distance to object.
Definition: CD_RoundedBoxIF.cpp:69
RefCountedPtr< BaseIF > m_baseIF
Implicit function (which is union between planes)
Definition: CD_RoundedBoxIF.H:75
RoundedBoxIF()=delete
Disallowed weak construction.
virtual ~RoundedBoxIF()
Destructor.
Definition: CD_RoundedBoxIF.cpp:65
bool m_fluidInside
Fluid on inside or not.
Definition: CD_RoundedBoxIF.H:70