#ifndef NOISE_GEN_HH #define NOISE_GEN_HH #include <pch.hh> #include <random> #include <generators/baseGen.hh> using std::random_device; using std::mt19937; using std::pair; using std::uniform_int_distribution; using std::string; namespace ty::gen { class noiseGen : public baseGen { private: const int localMin = 0; const int localMax = 255; random_device rd; mt19937 gen; vector<uniform_int_distribution<unsigned char>> dist; vector<unsigned char> colorRange = {0, 255, 0, 255, 0, 255}; const vector<string> colors = {"Red", "Green", "Blue"}; unsigned char minMax(const int& in); unsigned char getRandom(const char& c); void castJsonValues(const json& j, const string& color, const int& indx); public: noiseGen(const int& width, const int& height); ~noiseGen(); void runGen(vector<unsigned char>& image) override; void loadJson(const json& j) override; }; } // ty::gen #endif // NOISE_GEN_HH