#pragma once #include <ReferenceCounter.h> #include <Vec3.h> class Noise : public virtual Framework::ReferenceCounter { public: Noise(); virtual int getSeed() const = 0; /// <summary> /// get the noise value at a certain destination /// </summary> /// <param name="x">the x coord of the noice value</param> /// <param name="y">the y coord of the noice value</param> /// <param name="z">the z coord of the noice value</param> /// <returns>the noise value scaled to a range from 0 to 1</returns> virtual double getNoise(double x, double y, double z) = 0; double getNoise(Framework::Vec3<double>& pos); };