<
    Kitware and KbPort announce the launch of SimPulse
×
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 SEEngineTracker;
9 
10 class CDM_DECL SEEngineStabilization : public Loggable
11 {
12 public:
13  class Controller
14  {
15  public:
16  virtual bool AdvanceTime() = 0;
17  virtual SEEngineTracker* GetEngineTracker() = 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 
44 protected:
45 
50  std::stringstream m_ss;
51 
53  std::vector<const SECondition*> m_Conditions;
54 };
bool m_Cancelled
Definition: SEEngineStabilization.h:46
std::stringstream m_ss
Definition: SEEngineStabilization.h:50
Definition: SEEngineStabilization.h:13
Definition: Logger.h:66
Definition: SEEngineConfiguration.h:7
Definition: SEEngineTracker.h:65
SEScalarTime * m_StabilizationDuration
Definition: SEEngineStabilization.h:52
std::vector< const SECondition * > m_Conditions
Definition: SEEngineStabilization.h:53
double m_currentTime_s
Definition: SEEngineStabilization.h:49
Definition: SEScalarTime.h:7
Definition: Logger.h:18
Definition: SEConditionManager.h:24
Definition: SECondition.h:7
Definition: SEEngineStabilization.h:10
bool m_LogProgress
Definition: SEEngineStabilization.h:47
eSwitch m_TrackingStabilization
Definition: SEEngineStabilization.h:48
Definition: SEScalarTime.h:27

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.