10 changed files with 57 additions and 8 deletions
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Y Axis turbulence |
||||
*/ |
||||
|
||||
#pragma once |
||||
#include <memory> |
||||
|
||||
#include "terrain/noisemodule.h" |
||||
|
||||
namespace vtk::noise { |
||||
|
||||
class YTurbulence : public NoiseModule { |
||||
public: |
||||
YTurbulence(std::shared_ptr<NoiseModule> input, std::shared_ptr<NoiseModule> modifier); |
||||
YTurbulence(std::shared_ptr<NoiseModule> input, std::shared_ptr<NoiseModule> modifier, const double& multiplier); |
||||
double get3D(const double&x, const double&y, const double&z); |
||||
|
||||
protected: |
||||
std::shared_ptr<NoiseModule> mInput; |
||||
std::shared_ptr<NoiseModule> mModifier; |
||||
double mMultiplier; |
||||
}; |
||||
} |
@ -0,0 +1,23 @@
@@ -0,0 +1,23 @@
|
||||
#include <iostream> |
||||
|
||||
#include "terrain/yturbulence.h" |
||||
|
||||
namespace vtk::noise { |
||||
|
||||
YTurbulence::YTurbulence(std::shared_ptr<NoiseModule> input, std::shared_ptr<NoiseModule> modifier) { |
||||
mInput = input; |
||||
mModifier = modifier; |
||||
} |
||||
|
||||
YTurbulence::YTurbulence(std::shared_ptr<NoiseModule> input, std::shared_ptr<NoiseModule> modifier, const double& multiplier) { |
||||
mInput = input; |
||||
mModifier = modifier; |
||||
mMultiplier = multiplier; |
||||
} |
||||
|
||||
double YTurbulence::get3D(const double&x, const double&y, const double&z) { |
||||
double mod = mModifier->get3D(x,y,z) * mMultiplier; |
||||
return mInput->get3D(x, y + mod, z); |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue