chombo-discharge
Loading...
Searching...
No Matches
CD_PerlinPlaneSdf.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_PERLINPLANESDF_H
14#define CD_PERLINPLANESDF_H
15
16// Chombo includes
17#include <BaseIF.H>
18
19// Our includes
20#include <CD_NamespaceHeader.H>
21
25class PerlinPlaneSdf : public BaseIF
26{
27public:
41 PerlinPlaneSdf(const RealVect& a_normal,
42 const RealVect& a_point,
43 const bool a_inside,
44 const Real a_noiseAmp,
45 const RealVect& a_noiseFreq,
46 const Real a_persistence,
47 const int a_octaves,
48 const bool a_reseed = false);
53 PerlinPlaneSdf(const PerlinPlaneSdf& a_inputIF);
54
58 virtual ~PerlinPlaneSdf();
59
65 virtual Real
66 value(const RealVect& a_pos) const;
67
72 virtual BaseIF*
73 newImplicitFunction() const;
74
75protected:
79 RealVect m_normal;
80
84 RealVect m_point;
85
89 RefCountedPtr<BaseIF> m_plane;
90
94 RefCountedPtr<BaseIF> m_perlin;
95};
96
97#include <CD_NamespaceFooter.H>
98
99#endif
Infinite plane with surface noise (Perlin noise).
Definition CD_PerlinPlaneSdf.H:26
RealVect m_point
Plane point.
Definition CD_PerlinPlaneSdf.H:84
RealVect m_normal
Plane normal.
Definition CD_PerlinPlaneSdf.H:79
RefCountedPtr< BaseIF > m_perlin
Noise function.
Definition CD_PerlinPlaneSdf.H:94
virtual ~PerlinPlaneSdf()
Destructor (does nothing)
RefCountedPtr< BaseIF > m_plane
BaseIF function for a plane without noise.
Definition CD_PerlinPlaneSdf.H:89
virtual Real value(const RealVect &a_pos) const
Value function.
Definition CD_PerlinPlaneSdf.cpp:52
virtual BaseIF * newImplicitFunction() const
Factory method.
Definition CD_PerlinPlaneSdf.cpp:65