17 #ifndef _GAZEBO_BATTERY_HH_
18 #define _GAZEBO_BATTERY_HH_
50 public std::enable_shared_from_this<Battery>
64 public:
virtual void Load(sdf::ElementPtr _sdf);
67 public:
virtual void Init();
72 public:
virtual void ResetVoltage();
76 public:
virtual void UpdateParameters(
const sdf::ElementPtr _sdf);
80 public: std::string Name()
const;
84 public: uint32_t AddConsumer();
90 public:
bool RemoveConsumer(
const uint32_t _consumerId);
96 public:
bool SetPowerLoad(
const uint32_t _consumerId,
97 const double _powerLoad);
103 public:
bool PowerLoad(
const uint32_t _consumerId,
104 double &_powerLoad)
const;
112 public:
double Voltage()
const;
121 public:
void SetUpdateFunc(
122 std::function<
double (
const BatteryPtr &)> _updateFunc);
127 public:
void Update();
130 protected:
void InitConsumers();
135 private:
double UpdateDefault(
const BatteryPtr &_battery);
139 private: BatteryPrivate *dataPtr;
std::map< uint32_t, double > PowerLoad_M
Typedef the powerload map.
Definition: Battery.hh:54
A battery abstraction.
Definition: Battery.hh:49
std::shared_ptr< Battery > BatteryPtr
Definition: CommonTypes.hh:125
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message.