24 #ifndef _triangle_mesh_terrain_h_
25 #define _triangle_mesh_terrain_h_
Interface for class TriangleMesh.
void do_power_law(const ParametersTerrain ¶meters)
Apply power law.
Definition: triangle_mesh_terrain.cpp:103
TriangleMeshTerrainFlat(const ParametersTerrain ¶meters, Progress *progress)
Constructor.
Definition: triangle_mesh_terrain.cpp:679
Contains vertices and triangles of a triangle mesh.
Definition: triangle_mesh.h:49
TriangleMeshTerrain(Progress *progress)
Constructor.
Definition: triangle_mesh_terrain.cpp:26
void do_noise(const ParametersTerrain ¶meters)
Add noise to the terrain.
Definition: triangle_mesh_terrain.cpp:35
A subdivided icosahedron.
Definition: triangle_mesh.h:292
void do_rivers(const ParametersTerrain ¶meters)
Generate river network.
Definition: triangle_mesh_terrain.cpp:128
Class for 2D raster images of a specified type.
Definition: image.h:75
~TriangleMeshTerrainPlanet()
Destructor.
Definition: triangle_mesh_terrain.h:99
void do_terrain(const ParametersTerrain ¶meters)
Invokes all the above steps (sea-level through final colouring) on a pre-subdivided triangle mesh...
Definition: triangle_mesh_terrain.cpp:415
float max_height
Maximum height of terrain (used to scale to/from "normalised" height).
Definition: triangle_mesh_terrain.h:69
Interface (and implementation) for templated Image class.
std::set< uint > river_vertices
Indices of the set of vertices comprising the river network.
Definition: triangle_mesh_terrain.h:66
virtual void write_blender(std::ofstream &out, const ParametersSave &, const ParametersTerrain &, const std::string &mesh_name) const
Dump the model for Blender.
Definition: triangle_mesh_terrain.cpp:426
Class to hold vectors in 3D cartesian co-ordinates.
Definition: xyz.h:34
Mix-in class for call-backs from long operations.
Definition: progress.h:30
void do_sea_level(const ParametersTerrain ¶meters)
Impose a sea level (raise lower vertices, and note sea triangles).
Definition: triangle_mesh_terrain.cpp:59
~TriangleMeshTerrainFlat()
Destructor.
Definition: triangle_mesh_terrain.h:115
TriangleMeshTerrainPlanet(const ParametersTerrain ¶m, Progress *progress)
Constructor.
Definition: triangle_mesh_terrain.cpp:647
This class aggregates the controllable parameters for all things related to terrain generation...
Definition: parameters_terrain.h:35
virtual void write_povray(std::ofstream &out, const ParametersSave &, const ParametersTerrain &) const =0
Dump the model as a POV scene.
Class constructing specific case of a planetary terrain.
Definition: triangle_mesh_terrain.h:91
void write_povray(std::ofstream &out, const ParametersSave &, const ParametersTerrain &) const
Specifc dump-to-povray for flat terrain area.
Definition: triangle_mesh_terrain.cpp:689
void write_povray(std::ofstream &out, const ParametersSave &, const ParametersTerrain &) const
Specifc dump-to-povray for planet terrain.
Definition: triangle_mesh_terrain.cpp:655
void do_colours(const ParametersTerrain ¶meters)
Final colouration pass.
Definition: triangle_mesh_terrain.cpp:334
std::set< uint > sea_triangles
Indices of the set of triangles with all vertices at sea-level.
Definition: triangle_mesh_terrain.h:63
~TriangleMeshTerrain()
Destructor.
Definition: triangle_mesh_terrain.cpp:31
This class holds all the terrain-related methods.
Definition: triangle_mesh_terrain.h:36
Class constructing specific case of a flat-base terrain area.
Definition: triangle_mesh_terrain.h:107
virtual void render_texture(Raster< ByteRGBA > &, Raster< ushort > *, Raster< ByteRGBA > *, bool shading, float ambient, const XYZ &illumination) const
Render the mesh onto raster images (colour texture, and optionally 16-bit DEM and/or normal map)...
Definition: triangle_mesh_terrain.cpp:585
Interface for class ParametersTerrain.
A single triangle lying in the z-plane.
Definition: triangle_mesh.h:244