hydrobricks
Loading...
Searching...
No Matches
LandCover.h
1#ifndef HYDROBRICKS_BASE_LAND_COVER_H
2#define HYDROBRICKS_BASE_LAND_COVER_H
3
4#include "Brick.h"
5#include "Includes.h"
6
7class HydroUnit;
9
10class LandCover : public Brick {
11 public:
12 LandCover();
13
17 [[nodiscard]] bool CanHaveAreaFraction() const override {
18 return true;
19 }
20
26 double GetAreaFraction() const {
27 return _areaFraction;
28 }
29
36 return &_areaFraction;
37 }
38
44 void SetAreaFraction(double value);
45
49 [[nodiscard]] bool IsLandCover() const override {
50 return true;
51 }
52
56 [[nodiscard]] bool IsNull() const override {
57 return NearlyZero(_areaFraction, PRECISION);
58 }
59
65 virtual void SurfaceComponentAdded(SurfaceComponent* brick);
66
67 protected:
68 double _areaFraction;
69};
70
71#endif // HYDROBRICKS_BASE_LAND_COVER_H
Definition Brick.h:24
Definition HydroUnit.h:18
Definition LandCover.h:10
virtual void SurfaceComponentAdded(SurfaceComponent *brick)
Definition LandCover.cpp:24
bool CanHaveAreaFraction() const override
Definition LandCover.h:17
void SetAreaFraction(double value)
Definition LandCover.cpp:12
bool IsNull() const override
Definition LandCover.h:56
double GetAreaFraction() const
Definition LandCover.h:26
double * GetAreaFractionPointer()
Definition LandCover.h:35
bool IsLandCover() const override
Definition LandCover.h:49
Definition SurfaceComponent.h:10