Class Polyhedron

Inheritance Relationships

Base Type

  • public Node3D

Derived Types

Class Documentation

class Polyhedron : public Node3D

Subclassed by sota::PrismPolyhedron, sota::RidgeBasedPolyhedron

Public Functions

Polyhedron()
Polyhedron(const Polyhedron &other) = delete
Polyhedron(Polyhedron &&other) = delete
Polyhedron &operator=(Polyhedron &&rhs) = delete
void set_divisions(const int p_divisions)
int get_divisions() const
void set_patch_resolution(const int p_patch_resolution)
int get_patch_resolution() const
void set_shader(const Ref<Shader> p_shader)
Ref<Shader> get_shader() const
void set_biomes_noise(const Ref<FastNoiseLite> p_biomes_noise)
Ref<FastNoiseLite> get_biomes_noise() const
void set_plain_texture(const Ref<Texture> p_texture)
Ref<Texture> get_plain_texture() const
void set_hill_texture(const Ref<Texture> p_texture)
Ref<Texture> get_hill_texture() const
void set_water_texture(const Ref<Texture> p_texture)
Ref<Texture> get_water_texture() const
void set_mountain_texture(const Ref<Texture> p_texture)
Ref<Texture> get_mountain_texture() const

Protected Functions

virtual void configure_hexagon(PolygonWrapper &wrapper, Biome biome, int &id, Ref<ShaderMaterial> mat) = 0
virtual void configure_pentagon(PolygonWrapper &wrapper, Biome biome, int &id, Ref<ShaderMaterial> mat) = 0
virtual void process_cells() = 0
virtual void set_material_parameters(Ref<ShaderMaterial> mat) = 0
virtual void calculate_normals() = 0
void init()
template<typename T>
void process_ngons(std::vector<PolygonWrapper*> &ngons, float min_z, float max_z)

Protected Attributes

Ref<Shader> _shader
Ref<FastNoiseLite> _biomes_noise
std::unordered_map<Biome, Ref<Texture>> _texture
std::vector<PolygonWrapper*> _hexagons
std::vector<PolygonWrapper*> _pentagons

Protected Static Functions

static void _bind_methods()