radios_default_actuator.h
Go to the documentation of this file.
1 /*
2  * @file <argos3/plugins/robots/generic/simulator/radios_default_actuator.h>
3  *
4  * @author Michael Allwright - <allsey87@gmail.com>
5  */
6 
7 #ifndef RADIOS_DEFAULT_ACTUATOR_H
8 #define RADIOS_DEFAULT_ACTUATOR_H
9 
10 namespace argos {
11  class CRadiosDefaultActuator;
12 }
13 
14 #include <argos3/core/simulator/actuator.h>
15 #include <argos3/plugins/robots/generic/control_interface/ci_radios_actuator.h>
16 #include <argos3/plugins/simulator/entities/radio_equipped_entity.h>
17 #include <argos3/plugins/simulator/media/radio_medium.h>
18 
19 namespace argos {
20 
22  public CCI_RadiosActuator {
23 
24  public:
25 
27 
29 
30  virtual void SetRobot(CComposableEntity& c_entity);
31 
32  virtual void Init(TConfigurationNode& t_tree);
33 
34  virtual void Update();
35 
36  virtual void Reset();
37 
38  private:
39 
40  CRadioEquippedEntity* m_pcRadioEquippedEntity;
41 
42  class CTxOperation : public CPositionalIndex<CRadioEntity>::COperation {
43  public:
44 
45  CTxOperation(const CRadioEntity& c_tx_radio,
46  const std::vector<CByteArray>& c_tx_data);
47 
48  virtual bool operator()(CRadioEntity& c_rx_radio);
49 
50  private:
51 
52  const CRadioEntity& m_cTxRadio;
53  const std::vector<CByteArray>& m_cTxData;
54  };
55  };
56 }
57 
58 #endif
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
The basic interface for a simulated actuator.
Definition: actuator.h:24
Basic class for an entity that contains other entities.
A data structure that contains positional entities.
virtual void SetRobot(CComposableEntity &c_entity)
Sets the entity associated to this actuator.
virtual void Init(TConfigurationNode &t_tree)
Initializes the actuator from the XML configuration tree.
virtual void Update()
Updates the state of the entity associated to this actuator.
virtual void Reset()
Resets the actuator to the state it had just after Init().
A container of CRadioEntity.