person_simulator_skill_provider.h
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4
6
11
12#include <VisionX/interface/components/PersonSimulatorSkillProviderInterface.h>
14
16{
17
18 class Component :
19 virtual public armarx::Component,
21 virtual public PersonSimulatorSkillProviderInterface,
23 {
24 public:
25 Component();
26 /// @see armarx::ManagedIceObject::getDefaultName()
27 std::string getDefaultName() const override;
28
29 /// Get the component's default name.
30 static std::string GetDefaultName();
31
32
33 protected:
34 /// @see PropertyUser::createPropertyDefinitions()
36
37 /// @see armarx::ManagedIceObject::onInitComponent()
38 void onInitComponent() override;
39
40 /// @see armarx::ManagedIceObject::onConnectComponent()
41 void onConnectComponent() override;
42
43 /// @see armarx::ManagedIceObject::onDisconnectComponent()
44 void onDisconnectComponent() override;
45
46 /// @see armarx::ManagedIceObject::onExitComponent()
47 void onExitComponent() override;
48
49
50 /* (Requires armarx::LightweightRemoteGuiComponentPluginUser.)
51 /// This function should be called once in onConnect() or when you
52 /// need to re-create the Remote GUI tab.
53 void createRemoteGuiTab();
54
55 /// After calling `RemoteGui_startRunningTask`, this function is
56 /// called periodically in a separate thread. If you update variables,
57 /// make sure to synchronize access to them.
58 void RemoteGui_update() override;
59 */
60
61
62 private:
63 // Private methods go here.
64
65 // Forward declare `Properties` if you used it before its defined.
66 // struct Properties;
67
68 /* (Requires the armarx::ArVizComponentPluginUser.)
69 /// Draw some boxes in ArViz.
70 void drawBoxes(const Properties& p, viz::Client& arviz);
71 */
72
73
74 private:
75 static const std::string defaultName;
76
77
79
80 /* (Requires the armarx::LightweightRemoteGuiComponentPluginUser.)
81 /// Tab shown in the Remote GUI.
82 struct RemoteGuiTab : armarx::RemoteGui::Client::Tab
83 {
84 armarx::RemoteGui::Client::LineEdit boxLayerName;
85 armarx::RemoteGui::Client::IntSpinBox numBoxes;
86
87 armarx::RemoteGui::Client::Button drawBoxes;
88 };
89 RemoteGuiTab tab;
90 */
91
92 template <typename T>
94
95
96 ReaderWriterPlugin<armarx::armem::robot_state::VirtualRobotReader>*
97 virtualRobotReaderPlugin = nullptr;
98 };
99
100} // namespace visionx::components::person_simulator_skill_provider
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition Component.h:94
A component plugin offering client-side access to a reader or writer and manages the lifecycle,...
static std::string GetDefaultName()
Get the component's default name.
client::plugins::ListeningPluginUser ListeningClientPluginUser
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Fixed properties of this skill implementation.