SimpleVirtualRobot.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 #include <VirtualRobot/VirtualRobot.h>
5 
8 
9 // #include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/LightweightRemoteGuiComponentPlugin.h>
10 
14 
16 {
17 
18  /**
19  * @defgroup Component-SimpleVirtualRobot SimpleVirtualRobot
20  * @ingroup RobotAPI-Components
21  * Simply loads a Simox robot model and commits it to the memory.
22  *
23  * @class SimpleVirtualRobot
24  * @ingroup Component-SimpleVirtualRobot
25  * @brief Brief description of class SimpleVirtualRobot.
26  *
27  * Detailed description of class SimpleVirtualRobot.
28  */
30  virtual public armarx::Component,
32  {
33  public:
35 
36  std::string getDefaultName() const override;
37 
38  protected:
40 
41  void onInitComponent() override;
42  void onConnectComponent() override;
43  void onDisconnectComponent() override;
44  void onExitComponent() override;
45 
46  void run();
47 
48 
49  private:
50  struct Properties
51  {
52  bool oneShot = true;
53  float updateFrequency{10.F};
54 
55  struct Robot
56  {
57  std::string name;
58  std::string package;
59  std::string path;
60 
61  std::string jointValues; // json-style map<std::string, float>
62 
63  float globalPositionX = 0;
64  float globalPositionY = 0;
65  float globalPositionYaw = 0;
66  };
67 
68  Robot robot;
69  };
70 
71  VirtualRobot::RobotPtr loadRobot(const Properties::Robot& p) const;
72 
73 
74  private:
75  Properties properties;
76 
77 
79 
81 
83  virtualRobotWriterPlugin = nullptr;
84  };
85 
86 } // namespace armarx::simple_virtual_robot
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::globalPositionY
float globalPositionY
Definition: SimpleVirtualRobot.h:64
armarx::simple_virtual_robot::SimpleVirtualRobot::SimpleVirtualRobot
SimpleVirtualRobot()
Definition: SimpleVirtualRobot.cpp:36
armarx::simple_virtual_robot::SimpleVirtualRobot
Brief description of class SimpleVirtualRobot.
Definition: SimpleVirtualRobot.h:29
armarx::armem::client::plugins::ReaderWriterPlugin
A component plugin offering client-side access to a reader or writer and manages the lifecycle,...
Definition: ReaderWriterPlugin.h:44
ReaderWriterPlugin.h
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::jointValues
std::string jointValues
Definition: SimpleVirtualRobot.h:61
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::package
std::string package
Definition: SimpleVirtualRobot.h:58
armarx::simple_virtual_robot
Definition: SimpleVirtualRobot.cpp:34
armarx::simple_virtual_robot::SimpleVirtualRobot::run
void run()
Definition: SimpleVirtualRobot.cpp:149
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot
Definition: SimpleVirtualRobot.h:55
TaskUtil.h
plugins.h
armarx::simple_virtual_robot::SimpleVirtualRobot::onConnectComponent
void onConnectComponent() override
Pure virtual hook for the subclass.
Definition: SimpleVirtualRobot.cpp:85
armarx::simple_virtual_robot::SimpleVirtualRobot::onInitComponent
void onInitComponent() override
Pure virtual hook for the subclass.
Definition: SimpleVirtualRobot.cpp:80
Component.h
armarx::Component
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition: Component.h:91
VirtualRobotWriter.h
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::path
std::string path
Definition: SimpleVirtualRobot.h:59
armarx::simple_virtual_robot::SimpleVirtualRobot::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: SimpleVirtualRobot.cpp:42
armarx::simple_virtual_robot::SimpleVirtualRobot::onDisconnectComponent
void onDisconnectComponent() override
Hook for subclass.
Definition: SimpleVirtualRobot.cpp:92
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::globalPositionX
float globalPositionX
Definition: SimpleVirtualRobot.h:63
IceUtil::Handle< class PropertyDefinitionContainer >
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::globalPositionYaw
float globalPositionYaw
Definition: SimpleVirtualRobot.h:65
armarx::simple_virtual_robot::SimpleVirtualRobot::Properties::Robot::name
std::string name
Definition: SimpleVirtualRobot.h:57
armarx::simple_virtual_robot::SimpleVirtualRobot::onExitComponent
void onExitComponent() override
Hook for subclass.
Definition: SimpleVirtualRobot.cpp:98
armarx::armem::client::plugins::ListeningPluginUser
A memory name system client which listens to the memory updates topic (MemoryListenerInterface).
Definition: ListeningPluginUser.h:21
armarx::simple_virtual_robot::SimpleVirtualRobot::getDefaultName
std::string getDefaultName() const override
Retrieve default name of component.
Definition: SimpleVirtualRobot.cpp:74
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition: Bus.h:19