SETimedStabilization.h
1/* Distributed under the Apache License, Version 2.0.
2 See accompanying NOTICE file for details.*/
3
4#pragma once
5#include "cdm/engine/SEEngineStabilization.h"
6
8{
9 friend class PBEngine;//friend the serialization class
10public:
12 virtual ~SETimedStabilization();
13
14 virtual void Clear();
15
16public:
17
18 bool SerializeToString(std::string& output, eSerializationFormat m) const;
19 bool SerializeToFile(const std::string& filename) const;
20 bool SerializeFromString(const std::string& src, eSerializationFormat m);
21 bool SerializeFromFile(const std::string& filename);
22
23 virtual bool StabilizeRestingState(Controller& engine);
24 virtual bool StabilizeFeedbackState(Controller& engine);
25 virtual bool StabilizeConditions(Controller& engine, const SEConditionManager& conditions);
26
27 virtual bool HasRestingStabilizationTime() const;
28 virtual SEScalarTime& GetRestingStabilizationTime();
29 virtual double GetRestingStabilizationTime(const TimeUnit& unit) const;
30
31 virtual bool HasFeedbackStabilizationTime() const;
32 virtual SEScalarTime& GetFeedbackStabilizationTime();
33 virtual double GetFeedbackStabilizationTime(const TimeUnit& unit) const;
34
35 virtual bool HasConditionTime(const std::string& name) const;
36 virtual void RemoveConditionTime(const std::string& name);
37 virtual const std::map<std::string,SEScalarTime*>& GetConditionTimes() const;
38 virtual SEScalarTime& GetConditionTime(const std::string& name);
39 virtual const SEScalarTime* GetConditionTime(const std::string& name) const;
40
41protected:
42
43 virtual bool Stabilize(Controller& engine, const SEScalarTime& time);
44
47 std::map<std::string,SEScalarTime*> m_ConditionTimes;
48};
Definition: Logger.h:71
Definition: PBEngine.h:31
Definition: SEConditionManager.h:25
Definition: SEEngineStabilization.h:14
Definition: SEEngineStabilization.h:11
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
virtual bool StabilizeConditions(Controller &engine, const SEConditionManager &conditions)=0
virtual void Clear()
Definition: SEEngineStabilization.cpp:20
Definition: SEScalarTime.h:28
Definition: SETimedStabilization.h:8
SEScalarTime * m_FeedbackStabilizationTime
Definition: SETimedStabilization.h:46
std::map< std::string, SEScalarTime * > m_ConditionTimes
Definition: SETimedStabilization.h:47
SEScalarTime * m_RestingStabilizationTime
Definition: SETimedStabilization.h:45
Definition: SEScalarTime.h:8

Distributed under the Apache License, Version 2.0.

See accompanying NOTICE file for details.