Dynamic Neural Field Composer 0.0.0
A C++20 library and interactive application for building and simulating Dynamic Neural Field (DNF) architectures.
Loading...
Searching...
No Matches
normal_noise_2d.h
Go to the documentation of this file.
1#pragma once
2
3#include <cmath>
4#include <sstream>
5#include <iomanip>
6
7#include "tools/math.h"
8#include "element.h"
9
11{
13 {
14 double amplitude;
15
16 explicit NormalNoise2DParameters(double amplitude = 0.2)
18 {}
19
20 bool operator==(const NormalNoise2DParameters& other) const
21 {
22 constexpr double epsilon = 1e-6;
23 return std::abs(amplitude - other.amplitude) < epsilon;
24 }
25
26 [[nodiscard]] std::string toString() const override
27 {
28 std::ostringstream result;
29 result << std::fixed << std::setprecision(2);
30 result << "Parameters: [Amplitude: " << amplitude << "]";
31 return result.str();
32 }
33 };
34
35 class NormalNoise2D final : public Element
36 {
37 private:
38 NormalNoise2DParameters parameters;
39 public:
40 NormalNoise2D(const ElementCommonParameters& elementCommonParameters,
41 const NormalNoise2DParameters& parameters);
42
43 void init() override;
44 void step(double t, double deltaT) override;
45 std::string toString() const override;
46 std::shared_ptr<Element> clone() const override;
47
48 void setParameters(const NormalNoise2DParameters& parameters);
50 };
51}
Abstract base class for all simulation elements.
Definition element.h:28
Definition normal_noise_2d.h:36
std::shared_ptr< Element > clone() const override
Definition normal_noise_2d.cpp:40
std::string toString() const override
Definition normal_noise_2d.cpp:32
NormalNoise2DParameters getParameters() const
Definition normal_noise_2d.cpp:50
void setParameters(const NormalNoise2DParameters &parameters)
Definition normal_noise_2d.cpp:45
void init() override
Initialize the element (called once before the simulation loop).
Definition normal_noise_2d.cpp:18
void step(double t, double deltaT) override
Advance the element by one time step.
Definition normal_noise_2d.cpp:23
Definition element_parameters.h:10
Definition element_parameters.h:188
Definition element_parameters.h:206
Definition normal_noise_2d.h:13
bool operator==(const NormalNoise2DParameters &other) const
Definition normal_noise_2d.h:20
double amplitude
Definition normal_noise_2d.h:14
std::string toString() const override
Definition normal_noise_2d.h:26
NormalNoise2DParameters(double amplitude=0.2)
Definition normal_noise_2d.h:16