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

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.