Go to the documentation of this file.
36 #define TCP_POSE_CHANNEL "TCPPose"
37 #define TCP_TRANS_VELOCITIES_CHANNEL "TCPVelocities"
49 usingTopic(getProperty<std::string>(
"TCPControlUnitName").getValue() +
"State");
80 FramedPoseBaseMap::const_iterator it = poseMap.begin();
82 for (; it != poseMap.end(); it++)
86 const std::string& tcpName = it->first;
107 tcpName,
"qx",
Variant(vec->orientation->qx),
"Quaternion part x");
109 tcpName,
"qy",
Variant(vec->orientation->qy),
"Quaternion part y");
111 tcpName,
"qz",
Variant(vec->orientation->qz),
"Quaternion part z");
113 tcpName,
"qw",
Variant(vec->orientation->qw),
"Quaternion part w");
134 const FramedDirectionMap& tcpOrientationVelocities,
138 FramedDirectionMap::const_iterator it = tcpTranslationVelocities.begin();
140 for (; it != tcpTranslationVelocities.end(); it++)
145 FramedDirectionMap::const_iterator itOri = tcpOrientationVelocities.find(it->first);
147 if (itOri != tcpOrientationVelocities.end())
149 vecOri = FramedDirectionPtr::dynamicCast(itOri->second);
152 const std::string& tcpName = it->first;
161 "Pose of " + tcpName);
169 const std::string channelName = tcpName +
"Velocities";
173 offerChannel(channelName,
"pose components of " + tcpName);
181 channelName,
"frame",
Variant(vecOri->frame),
"Reference Frame");
void updateChannel(const std::string &channelName, const std::set< std::string > &updatedDatafields=std::set< std::string >())
Update all conditions for a channel.
The Variant class is described here: Variants.
void onConnectObserver() override
Framework hook.
::std::map<::std::string, ::armarx::FramedPoseBasePtr > FramedPoseBaseMap
bool existsChannel(const std::string &channelName) const
PropertyDefinitionsPtr createPropertyDefinitions() override
#define TCP_TRANS_VELOCITIES_CHANNEL
void reportTCPVelocities(const FramedDirectionMap &tcpTranslationVelocities, const FramedDirectionMap &tcpOrientationVelocities, const Ice::Current &c=Ice::emptyCurrent) override
void setDataField(const std::string &channelName, const std::string &datafieldName, const Variant &value, bool triggerFilterUpdate=true)
set datafield with datafieldName and in channel channelName
void reportTCPPose(const FramedPoseBaseMap &poseMap, const Ice::Current &c=Ice::emptyCurrent) override
void usingTopic(const std::string &name, bool orderedPublishing=false)
Registers a proxy for subscription after initialization.
std::string getConfigIdentifier()
Retrieve config identifier for this component as set in constructor.
#define ARMARX_CHECK_EXPRESSION(expression)
This macro evaluates the expression and if it turns out to be false it will throw an ExpressionExcept...
bool existsDataField(const std::string &channelName, const std::string &datafieldName) const
void offerConditionCheck(std::string checkName, ConditionCheck *conditionCheck)
Offer a condition check.
void offerDataFieldWithDefault(std::string channelName, std::string datafieldName, const Variant &defaultValue, std::string description)
Offer a datafield with default value.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
void onInitObserver() override
Framework hook.
This file offers overloads of toIce() and fromIce() functions for STL container types.
void offerChannel(std::string channelName, std::string description)
Offer a channel.