Skip to content
Snippets Groups Projects
Commit b1f22454 authored by Mirko Wächter's avatar Mirko Wächter
Browse files

adjusted weisshapticgroup

parent c4410abf
No related branches found
No related tags found
No related merge requests found
...@@ -38,11 +38,11 @@ WeissHapticGroupRemoteStateOfferer.cpp ...@@ -38,11 +38,11 @@ WeissHapticGroupRemoteStateOfferer.cpp
set(HEADERS set(HEADERS
WeissHapticGroupRemoteStateOfferer.h WeissHapticGroupRemoteStateOfferer.h
WeissHapticGroupStatechartContext.generated.h WeissHapticGroup.scgxml
./WeissHapticSensorTest.h ./WeissHapticSensorTest.h
#@TEMPLATE_LINE@@COMPONENT_PATH@/@COMPONENT_NAME@.h #@TEMPLATE_LINE@@COMPONENT_PATH@/@COMPONENT_NAME@.h
./WeissHapticSensorTest.generated.h ./WeissHapticSensorTest.xml
#@TEMPLATE_LINE@@COMPONENT_PATH@/@COMPONENT_NAME@.generated.h #@TEMPLATE_LINE@@COMPONENT_PATH@/@COMPONENT_NAME@.xml
) )
armarx_add_component("${SOURCES}" "${HEADERS}") armarx_add_component("${SOURCES}" "${HEADERS}")
...@@ -6,4 +6,3 @@ ...@@ -6,4 +6,3 @@
</Proxies> </Proxies>
<State filename="WeissHapticSensorTest.xml" visibility="public"/> <State filename="WeissHapticSensorTest.xml" visibility="public"/>
</StatechartGroup> </StatechartGroup>
/*
* This file is part of ArmarX.
*
* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
*
* ArmarX is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* ArmarX is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package
* @author
* @date
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
* GNU General Public License
*/
#ifndef ARMARX_COMPONENT_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICGROUPSTATECHARTCONTEXT_H
#define ARMARX_COMPONENT_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICGROUPSTATECHARTCONTEXT_H
#include <ArmarXCore/core/Component.h>
#include <ArmarXCore/core/system/ImportExportComponent.h>
#include <ArmarXCore/statechart/StatechartContext.h>
#include <RobotAPI/interface/units/HapticUnit.h>
#include <RobotAPI/interface/units/WeissHapticUnit.h>
namespace armarx
{
namespace WeissHapticGroup
{
class WeissHapticGroupStatechartContext
: virtual public StatechartContext
{
protected:
class PropertyDefinitions
: public StatechartContextPropertyDefinitions
{
public:
PropertyDefinitions(std::string prefix)
: StatechartContextPropertyDefinitions(prefix)
{
defineOptionalProperty<std::string>("HapticUnitObserverName", "HapticUnitObserver", "Name of the haptic unit observer that should be used");
defineOptionalProperty<std::string>("WeissHapticUnitName", "WeissHapticUnit", "Name of the weiss haptic unit that should be used");
}
}; // class PropertyDefinitions
private:
HapticUnitObserverInterfacePrx hapticObserver;
WeissHapticUnitInterfacePrx weissHapticUnit;
public:
std::string getDefaultName() const
{
return "WeissHapticGroupStatechartContext";
}
virtual void onInitStatechartContext()
{
usingProxy(getProperty<std::string>("HapticUnitObserverName").getValue());
usingProxy(getProperty<std::string>("WeissHapticUnitName").getValue());
}
virtual void onConnectStatechartContext()
{
hapticObserver = getProxy<HapticUnitObserverInterfacePrx>(getProperty<std::string>("HapticUnitObserverName").getValue());
weissHapticUnit = getProxy<WeissHapticUnitInterfacePrx>(getProperty<std::string>("WeissHapticUnitName").getValue());
}
HapticUnitObserverInterfacePrx getHapticObserver() const
{
return hapticObserver;
}
WeissHapticUnitInterfacePrx getWeissHapticUnit() const
{
return weissHapticUnit;
}
virtual PropertyDefinitionsPtr createPropertyDefinitions()
{
return PropertyDefinitionsPtr(new WeissHapticGroupStatechartContext::PropertyDefinitions(getConfigIdentifier()));
}
}; // class WeissHapticGroupStatechartContext
} // namespace WeissHapticGroup
} // namespace armarx
#endif // ARMARX_COMPONENT_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICGROUPSTATECHARTCONTEXT_H
...@@ -27,10 +27,12 @@ ...@@ -27,10 +27,12 @@
#include <RobotAPI/libraries/core/observerfilters/MatrixFilters.h> #include <RobotAPI/libraries/core/observerfilters/MatrixFilters.h>
#include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h> #include <RobotAPI/libraries/core/observerfilters/OffsetFilter.h>
#include <ArmarXCore/observers/variant/DatafieldRef.h>
using namespace armarx; using namespace armarx;
using namespace WeissHapticGroup; using namespace WeissHapticGroup;
// DO NOT EDIT NEXT LINE //// DO NOT EDIT NEXT LINE
WeissHapticSensorTest::SubClassRegistry WeissHapticSensorTest::Registry(WeissHapticSensorTest::GetName(), &WeissHapticSensorTest::CreateInstance); WeissHapticSensorTest::SubClassRegistry WeissHapticSensorTest::Registry(WeissHapticSensorTest::GetName(), &WeissHapticSensorTest::CreateInstance);
...@@ -40,10 +42,10 @@ WeissHapticSensorTest::WeissHapticSensorTest(const XMLStateConstructorParams& st ...@@ -40,10 +42,10 @@ WeissHapticSensorTest::WeissHapticSensorTest(const XMLStateConstructorParams& st
{ {
} }
void WeissHapticSensorTest::onEnter() void WeissHapticSensorTest::onEnter()
{ {
WeissHapticGroupStatechartContext* context = getContext<WeissHapticGroupStatechartContext>(); HapticUnitObserverInterfacePrx hapticObserver = getHapticObserver();
HapticUnitObserverInterfacePrx hapticObserver = context->getHapticObserver();
ChannelRegistry channels = hapticObserver->getAvailableChannels(false); ChannelRegistry channels = hapticObserver->getAvailableChannels(false);
std::map<std::string, DatafieldRefPtr> tactileDatafields_MaximumValueMap; std::map<std::string, DatafieldRefPtr> tactileDatafields_MaximumValueMap;
...@@ -110,7 +112,6 @@ void WeissHapticSensorTest::onExit() ...@@ -110,7 +112,6 @@ void WeissHapticSensorTest::onExit()
} }
// DO NOT EDIT NEXT FUNCTION // DO NOT EDIT NEXT FUNCTION
XMLStateFactoryBasePtr WeissHapticSensorTest::CreateInstance(XMLStateConstructorParams stateData) XMLStateFactoryBasePtr WeissHapticSensorTest::CreateInstance(XMLStateConstructorParams stateData)
{ {
......
/*
* This file is part of ArmarX.
*
* Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
*
* ArmarX is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* ArmarX is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* @package
* @author
* @date
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
* GNU General Public License
*/
#ifndef _ARMARX_XMLUSERCODE_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICSENSORTESTGENERATEDBASE_H
#define _ARMARX_XMLUSERCODE_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICSENSORTESTGENERATEDBASE_H
#include <ArmarXCore/statechart/xmlstates/XMLState.h>
#include "WeissHapticGroupStatechartContext.generated.h"
#include <ArmarXCore/observers/ObserverObjectFactories.h>
#include <RobotAPI/interface/units/HapticUnit.h>
#include <RobotAPI/interface/units/WeissHapticUnit.h>
namespace armarx
{
namespace WeissHapticGroup
{
template<typename StateType>
class WeissHapticSensorTestGeneratedBase
: virtual public XMLStateTemplate < StateType >,
public XMLStateFactoryBase
{
protected:
class WeissHapticSensorTestIn
{
private:
WeissHapticSensorTestGeneratedBase<StateType>* parent;
public:
WeissHapticSensorTestIn(WeissHapticSensorTestGeneratedBase<StateType>* parent)
: parent(parent)
{
}
}; // class WeissHapticSensorTestIn
class WeissHapticSensorTestLocal
{
private:
WeissHapticSensorTestGeneratedBase<StateType>* parent;
public:
WeissHapticSensorTestLocal(WeissHapticSensorTestGeneratedBase<StateType>* parent)
: parent(parent)
{
}
public:
std::map<std::string, ::armarx::DatafieldRefPtr> getTactileDatafields_MaximumValue() const
{
return parent->State::getLocal< ::armarx::StringValueMap>("TactileDatafields_MaximumValue")->::armarx::StringValueMap::toStdMap< ::armarx::DatafieldRefPtr>();
}
void setTactileDatafields_MaximumValue(const std::map<std::string, ::armarx::DatafieldRefPtr>& value) const
{
::armarx::StringValueMapPtr container = ::armarx::StringValueMap::FromStdMap< ::armarx::DatafieldRefPtr>(value);
parent->State::setLocal("TactileDatafields_MaximumValue", *container);
}
bool isTactileDatafields_MaximumValueSet() const
{
return parent->State::isLocalParameterSet("TactileDatafields_MaximumValue");
}
}; // class WeissHapticSensorTestLocal
class WeissHapticSensorTestOut
{
private:
WeissHapticSensorTestGeneratedBase<StateType>* parent;
public:
WeissHapticSensorTestOut(WeissHapticSensorTestGeneratedBase<StateType>* parent)
: parent(parent)
{
}
}; // class WeissHapticSensorTestOut
protected:
const WeissHapticSensorTestIn in;
const WeissHapticSensorTestLocal local;
const WeissHapticSensorTestOut out;
public:
WeissHapticSensorTestGeneratedBase(const XMLStateConstructorParams& stateData)
: XMLStateTemplate < StateType > (stateData),
in(WeissHapticSensorTestIn(this)),
local(WeissHapticSensorTestLocal(this)),
out(WeissHapticSensorTestOut(this))
{
}
WeissHapticSensorTestGeneratedBase(const WeissHapticSensorTestGeneratedBase& source)
: IceUtil::Shared(source),
armarx::StateIceBase(source),
armarx::StateBase(source),
armarx::StateController(source),
armarx::State(source),
XMLStateTemplate < StateType > (source),
in(WeissHapticSensorTestIn(this)),
local(WeissHapticSensorTestLocal(this)),
out(WeissHapticSensorTestOut(this))
{
}
public:
HapticUnitObserverInterfacePrx getHapticObserver() const
{
return StateBase::getContext<WeissHapticGroupStatechartContext>()->getHapticObserver();
}
WeissHapticUnitInterfacePrx getWeissHapticUnit() const
{
return StateBase::getContext<WeissHapticGroupStatechartContext>()->getWeissHapticUnit();
}
static std::string GetName()
{
return "WeissHapticSensorTest";
}
void __forceLibLoading()
{
// Do not call this method.
// The sole purpose of this method is to force the compiler/linker to include all libraries.
::armarx::DatafieldRef type1;
}
}; // class WeissHapticSensorTestGeneratedBase
} // namespace WeissHapticGroup
} // namespace armarx
#endif // _ARMARX_XMLUSERCODE_ARMARX_WEISSHAPTICGROUP_WEISSHAPTICSENSORTESTGENERATEDBASE_H
...@@ -21,17 +21,17 @@ ...@@ -21,17 +21,17 @@
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
* GNU General Public License * GNU General Public License
*/ */
#ifndef _ARMARX_XMLUSERCODE_RobotAPI_WeissHapticGroup_WeissHapticSensorTest_H #ifndef _ARMARX_XMLUSERCODE_RobotAPI_WeissHapticGroup_WeissHapticSensorTest_H
#define _ARMARX_XMLUSERCODE_RobotAPI_WeissHapticGroup_WeissHapticSensorTest_H #define _ARMARX_XMLUSERCODE_RobotAPI_WeissHapticGroup_WeissHapticSensorTest_H
#include "WeissHapticSensorTest.generated.h" #include <RobotAPI/statecharts/WeissHapticGroup/WeissHapticSensorTest.generated.h>
namespace armarx namespace armarx
{ {
namespace WeissHapticGroup namespace WeissHapticGroup
{ {
class WeissHapticSensorTest : class WeissHapticSensorTest
:
public WeissHapticSensorTestGeneratedBase<WeissHapticSensorTest> public WeissHapticSensorTestGeneratedBase<WeissHapticSensorTest>
{ {
public: public:
...@@ -43,7 +43,7 @@ namespace armarx ...@@ -43,7 +43,7 @@ namespace armarx
void onBreak(); void onBreak();
void onExit(); void onExit();
// static functions for AbstractFactory Method // // static functions for AbstractFactory Method
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData); static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData);
static SubClassRegistry Registry; static SubClassRegistry Registry;
......
...@@ -10,3 +10,4 @@ ...@@ -10,3 +10,4 @@
<Transitions/> <Transitions/>
</State> </State>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment