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;
11 public:
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 
78 protected:
87 
90 };
91 
92 inline 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 }
100 inline 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:269
static bool SerializeToString(const SECardiovascularMechanicsModifiers &src, std::string &output, eSerializationFormat m)
Definition: PBPhysiology.cpp:248
static bool SerializeToFile(const SECardiovascularMechanicsModifiers &src, const std::string &filename)
Definition: PBPhysiology.cpp:254
static bool SerializeFromString(const std::string &src, SECardiovascularMechanicsModifiers &dst, eSerializationFormat m)
Definition: PBPhysiology.cpp:261
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.