#include "ShapedNoise.h" ShapedNoise::ShapedNoise(Noise* delegateNoise) : delegateNoise(delegateNoise), neighborOffset(1) {} ShapedNoise ::~ShapedNoise() { delegateNoise->release(); } void ShapedNoise::setNeighborOffset(double offset) { neighborOffset = offset; } double ShapedNoise::getNoise(double x, double y, double z) { double max = 0; double noise = delegateNoise->getNoise(x, y, z); double value = abs(noise - delegateNoise->getNoise(x + neighborOffset, y, z)); max = MAX(max, value); value = abs(noise - delegateNoise->getNoise(x, y + neighborOffset, z)); max = MAX(max, value); value = abs(noise - delegateNoise->getNoise(x, y, z + neighborOffset)); max = MAX(max, value); return max; } int ShapedNoise::getSeed() const { return delegateNoise->getSeed(); }