AnimatLab  2
Test
PidControl.h
1 #pragma once
2 
3 namespace AnimatSim
4 {
11  class ANIMAT_PORT PidControl : public CStdPID, public AnimatBase
12  {
13  protected:
16 
17  //Used for reporting of enabled state of this controller
18  float m_fltEnabled;
19 
20  public:
21  PidControl();
22  PidControl(float fltSetpoint, float fltGain, float fltIntegralAct, float fltDerivativeAct,
23  bool bComplexError, bool bAntiResetWindup, bool bRampLimit,
24  float fltRangeMax, float fltRangeMin, float fltARWBound, float fltRampGradient);
25  virtual ~PidControl();
26 
27  static PidControl *CastToDerived(AnimatBase *lpBase) {return static_cast<PidControl*>(lpBase);}
28 
29  virtual bool Enabled();
30  virtual void Enabled(bool bValue);
31 
32  virtual bool SetData(const std::string &strDataType, const std::string &strValue, bool bThrowError = true);
33  virtual void QueryProperties(CStdPtrArray<TypeProperty> &aryProperties);
34  virtual float *GetDataPointer(const std::string &strDataType);
35  virtual void ResetSimulation();
36  virtual void Load(CStdXml &oXml);
37  };
38 
39 } //AnimatSim
Animatlab PID control system. This implements the CStdPid with extra AnimatBase functionality.
Definition: PidControl.h:11
Root namespace for the base simulation library for AnimatLab.
bool m_bInitEnabled
Keeps track of the enabled state at sim startup.
Definition: PidControl.h:15
Animat base class.
Definition: AnimatBase.h:36