HighMap library (C++)
Loading...
Searching...
No Matches
hydrology.hpp File Reference

Header file for hydrological modeling functions and utilities. More...

Go to the source code of this file.

Namespaces

namespace  hmap
 
namespace  hmap::gpu
 

Functions

Array hmap::d8_compute_ndip (const Array &d8)
 Computes the number of drainage paths for each cell based on the D8 flow direction model.
 
void hmap::find_flow_sinks (const Array &z, std::vector< int > &is, std::vector< int > &js)
 Identifies the indices of flow sinks within the heightmap.
 
Array hmap::flooding_from_point (const Array &z, const int i, const int j)
 
Array hmap::flooding_from_point (const Array &z, const std::vector< int > &i, const std::vector< int > &j)
 
Array hmap::flow_accumulation_d8 (const Array &z)
 Computes the flow accumulation for each cell using the D8 flow direction model.
 
Array hmap::flow_accumulation_dinf (const Array &z, float talus_ref)
 Computes the flow accumulation for each cell using the Multiple Flow Direction (MFD) model.
 
Array hmap::flow_direction_d8 (const Array &z)
 Computes the flow direction from each cell to its downslope neighbor using the D8 model.
 
std::vector< Arrayhmap::flow_direction_dinf (const Array &z, float talus_ref)
 Computes the flow direction and weights for each direction using the Multiple Flow Direction (MFD) model.
 
Path hmap::flow_stream (const Array &z, const Vec2< int > ij_start, const float elevation_ratio=0.5f, const float distance_exponent=2.f, const float upward_penalization=100.f)
 Computes the optimal flow path from a starting point to the boundary of a given elevation array.
 
Array hmap::generate_riverbed (const Path &path, Vec2< int > shape, Vec4< float > bbox={0.f, 1.f, 0.f, 1.f}, bool bezier_smoothing=false, float depth_start=0.01f, float depth_end=1.f, float slope_start=64.f, float slope_end=32.f, float shape_exponent_start=1.f, float shape_exponent_end=10.f, float k_smoothing=0.5f, int post_filter_ir=0, Array *p_noise_x=nullptr, Array *p_noise_y=nullptr, Array *p_noise_r=nullptr)
 Generates a 2D array representing a riverbed based on a specified path.
 
Array hmap::gpu::flow_direction_d8 (const Array &z)
 See hmap::flow_direction_d8.
 
Array hmap::gpu::generate_riverbed (const Path &path, Vec2< int > shape, Vec4< float > bbox={0.f, 1.f, 0.f, 1.f}, bool bezier_smoothing=false, float depth_start=0.01f, float depth_end=1.f, float slope_start=64.f, float slope_end=32.f, float shape_exponent_start=1.f, float shape_exponent_end=10.f, float k_smoothing=0.5f, int post_filter_ir=0, Array *p_noise_x=nullptr, Array *p_noise_y=nullptr, Array *p_noise_r=nullptr)
 See hmap::generate_riverbed.
 

Detailed Description

Header file for hydrological modeling functions and utilities.

Author
Otto Link (otto..nosp@m.link.nosp@m..bv@g.nosp@m.mail.nosp@m..com)

This header file declares functions and utilities for hydrological modeling, including tools for computing flow directions, flow accumulation, and identifying flow sinks within heightmaps. It supports multiple flow direction models and the D8 model for flow direction and accumulation calculations.

Key functionalities include:

  • Computation of flow directions and flow accumulations using various models.
  • Identification of flow sinks in heightmaps.
  • Support for multiple flow direction models with customizable flow-partition exponents.