SEEngineStabilization.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
5 class SECondition;
7 class SEEngineTrack;
8 class PhysiologyEngine;
10 
11 class CDM_DECL SEEngineStabilization : public Loggable
12 {
13 public:
15  virtual ~SEEngineStabilization();
16 
17  virtual void Clear();
18 
19  virtual bool SerializeToString(std::string& output, SerializationFormat) const = 0;
20  virtual bool SerializeToFile(const std::string& filename, SerializationFormat) const = 0;
21  virtual bool SerializeFromString(const std::string& src, SerializationFormat) = 0;
22  virtual bool SerializeFromFile(const std::string& filename, SerializationFormat) = 0;
23 
24  virtual bool StabilizeRestingState(PhysiologyEngine& engine)=0;
25  virtual bool StabilizeFeedbackState(PhysiologyEngine& engine) = 0;
26  virtual bool StabilizeConditions(PhysiologyEngine& engine, const SEConditionManager& conditions)=0;
27 
28  virtual void LogProgress(bool b);
29 
30  virtual void CancelStabilization();
31 
32  virtual void TrackStabilization(eSwitch state);
33  virtual bool IsTrackingStabilization();
34 
35  virtual bool HasStabilizationDuration();
36  virtual SEScalarTime& GetStabilizationDuration();
37 
38 protected:
39 
44  std::stringstream m_ss;
45 
47  std::vector<const SECondition*> m_Conditions;
48 };
bool m_Cancelled
Definition: SEEngineStabilization.h:40
std::stringstream m_ss
Definition: SEEngineStabilization.h:44
Definition: Logger.h:61
Definition: SEEngineConfiguration.h:7
SEScalarTime * m_StabilizationDuration
Definition: SEEngineStabilization.h:46
std::vector< const SECondition * > m_Conditions
Definition: SEEngineStabilization.h:47
double m_currentTime_s
Definition: SEEngineStabilization.h:43
Definition: Logger.h:11
Definition: SEConditionManager.h:20
Definition: SECondition.h:7
Definition: SEEngineStabilization.h:11
Definition: PhysiologyEngine.h:52
bool m_LogProgress
Definition: SEEngineStabilization.h:41
eSwitch m_TrackingStabilization
Definition: SEEngineStabilization.h:42
Definition: SEScalarTime.h:23