#pragma once #include #include "Assembly.h" class Sinewave { using clock = std::chrono::high_resolution_clock; public: Sinewave(); void apply(AssemblyContext ctx); void set_amplitude(double amplitude); void set_frequency(double frequency); void set_phase(double phase); double get_amplitude() const; double get_frequency() const; double get_phase() const; double get_point() const; private: const std::chrono::high_resolution_clock::time_point m_start_time; double m_amplitude; double m_frequency; double m_phase; };