Newer
Older

Fabian Reister
committed
#include <VirtualRobot/VirtualRobot.h>
#include "ArmarXCore/core/services/tasks/PeriodicTask.h"
#include <ArmarXCore/core/Component.h>
#include <ArmarXCore/interface/observers/ObserverInterface.h>
#include <ArmarXCore/util/tasks.h>

Fabian Reister
committed
#include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/LightweightRemoteGuiComponentPlugin.h>

Fabian Reister
committed
#include "RobotAPI/libraries/armem/core/Time.h"
#include <RobotAPI/interface/armem/mns/MemoryNameSystemInterface.h>

Fabian Reister
committed
#include <RobotAPI/interface/armem/server/MemoryInterface.h>
#include <RobotAPI/libraries/armem/core/wm/memory_definitions.h>

Fabian Reister
committed
#include <RobotAPI/libraries/armem_objects/client/articulated_object/ArticulatedObjectReader.h>
#include <RobotAPI/libraries/armem_objects/client/articulated_object/ArticulatedObjectWriter.h>
namespace armarx::articulated_object
{
/**
* @defgroup Component-ExampleClient ExampleClient
* @ingroup RobotAPI-Components
* A description of the component ExampleClient.
*
* @class ExampleClient
* @ingroup Component-ExampleClient
* @brief Brief description of class ExampleClient.
*
* Detailed description of class ExampleClient.
*/
class ArticulatedObjectLocalizerExample :
virtual public armarx::Component,
virtual public armarx::armem::client::ComponentPluginUser
ArticulatedObjectLocalizerExample();
/// @see armarx::ManagedIceObject::getDefaultName()
std::string getDefaultName() const override;
protected:
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override;
void onInitComponent() override;
void onConnectComponent() override;
void onDisconnectComponent() override;
void onExitComponent() override;
void run();
private:
VirtualRobot::RobotPtr createDishwasher();
std::shared_ptr<VirtualRobot::Robot> dishwasher;
/// Reference timestamp for object movement
armem::Time start;
armarx::PeriodicTask<ArticulatedObjectLocalizerExample>::pointer_type task;
armarx::DebugObserverInterfacePrx debugObserver;

Fabian Reister
committed
std::unique_ptr<::armarx::armem::articulated_object::ArticulatedObjectWriter> articulatedObjectWriter;
std::unique_ptr<::armarx::armem::articulated_object::ArticulatedObjectReader>
articulatedObjectReader;
struct Properties
{
float updateFrequency{25.F};
} p;

Fabian Reister
committed
} // namespace armarx::articulated_object