chombo-discharge
CD_PerlinRodSdf.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_PerlinRodSdf_H
13 #define CD_PerlinRodSdf_H
14 
15 // Chombo includes
16 #include <BaseIF.H>
17 
18 // Our includes
19 #include <CD_CylinderSdf.H>
21 #include <CD_NamespaceHeader.H>
22 
27 {
28 public:
32  PerlinRodSdf() = delete;
33 
47  PerlinRodSdf(const Real& a_rad,
48  const RealVect& a_center1,
49  const RealVect& a_center2,
50  const bool& a_inside,
51  const Real& a_noiseAmp,
52  const RealVect& a_noiseFreq,
53  const Real& a_persistence,
54  const int& a_octaves,
55  const bool& a_reseed = false);
56 
61  PerlinRodSdf(const PerlinRodSdf& a_inputIF);
62 
66  virtual ~PerlinRodSdf();
67 
72  virtual Real
73  value(const RealVect& a_pos) const;
74 
78  virtual BaseIF*
79  newImplicitFunction() const;
80 
81 protected:
85  RefCountedPtr<BaseIF> m_baseif;
86 };
87 
88 #include <CD_NamespaceFooter.H>
89 
90 #endif
Declaration of a cylindrical signed distance function.
Declaration of a graded noisy sphere.
A rod geometry, but with noise on one of the end caps.
Definition: CD_PerlinRodSdf.H:27
virtual ~PerlinRodSdf()
Destructor.
Definition: CD_PerlinRodSdf.cpp:75
virtual BaseIF * newImplicitFunction() const
Factory function.
Definition: CD_PerlinRodSdf.cpp:85
virtual Real value(const RealVect &a_pos) const
Value function.
Definition: CD_PerlinRodSdf.cpp:79
PerlinRodSdf()=delete
No weak construction.
RefCountedPtr< BaseIF > m_baseif
Basis rod, used for copying.
Definition: CD_PerlinRodSdf.H:85
Noisy sphere geometry (with Perlin noise).
Definition: CD_PerlinSphereSdf.H:27