SEAnesthesiaMachineChamber.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SESubstance;
8 
10 {
11  friend class PBAnesthesiaMachine;//friend the serialization class
13 public:
14 
16  virtual ~SEAnesthesiaMachineChamber();
17 
18  virtual void Clear();
19 
20  virtual void Merge(const SEAnesthesiaMachineChamber& from);
21 
22  virtual const SEScalar* GetScalar(const std::string& name);
23 
24  virtual eSwitch GetState() const;
25  virtual void SetState(eSwitch s);
26 
27  virtual bool HasSubstanceFraction() const;
28  virtual SEScalar0To1& GetSubstanceFraction();
29  virtual double GetSubstanceFraction() const;
30 
31  virtual bool HasSubstance() const;
32  virtual SESubstance* GetSubstance() const;
33  virtual void SetSubstance(const SESubstance& substance);
34  virtual void RemoveSubstance();
35 
36  virtual void ToString(std::ostream &str) const;
37 
38 protected:
39 
40  eSwitch m_State;
43 
45 };
Definition: SESubstanceManager.h:8
Definition: SEAnesthesiaMachineChamber.h:9
Definition: SEScalar.h:19
Definition: PBAnesthesiaMachine.h:9
Definition: SEAnesthesiaMachine.h:30
SEScalar0To1 * m_SubstanceFraction
Definition: SEAnesthesiaMachineChamber.h:42
SESubstanceManager & m_Substances
Definition: SEAnesthesiaMachineChamber.h:44
Definition: Logger.h:11
eSwitch m_State
Definition: SEAnesthesiaMachineChamber.h:40
const SESubstance * m_Substance
Definition: SEAnesthesiaMachineChamber.h:41
friend SEAnesthesiaMachine
Definition: SEAnesthesiaMachineChamber.h:12
Definition: SESubstance.h:14
Definition: SEScalar0To1.h:7