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

#include <hydrology.hpp>

Collaboration diagram for hmap::DrainageBasinCellBased:

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)
 
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() [1/2]

size_t hmap::DrainageBasinCellBased::get_basins_number ( ) const

◆ get_main_channels() [1/2]

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

◆ get_outlets() [1/2]

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

◆ get_ridges() [1/2]

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

◆ get_ridges_neighbors() [1/2]

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

◆ generate_traversal() [1/2]

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

◆ generate_traversal_d8() [1/2]

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

◆ generate_traversal_priority_flood() [1/2]

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

◆ accumulate() [1/2]

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

◆ traverse_downstream() [1/4]

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

◆ traverse_downstream() [2/4]

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

◆ traverse_upstream() [1/4]

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

◆ traverse_upstream() [2/4]

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

◆ get_basins_number() [2/2]

size_t hmap::DrainageBasinCellBased::get_basins_number ( ) const

◆ get_main_channels() [2/2]

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

◆ get_outlets() [2/2]

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

◆ get_ridges() [2/2]

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

◆ get_ridges_neighbors() [2/2]

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

◆ generate_traversal() [2/2]

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

◆ generate_traversal_d8() [2/2]

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

◆ generate_traversal_priority_flood() [2/2]

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

◆ accumulate() [2/2]

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

◆ traverse_downstream() [3/4]

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

◆ traverse_downstream() [4/4]

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

◆ traverse_upstream() [3/4]

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

◆ traverse_upstream() [4/4]

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

Member Data Documentation

◆ upstream_traversal

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

◆ next

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

◆ null_cell

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

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