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
 
std::vector< glm::vec3 > & get_xyz ()
 
size_t size () const
 
void to_csv (const std::string &filename) const
 
std::vector< float > compute_vertex_areas () const
 
void remap (float zmin=0.f, float zmax=1.f)
 
void smooth_mesh (float lambda, int iterations=1)
 
void smooth_mesh_taubin (float lambda, float mu, int iterations=1)
 
void compute_receivers ()
 
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< size_t > compute_strahler_order () const
 
std::pair< std::vector< size_t >, bool > find_subroots ()
 
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() [1/2]

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

◆ get_xyz() [2/2]

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

◆ size()

size_t hmap::DrainageBasin::size ( ) const

◆ to_csv()

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

◆ 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 
)

◆ smooth_mesh()

void hmap::DrainageBasin::smooth_mesh ( float  lambda,
int  iterations = 1 
)

◆ smooth_mesh_taubin()

void hmap::DrainageBasin::smooth_mesh_taubin ( float  lambda,
float  mu,
int  iterations = 1 
)

◆ compute_receivers()

void hmap::DrainageBasin::compute_receivers ( )

◆ update_stream_tree()

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_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 ( )

◆ 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: