HighMap library (C++)
Loading...
Searching...
No Matches
hmap::DrainageBasin Class Reference

#include <drainage_basin.hpp>

Public Member Functions

 DrainageBasin (std::vector< glm::vec3 > xyz_)
 
const std::vector< glm::vec3 > & get_xyz () const
 
size_t size () const
 
void to_csv (const std::string &filename) const
 
const TerrainTriMeshget_mesh () const
 
TerrainTriMeshget_mesh ()
 
std::vector< float > compute_vertex_areas () const
 
void remap (float zmin=0.f, float zmax=1.f)
 
void compute_receivers ()
 
void compute_receivers (unsigned int seed, float noise_strength=0.25f)
 
void update_stream_tree (unsigned int seed, float noise_strength)
 
void update_stream_tree ()
 
void update_traversals ()
 
std::vector< size_t > get_outlets () const
 
void set_outlets (const std::vector< size_t > &outlet_indices)
 
const std::vector< size_t > & get_receivers () const
 
std::vector< bool > compute_is_ridge_node () const
 
std::vector< size_t > compute_strahler_order () const
 
std::pair< std::vector< size_t >, bool > find_subroots ()
 
std::vector< std::vector< size_t > > get_main_channels () const
 
void remove_lakes (const std::vector< size_t > &subroot)
 
std::vector< float > compute_response_times (const std::vector< float > &area_acc, const std::vector< float > &erodibility, float m_exp) const
 
float update_elevations (const std::vector< float > &response_times, float uplift_rate, const std::vector< float > &max_slope)
 
void accumulate_area_by_outlet (const std::vector< float > &area, std::vector< float > &acc) const
 
const std::vector< size_t > & for_each_upstream (size_t outlet) const
 
auto for_each_downstream (size_t outlet) const
 

Constructor & Destructor Documentation

◆ DrainageBasin()

hmap::DrainageBasin::DrainageBasin ( std::vector< glm::vec3 >  xyz_)

Member Function Documentation

◆ get_xyz()

const std::vector< glm::vec3 > & hmap::DrainageBasin::get_xyz ( ) const

◆ size()

size_t hmap::DrainageBasin::size ( ) const

◆ to_csv()

void hmap::DrainageBasin::to_csv ( const std::string &  filename) const

◆ get_mesh() [1/2]

const TerrainTriMesh & hmap::DrainageBasin::get_mesh ( ) const

◆ get_mesh() [2/2]

TerrainTriMesh & hmap::DrainageBasin::get_mesh ( )

◆ compute_vertex_areas()

std::vector< float > hmap::DrainageBasin::compute_vertex_areas ( ) const

◆ remap()

void hmap::DrainageBasin::remap ( float  zmin = 0.f,
float  zmax = 1.f 
)

◆ compute_receivers() [1/2]

void hmap::DrainageBasin::compute_receivers ( )

◆ compute_receivers() [2/2]

void hmap::DrainageBasin::compute_receivers ( unsigned int  seed,
float  noise_strength = 0.25f 
)

◆ update_stream_tree() [1/2]

void hmap::DrainageBasin::update_stream_tree ( unsigned int  seed,
float  noise_strength 
)

◆ update_stream_tree() [2/2]

void hmap::DrainageBasin::update_stream_tree ( )

◆ update_traversals()

void hmap::DrainageBasin::update_traversals ( )

◆ get_outlets()

std::vector< size_t > hmap::DrainageBasin::get_outlets ( ) const

◆ set_outlets()

void hmap::DrainageBasin::set_outlets ( const std::vector< size_t > &  outlet_indices)

◆ get_receivers()

const std::vector< size_t > & hmap::DrainageBasin::get_receivers ( ) const

◆ compute_is_ridge_node()

std::vector< bool > hmap::DrainageBasin::compute_is_ridge_node ( ) const

◆ compute_strahler_order()

std::vector< size_t > hmap::DrainageBasin::compute_strahler_order ( ) const

◆ find_subroots()

std::pair< std::vector< size_t >, bool > hmap::DrainageBasin::find_subroots ( )

◆ get_main_channels()

std::vector< std::vector< size_t > > hmap::DrainageBasin::get_main_channels ( ) const

◆ remove_lakes()

void hmap::DrainageBasin::remove_lakes ( const std::vector< size_t > &  subroot)

◆ compute_response_times()

std::vector< float > hmap::DrainageBasin::compute_response_times ( const std::vector< float > &  area_acc,
const std::vector< float > &  erodibility,
float  m_exp 
) const

◆ update_elevations()

float hmap::DrainageBasin::update_elevations ( const std::vector< float > &  response_times,
float  uplift_rate,
const std::vector< float > &  max_slope 
)

◆ accumulate_area_by_outlet()

void hmap::DrainageBasin::accumulate_area_by_outlet ( const std::vector< float > &  area,
std::vector< float > &  acc 
) const

◆ for_each_upstream()

const std::vector< size_t > & hmap::DrainageBasin::for_each_upstream ( size_t  outlet) const

◆ for_each_downstream()

auto hmap::DrainageBasin::for_each_downstream ( size_t  outlet) const
inline

The documentation for this class was generated from the following files: