Program Listing for File noise_polyhedron.h
↰ Return to documentation for file (src/polyhedron/noise_polyhedron.h)
#pragma once
#include "polyhedron/polyhedron_noise_processor.h"
#include "polyhedron/ridge_based_polyhedron.h"
namespace sota {
class PolygonWrapper;
class NoisePolyhedron : public RidgeBasedPolyhedron {
GDCLASS(NoisePolyhedron, RidgeBasedPolyhedron)
public:
NoisePolyhedron() = default;
NoisePolyhedron(const NoisePolyhedron& other) = delete;
NoisePolyhedron(NoisePolyhedron&& other) = delete;
// copying operator= defined inside GDCLASS
NoisePolyhedron& operator=(NoisePolyhedron&& rhs) = delete;
protected:
static void _bind_methods() {}
void set_material_parameters(Ref<ShaderMaterial> mat) override {}
void configure_hexagon(PolygonWrapper& wrapper, Biome biome, int& id, Ref<ShaderMaterial> mat) override {
_noise_processor.configure_hexagon(wrapper, biome, id, mat, *this);
}
void configure_pentagon(PolygonWrapper& wrapper, Biome biome, int& id, Ref<ShaderMaterial> mat) override {
_noise_processor.configure_pentagon(wrapper, biome, id, mat, *this);
}
void process_cells() override { _noise_processor.process(*this); }
private:
friend PolyhedronNoiseProcessor;
PolyhedronNoiseProcessor _noise_processor;
};
} // namespace sota