Class RidgeMesh

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class RidgeMesh : public sota::TileMesh

Subclassed by sota::HillMesh, sota::MountainMesh, sota::PlainMesh, sota::WaterMesh

Public Functions

RidgeMesh() = default
RidgeMesh(const RidgeMesh &other) = delete
RidgeMesh(RidgeMesh &&other) = delete
RidgeMesh &operator=(RidgeMesh &&rhs) = delete
inline std::pair<float, float> get_min_max_height() const
void set_plain_noise(Ref<FastNoiseLite> plain_noise)
void set_ridge_noise(Ref<FastNoiseLite> ridge_noise)
inline void set_ridges(std::vector<Ridge*> r)
void set_shift_compress(float y_shift, float y_compress)
void calculate_corner_points_distances_to_border(DiscreteVertexToDistance &distance_map, int divisions)
void calculate_initial_heights()
virtual void calculate_final_heights(DiscreteVertexToDistance &distance_map, float diameter, int divisions) = 0
inline void calculate_normals()
inline void update()
inline void recalculate_all_except_vertices()
inline void init()
inline Vector3 get_center()
inline virtual SotaMesh *inner_mesh() const override
inline virtual int get_id() override

Protected Functions

inline RidgeMesh(Hexagon hex, RidgeHexMeshParams params)
inline RidgeMesh(Pentagon pentagon, RidgePentagonMeshParams params)
void shift_compress()
void calculate_ridge_based_heights(std::function<double(double, double, double)> interpolation_func, float ridge_offset, DiscreteVertexToDistance &distance_map, int divisions)

Protected Attributes

Vector3Array _initial_vertices
Ref<FastNoiseLite> _plain_noise
Ref<FastNoiseLite> _ridge_noise
std::vector<Ridge*> _ridges
float _min_height = std::numeric_limits<float>::max()
float _max_height = std::numeric_limits<float>::min()
float _y_shift = 0.0f
float _y_compress = 1.0f
Ref<SotaMesh> _mesh
std::unique_ptr<MeshProcessor> _processor

Protected Static Functions

static void _bind_methods()