From 1a19425592be5e376df7a72737634fa6d8ef0133 Mon Sep 17 00:00:00 2001 From: Bradley Bickford Date: Tue, 16 Sep 2025 18:00:51 -0400 Subject: [PATCH] Modifying PlasmaMatrix to make it look more...standard practice? --- include/PlasmaMatrix.h | 33 +++------------------------------ src/PlasmaMatrix.cpp | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 30 deletions(-) diff --git a/include/PlasmaMatrix.h b/include/PlasmaMatrix.h index 7027891..0767cf1 100644 --- a/include/PlasmaMatrix.h +++ b/include/PlasmaMatrix.h @@ -6,38 +6,11 @@ class PlasmaMatrix : public MatrixAnimation { public: - PlasmaMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime) : - MatrixAnimation(_matrix, _refName, _updateTime), paletteShift(0), palette(new CRGB[256]) { - plasma = new uint8_t*[matrix->getWidth()]; + PlasmaMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime); - for(uint16_t i = 0; i < matrix->getWidth(); i++) { - plasma[i] = new uint8_t[matrix->getHeight()]; - } + virtual ~PlasmaMatrix(); - for(uint16_t x = 0; x < matrix->getWidth(); x++) { - for(uint16_t y = 0; y < matrix->getHeight(); y++) { - plasma[x][y] = (uint8_t) ((128.0 + (128 * sinf(x / 8.0)) + 128 + (128.0 * sinf(y / 8.0))) / 2); - } - } - - for(uint16_t i = 0; i < 256; i++) { - palette[i] = CRGB(CHSV(i, 255, 255)); - } - } - - virtual ~PlasmaMatrix() { - delete[] palette; - - for(uint16_t i = 0; i < matrix->getWidth(); i++) { - delete[] plasma[i]; - } - - delete[] plasma; - } - - void initialize() { - paletteShift = 0; - } + void initialize(); void execute(); diff --git a/src/PlasmaMatrix.cpp b/src/PlasmaMatrix.cpp index 289a1fb..2efd258 100644 --- a/src/PlasmaMatrix.cpp +++ b/src/PlasmaMatrix.cpp @@ -1,5 +1,38 @@ #include "PlasmaMatrix.h" +PlasmaMatrix::PlasmaMatrix(LEDHAL2D* _matrix, char* _refName, long _updateTime): + MatrixAnimation(_matrix, _refName, _updateTime), paletteShift(0), palette(new CRGB[256]) { + plasma = new uint8_t*[matrix->getWidth()]; + + for(uint16_t i = 0; i < matrix->getWidth(); i++) { + plasma[i] = new uint8_t[matrix->getHeight()]; + } + + for(uint16_t x = 0; x < matrix->getWidth(); x++) { + for(uint16_t y = 0; y < matrix->getHeight(); y++) { + plasma[x][y] = (uint8_t) ((128.0 + (128 * sinf(x / 8.0)) + 128 + (128.0 * sinf(y / 8.0))) / 2); + } + } + + for(uint16_t i = 0; i < 256; i++) { + palette[i] = CRGB(CHSV(i, 255, 255)); + } +} + +PlasmaMatrix::~PlasmaMatrix() { + delete[] palette; + + for(uint16_t i = 0; i < matrix->getWidth(); i++) { + delete[] plasma[i]; + } + + delete[] plasma; +} + +void PlasmaMatrix::initialize() { + paletteShift = 0; +} + void PlasmaMatrix::execute() { for(uint16_t x = 0; x < matrix->getWidth(); x++) { for(uint16_t y = 0; y < matrix->getHeight(); y++) {