FlattenNoise.cpp 485 B

123456789101112131415161718192021222324
  1. #include "FlattenNoise.h"
  2. FlattenNoise::FlattenNoise(Noise* base, double factor, double minValue)
  3. : Noise(),
  4. base(base),
  5. factor(factor),
  6. minValue(minValue)
  7. {}
  8. FlattenNoise::~FlattenNoise()
  9. {
  10. base->release();
  11. }
  12. int FlattenNoise::getSeed() const
  13. {
  14. return base->getSeed();
  15. }
  16. double FlattenNoise::getNoise(double x, double y, double z)
  17. {
  18. double value = (base->getNoise(x, y, z) - 0.5) * factor + 0.5 + minValue;
  19. return MAX(MIN(value, 1.0), 0.0);
  20. }