SECardiovascularMechanicsModifiers.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/properties/SEScalarUnsigned.h"
7
9{
10 friend class PBPhysiology;
11public:
12
15
16 virtual void Clear();// Deletes all members
17 virtual void Activate();
18 virtual bool IsActive() const;
19
28 virtual const SEScalar* GetScalar(const std::string& name);
29
30 bool SerializeToString(std::string& output, eSerializationFormat m) const;
31 bool SerializeToFile(const std::string& filename) const;
32 bool SerializeFromString(const std::string& src, eSerializationFormat m);
33 bool SerializeFromFile(const std::string& filename);
34
35 virtual bool HasArterialComplianceMultiplier() const;
36 virtual SEScalarUnsigned& GetArterialComplianceMultiplier();
37 virtual double GetArterialComplianceMultiplier() const;
38
39 virtual bool HasArterialResistanceMultiplier() const;
40 virtual SEScalarUnsigned& GetArterialResistanceMultiplier();
41 virtual double GetArterialResistanceMultiplier() const;
42
43 virtual bool HasPulmonaryComplianceMultiplier() const;
44 virtual SEScalarUnsigned& GetPulmonaryComplianceMultiplier();
45 virtual double GetPulmonaryComplianceMultiplier() const;;
46
47 virtual bool HasPulmonaryResistanceMultiplier() const;
48 virtual SEScalarUnsigned& GetPulmonaryResistanceMultiplier();
49 virtual double GetPulmonaryResistanceMultiplier() const;
50
51 virtual bool HasSystemicResistanceMultiplier() const;
52 virtual SEScalarUnsigned& GetSystemicResistanceMultiplier();
53 virtual double GetSystemicResistanceMultiplier() const;
54
55 virtual bool HasSystemicComplianceMultiplier() const;
56 virtual SEScalarUnsigned& GetSystemicComplianceMultiplier();
57 virtual double GetSystemicComplianceMultiplier() const;
58
59 virtual bool HasVenousComplianceMultiplier() const;
60 virtual SEScalarUnsigned& GetVenousComplianceMultiplier();
61 virtual double GetVenousComplianceMultiplier() const;
62
63 virtual bool HasVenousResistanceMultiplier() const;
64 virtual SEScalarUnsigned& GetVenousResistanceMultiplier();
65 virtual double GetVenousResistanceMultiplier() const;
66
67 virtual bool HasHeartRateMultiplier() const;
68 virtual SEScalarUnsigned& GetHeartRateMultiplier();
69 virtual double GetHeartRateMultiplier() const;
70
71 virtual bool HasStrokeVolumeMultiplier() const;
72 virtual SEScalarUnsigned& GetStrokeVolumeMultiplier();
73 virtual double GetStrokeVolumeMultiplier() const;
74
75 virtual std::string ToString() const;
76 virtual void ToString(std::ostream& str) const;
77
78protected:
87
90};
91
92inline std::ostream& operator<< (std::ostream& out, const SECardiovascularMechanicsModifiers* s)
93{
94 if (s == nullptr)
95 out << "Null Cardiovascular Mechanics Modifiers" << std::flush;
96 else
97 (*s).ToString(out);
98 return out;
99}
100inline std::ostream& operator<< (std::ostream& out, const SECardiovascularMechanicsModifiers& s)
101{
102 s.ToString(out);
103 return out;
104}
Definition: Logger.h:23
Definition: Logger.h:71
Definition: PBPhysiology.h:24
static bool SerializeFromFile(const std::string &filename, SECardiovascularMechanicsModifiers &dst)
Definition: PBPhysiology.cpp:241
static bool SerializeToString(const SECardiovascularMechanicsModifiers &src, std::string &output, eSerializationFormat m)
Definition: PBPhysiology.cpp:220
static bool SerializeToFile(const SECardiovascularMechanicsModifiers &src, const std::string &filename)
Definition: PBPhysiology.cpp:226
static bool SerializeFromString(const std::string &src, SECardiovascularMechanicsModifiers &dst, eSerializationFormat m)
Definition: PBPhysiology.cpp:233
Definition: SECardiovascularMechanicsModification.h:9
Definition: SECardiovascularMechanicsModifiers.h:9
SEScalarUnsigned * m_PulmonaryResistanceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:82
SEScalarUnsigned * m_ArterialComplianceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:79
SEScalarUnsigned * m_SystemicResistanceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:83
SEScalarUnsigned * m_VenousResistanceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:86
SEScalarUnsigned * m_StrokeVolumeMultiplier
Definition: SECardiovascularMechanicsModifiers.h:89
SEScalarUnsigned * m_VenousComplianceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:85
virtual std::string ToString() const
Definition: SECardiovascularMechanicsModifiers.cpp:321
SEScalarUnsigned * m_SystemicComplianceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:84
SEScalarUnsigned * m_PulmonaryComplianceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:81
SEScalarUnsigned * m_HeartRateMultiplier
Definition: SECardiovascularMechanicsModifiers.h:88
SEScalarUnsigned * m_ArterialResistanceMultiplier
Definition: SECardiovascularMechanicsModifiers.h:80
Definition: SEScalar.h:19
virtual std::string ToString() const
Definition: SEScalar.cpp:239
Definition: SEScalarUnsigned.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.