Modular Megafauna Model 1.1.5
A physiological, dynamic herbivore simulator in C++.
Loading...
Searching...
No Matches
forage_distribution_algorithms.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020 W. Traylor <wolfgang.traylor@senckenberg.de>
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
11#ifndef FAUNA_FORAGE_DISTRIBUTION_ALGORITHMS_H
12#define FAUNA_FORAGE_DISTRIBUTION_ALGORITHMS_H
13
14#include "forage_values.h"
15
16namespace Fauna {
17// Forward Declarations
18class HabitatForage;
19
21
24
37 virtual void operator()(const HabitatForage& available,
38 ForageDistribution& forage_distribution) const = 0;
39
41
43 virtual ~DistributeForage() {}
44};
45
47
67 virtual void operator()(const HabitatForage& available,
68 ForageDistribution& forage_distribution) const;
69};
70
71} // namespace Fauna
72#endif // FAUNA_FORAGE_DISTRIBUTION_ALGORITHMS_H
All values for large herbivore forage in a Habitat.
Definition: habitat_forage.h:21
Basic classes encapsulating forage amounts & fractions.
Definition: average.h:16
std::vector< std::pair< HerbivoreInterface *, ForageMass > > ForageDistribution
Data structure defining which herbivore gets what to eat [kgDM/km²].
Definition: forage_values.h:399
Equal forage distribution algorithm.
Definition: forage_distribution_algorithms.h:66
virtual void operator()(const HabitatForage &available, ForageDistribution &forage_distribution) const
Distribute forage equally among herbivores.
Definition: forage_distribution_algorithms.cpp:16
Interface for a forage distribution algorithm.
Definition: forage_distribution_algorithms.h:22
virtual ~DistributeForage()
Virtual destructor.
Definition: forage_distribution_algorithms.h:43
virtual void operator()(const HabitatForage &available, ForageDistribution &forage_distribution) const =0
Distribute forage equally among herbivores.