TrackingGroupStatechartContext.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2014-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5 *
6 * ArmarX is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * ArmarX is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * @package RobotSkillTemplates::TrackingGroup
19 * @author Manfred Kroehnert ( Manfred dot Kroehnert at kit dot edu )
20 * @date 2015
21 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22 * GNU General Public License
23 */
24
25
26#pragma once
27
31
32// Custom Includes
33//#include <RobotAPI/interface/units/KinematicUnitInterface.h>
34//#include <RobotAPI/interface/units/TCPControlUnit.h>
35//#include <RobotAPI/interface/observers/KinematicUnitObserverInterface.h>
36//#include <RobotAPI/interface/core/RobotState.h>
37//#include <VirtualRobot/VirtualRobot.h>
38
39
41{
42
44 {
47 {
48 // defineRequiredProperty<std::string>("KinematicUnitName", "Name of the kinematic unit that should be used");
49 // defineRequiredProperty<std::string>("KinematicUnitObserverName", "Name of the kinematic unit observer that should be used");
50 // defineOptionalProperty<std::string>("RobotStateComponentName", "RobotStateComponent", "Name of the robot state component that should be used");
51 // defineOptionalProperty<std::string>("TCPControlUnitName", "TCPControlUnit", "Name of the tcp control unit component that should be used");
52 }
53 };
54
55 /**
56 * @class TrackingGroupStatechartContext is a custom implementation of the StatechartContext
57 * for a statechart
58 */
60 virtual public XMLStatechartContext
61 {
62 public:
63 // inherited from Component
64 virtual std::string
66 {
67 return "TrackingGroupStatechartContext";
68 }
69
70 void onInitStatechartContext() override;
71 void onConnectStatechartContext() override;
72
73
74 // const VirtualRobot::RobotPtr getRobot() { return remoteRobot;}
75 // RobotStateComponentInterfacePrx getRobotStateComponent() { return robotStateComponent; }
76 // KinematicUnitInterfacePrx getKinematicUnit() { return kinematicUnitPrx; }
77 // std::string getKinematicUnitObserverName() { return getProperty<std::string>("KinematicUnitObserverName").getValue(); }
78 // TCPControlUnitInterfacePrx getTCPControlUnit() { return tcpControlPrx;}
79 private:
80 /**
81 * @see PropertyUser::createPropertyDefinitions()
82 */
83 PropertyDefinitionsPtr createPropertyDefinitions() override;
84
85
86 // RobotStateComponentInterfacePrx robotStateComponent;
87 // KinematicUnitInterfacePrx kinematicUnitPrx;
88 // KinematicUnitObserverInterfacePrx kinematicUnitObserverPrx;
89 // TCPControlUnitInterfacePrx tcpControlPrx;
90 // VirtualRobot::RobotPtr remoteRobot;
91 };
92
93} // namespace armarx::TrackingGroup
#define ARMARXCOMPONENT_IMPORT_EXPORT
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
custom implementation of the StatechartContext for a statechart
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.