pops-core
0.9
PoPS (Pest or Pathogen Spread) Model Core C++ library
|
Go to the documentation of this file.
16 #ifndef POPS_SWITCH_KERNEL_HPP
17 #define POPS_SWITCH_KERNEL_HPP
38 template<
typename IntegerRaster,
typename RasterIndex>
59 const bool deterministic =
false)
73 template<
typename Generator>
74 std::tuple<int, int>
operator()(Generator& generator,
int row,
int col)
134 #endif // POPS_SWITCH_KERNEL_HPP
static bool supports_kernel(const DispersalKernelType type)
Returns true if the kernel class support a given kernel type.
Dispersal kernel providing all the radial kernels.
DeterministicDispersalKernel< IntegerRaster > deterministic_kernel_
@ Uniform
Random uniform dispersal kernel.
static bool supports_kernel(const DispersalKernelType type)
Returns true if the kernel class support a given kernel type.
Dispersal kernel for deterministic spread to cell with highest probability of spread.
DeterministicNeighborDispersalKernel deterministic_neighbor_kernel_
@ DeterministicNeighbor
Deterministic immediate neighbor dispersal kernel.
Dispersal kernel for dispersal over a network.
DispersalKernelType
Type of dispersal kernel.
DispersalKernelType dispersal_kernel_type_
SwitchDispersalKernel(const DispersalKernelType &dispersal_kernel_type, const RadialDispersalKernel< IntegerRaster > &radial_kernel, const DeterministicDispersalKernel< IntegerRaster > &deterministic_kernel, const UniformDispersalKernel &uniform_kernel, const NetworkDispersalKernel< RasterIndex > &network_kernel, const DeterministicNeighborDispersalKernel &deterministic_neighbor_kernel=DeterministicNeighborDispersalKernel(Direction::None), const bool deterministic=false)
bool is_cell_eligible(int row, int col)
RadialDispersalKernel< IntegerRaster > radial_kernel_
Dispersal kernel for deterministic spread to a next cell.
std::tuple< int, int > operator()(Generator &generator, int row, int col)
Generates a new position for the spread.
UniformDispersalKernel uniform_kernel_
Dispersal kernel providing all the radial kernels.
Kernel types enum and helper functions.
NetworkDispersalKernel< RasterIndex > network_kernel_
@ None
No direction (non-directional)