From cc2edd3a70acf4f3a38a4b918f8e6767927c285c Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 12 Oct 2011 13:11:45 -0400 Subject: [PATCH] move getRandomAxis to Mode superclass --- modes/Mode.cc | 14 ++++++++++++++ modes/Mode.h | 1 + modes/Spin.cc | 9 --------- modes/Spin.h | 1 - 4 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 modes/Mode.cc diff --git a/modes/Mode.cc b/modes/Mode.cc new file mode 100644 index 0000000..9de7a2a --- /dev/null +++ b/modes/Mode.cc @@ -0,0 +1,14 @@ + +#include +#include +#include "Mode.h" + +void Mode::getRandomAxis(float (*axis)[3]) +{ + double alpha = rand() / (double)RAND_MAX * 2.0 * M_PI; + double beta = rand() / (double)RAND_MAX * M_PI; + (*axis)[0] = cos(alpha) * sin(beta); + (*axis)[1] = sin(alpha) * sin(beta); + (*axis)[2] = cos(beta); +} + diff --git a/modes/Mode.h b/modes/Mode.h index df3f73c..6d7fad0 100644 --- a/modes/Mode.h +++ b/modes/Mode.h @@ -10,6 +10,7 @@ class Mode virtual bool expose (GnomeScreensaver & gs) = 0; virtual bool configure (GnomeScreensaver & gs) = 0; virtual bool update (GnomeScreensaver & gs) = 0; + void getRandomAxis(float (*axis)[3]); }; #endif /* MODE_H */ diff --git a/modes/Spin.cc b/modes/Spin.cc index 29909a4..ab6365a 100644 --- a/modes/Spin.cc +++ b/modes/Spin.cc @@ -100,15 +100,6 @@ void Spin::initMonitorInfo() } } -void Spin::getRandomAxis(float (*axis)[3]) -{ - double alpha = rand() / (double)RAND_MAX * 2.0 * M_PI; - double beta = rand() / (double)RAND_MAX * M_PI; - (*axis)[0] = cos(alpha) * sin(beta); - (*axis)[1] = sin(alpha) * sin(beta); - (*axis)[2] = cos(beta); -} - uint32_t Spin::getRandomSwitchTime() { return 2000u + (uint32_t) (rand() / (double)RAND_MAX * 3000.0); diff --git a/modes/Spin.h b/modes/Spin.h index 46f873f..4bcebb6 100644 --- a/modes/Spin.h +++ b/modes/Spin.h @@ -28,7 +28,6 @@ class Spin : public Mode monitor_info_t *m_monitor_info; uint64_t m_last_ticks; void initMonitorInfo(); - void getRandomAxis(float (*axis)[3]); uint32_t getRandomSwitchTime(); float getRandomSpeed(); };