SEConsumeNutrients.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5
6#include "cdm/patient/actions/SEPatientAction.h"
7#include "cdm/patient/SENutrition.h"
8
9class CDM_DECL SEConsumeNutrients : public SEPatientAction
10{
11 friend class PBPatientAction;//friend the serialization class
12public:
13
14 SEConsumeNutrients(Logger* logger=nullptr);
15 virtual ~SEConsumeNutrients();
16
17 static constexpr char const* Name = "Consume Nutrients";
18 virtual std::string GetName() const { return Name; }
19
20 virtual void Clear(); //clear memory
21 virtual void Copy(const SEConsumeNutrients& src, bool /*preserveState*/=false);
22
23 virtual bool IsValid() const;
24 virtual bool IsActive() const;
25 virtual void Deactivate();
26
27 bool HasNutrition() const;
28 SENutrition& GetNutrition();
29 const SENutrition* GetNutrition() const;
30
31 virtual std::string GetNutritionFile() const;
32 virtual void SetNutritionFile(const std::string& fileName);
33 virtual bool HasNutritionFile() const;
34
35 virtual const SEScalar* GetScalar(const std::string& name);
36
37protected:
39 std::string m_NutritionFile;
40};
Definition: Logger.h:71
Definition: PBPatientActions.h:48
virtual const SEScalar * GetScalar(const std::string &name)=0
virtual bool IsActive() const
Definition: SEAction.h:39
virtual void Deactivate()
Definition: SEAction.h:41
static SEAction * Copy(const SEAction &, const SESubstanceManager &)
Definition: SEAction.cpp:54
Definition: SEConsumeNutrients.h:10
SENutrition * m_Nutrition
Definition: SEConsumeNutrients.h:38
std::string m_NutritionFile
Definition: SEConsumeNutrients.h:39
virtual std::string GetName() const
Definition: SEConsumeNutrients.h:18
Definition: SENutrition.h:7
Definition: SEPatientAction.h:8
virtual bool IsValid() const
Definition: SEPatientAction.cpp:22
virtual void Clear()
Definition: SEPatientAction.cpp:17
Definition: SEScalar.h:19

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.