Skip to content

File water.cpp

FileList > methods > water > water.cpp

Go to the source code of this file

  • #include "water.hpp"
  • #include <queue>
  • #include "config_input/config_input.hpp"
  • #include "grid/grid.hpp"
  • #include "utilities/coordinate.hpp"
  • #include "utilities/timer.hpp"

Classes

Type Name
struct PriorityPoint

Public Functions

Type Name
GeoGrid< double > catchment_size (const GeoGrid< double > & filled)
GeoGrid< double > fill_depressions (const GeoGrid< double > & grid, const std::vector< Coordinate2D< size_t > > & sinks)
std::optional< Coordinate2D< size_t > > flows_to (const GeoGrid< double > & grid, const Coordinate2D< size_t > & coord)
std::vector< Coordinate2D< size_t > > identify_sinks (const GeoGrid< double > & grid, double depth, double min_area)
std::vector< Coordinate2D< double > > smoothify (const std::vector< Coordinate2D< double > > & path)
std::vector< Coordinate2D< size_t > > stream_path (const GeoGrid< bool > & stream, GeoGrid< bool > & visited, const GeoGrid< double > & heights, std::vector< Coordinate2D< size_t > > && start, std::queue< std::vector< Coordinate2D< size_t > > > & queue_of_starts)
std::vector< Stream > stream_paths (const GeoGrid< double > & grid, const WaterConfigs & config, ProgressTracker progress_tracker, bool already_filled)
GeoGrid< bool > streams (const GeoGrid< double > & filled_ground, const GeoGrid< double > & catchment, double minimum_catchment)

Macros

Type Name
define SQ (x) ((x) \* (x))

Public Functions Documentation

function catchment_size

GeoGrid < double > catchment_size (
    const  GeoGrid < double > & filled
) 

function fill_depressions

GeoGrid < double > fill_depressions (
    const  GeoGrid < double > & grid,
    const std::vector< Coordinate2D < size_t > > & sinks
) 

function flows_to

std::optional< Coordinate2D < size_t > > flows_to (
    const  GeoGrid < double > & grid,
    const  Coordinate2D < size_t > & coord
) 

function identify_sinks

std::vector< Coordinate2D < size_t > > identify_sinks (
    const  GeoGrid < double > & grid,
    double depth,
    double min_area
) 

function smoothify

std::vector< Coordinate2D < double > > smoothify (
    const std::vector< Coordinate2D < double > > & path
) 

function stream_path

std::vector< Coordinate2D < size_t > > stream_path (
    const  GeoGrid < bool > & stream,
    GeoGrid < bool > & visited,
    const  GeoGrid < double > & heights,
    std::vector< Coordinate2D < size_t > > && start,
    std::queue< std::vector< Coordinate2D < size_t > > > & queue_of_starts
) 

function stream_paths

std::vector< Stream > stream_paths (
    const  GeoGrid < double > & grid,
    const  WaterConfigs & config,
    ProgressTracker progress_tracker,
    bool already_filled
) 

function streams

GeoGrid < bool > streams (
    const  GeoGrid < double > & filled_ground,
    const  GeoGrid < double > & catchment,
    double minimum_catchment
) 

Macro Definition Documentation

define SQ

#define SQ (
    x
) `((x) * (x))`


The documentation for this class was generated from the following file /home/runner/work/Blaze/Blaze/src/methods/water/water.cpp