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

#include <hydrology.hpp>

Collaboration diagram for hmap::DrainageBasins:

Public Member Functions

size_t get_basins_number () const
 
std::vector< std::vector< glm::ivec2 > > get_main_channels ()
 
std::vector< glm::ivec2 > get_outlets () const
 
std::vector< glm::ivec2 > get_ridges ()
 
std::vector< std::vector< glm::ivec2 > > get_ridges_neighbors ()
 
void generate_traversal (const Array &z, FlowDirectionMethod fd_method=FlowDirectionMethod::FDM_D8, bool remove_lakes=true, const std::vector< glm::ivec2 > &outlets={})
 
void generate_traversal_d8 (const Array &z, bool remove_lakes=true, const std::vector< glm::ivec2 > &outlets={})
 
void generate_traversal_priority_flood (const Array &z, const std::vector< glm::ivec2 > &outlets={})
 
void accumulate (Array &acc) const
 
void traverse_downstream (std::function< void(int, int, int, int, int)> op)
 
void traverse_downstream (std::function< void(int, int, int)> op)
 
void traverse_upstream (std::function< void(int, int, int, int, int)> op)
 
void traverse_upstream (std::function< void(int, int, int)> op)
 

Public Attributes

std::vector< std::vector< glm::ivec2 > > upstream_traversal
 
Mat< glm::ivec2 > next = Mat<glm::ivec2>({0, 0})
 
glm::ivec2 null_cell = glm::ivec2(-1, -1)
 

Member Function Documentation

◆ get_basins_number()

size_t hmap::DrainageBasins::get_basins_number ( ) const

◆ get_main_channels()

std::vector< std::vector< glm::ivec2 > > hmap::DrainageBasins::get_main_channels ( )

◆ get_outlets()

std::vector< glm::ivec2 > hmap::DrainageBasins::get_outlets ( ) const

◆ get_ridges()

std::vector< glm::ivec2 > hmap::DrainageBasins::get_ridges ( )

◆ get_ridges_neighbors()

std::vector< std::vector< glm::ivec2 > > hmap::DrainageBasins::get_ridges_neighbors ( )

◆ generate_traversal()

void hmap::DrainageBasins::generate_traversal ( const Array z,
FlowDirectionMethod  fd_method = FlowDirectionMethod::FDM_D8,
bool  remove_lakes = true,
const std::vector< glm::ivec2 > &  outlets = {} 
)

◆ generate_traversal_d8()

void hmap::DrainageBasins::generate_traversal_d8 ( const Array z,
bool  remove_lakes = true,
const std::vector< glm::ivec2 > &  outlets = {} 
)

◆ generate_traversal_priority_flood()

void hmap::DrainageBasins::generate_traversal_priority_flood ( const Array z,
const std::vector< glm::ivec2 > &  outlets = {} 
)

◆ accumulate()

void hmap::DrainageBasins::accumulate ( Array acc) const

◆ traverse_downstream() [1/2]

void hmap::DrainageBasins::traverse_downstream ( std::function< void(int, int, int, int, int)>  op)

◆ traverse_downstream() [2/2]

void hmap::DrainageBasins::traverse_downstream ( std::function< void(int, int, int)>  op)

◆ traverse_upstream() [1/2]

void hmap::DrainageBasins::traverse_upstream ( std::function< void(int, int, int, int, int)>  op)

◆ traverse_upstream() [2/2]

void hmap::DrainageBasins::traverse_upstream ( std::function< void(int, int, int)>  op)

Member Data Documentation

◆ upstream_traversal

std::vector<std::vector<glm::ivec2> > hmap::DrainageBasins::upstream_traversal

◆ next

Mat<glm::ivec2> hmap::DrainageBasins::next = Mat<glm::ivec2>({0, 0})

◆ null_cell

glm::ivec2 hmap::DrainageBasins::null_cell = glm::ivec2(-1, -1)

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