27#include <VirtualRobot/VirtualRobot.h>
29#include <RobotAPI/interface/core/FramedPoseBase.h>
44 class LinkedCoordinate;
49 class SharedRobotInterface;
92 const std::string& frame,
93 const std::string& agent);
97 const std::string& frame,
98 const std::string& agent);
104 const std::string& newFrame);
107 const std::string& newFrame);
108 void changeFrame(
const VirtualRobot::RobotConstPtr& robot,
const std::string& newFrame);
109 void changeFrame(
const VirtualRobot::Robot& robot,
const std::string& newFrame);
112 void changeToGlobal(
const VirtualRobot::RobotConstPtr& referenceRobot);
118 Eigen::Vector3f
toGlobalEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
119 Eigen::Vector3f
toGlobalEigen(
const VirtualRobot::Robot& referenceRobot)
const;
124 Eigen::Vector3f
toRootEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
125 Eigen::Vector3f
toRootEigen(
const VirtualRobot::Robot& referenceRobot)
const;
128 Ice::ObjectPtr
ice_clone()
const override;
129 VariantDataClassPtr
clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
130 std::string
output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
132 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
137 void serialize(
const armarx::ObjectSerializerBasePtr& serializer,
138 const ::Ice::Current& = Ice::emptyCurrent)
const override;
139 void deserialize(
const armarx::ObjectSerializerBasePtr& serializer,
140 const ::Ice::Current& = Ice::emptyCurrent)
override;
143 static Eigen::Matrix4f __GetRotationBetweenFrames(
const std::string& oldFrame,
144 const std::string& newFrame,
145 const VirtualRobot::Robot& robotState);
161 FramedPosition(
const Eigen::Vector3f&,
const std::string& frame,
const std::string& agent);
162 FramedPosition(
const Eigen::Matrix4f&,
const std::string& frame,
const std::string& agent);
171 const std::string& newFrame);
172 void changeFrame(
const VirtualRobot::RobotConstPtr& referenceRobot,
const std::string& newFrame);
173 void changeFrame(
const VirtualRobot::Robot& referenceRobot,
const std::string& newFrame);
175 void changeToGlobal(
const VirtualRobot::RobotConstPtr& referenceRobot);
181 Eigen::Vector3f
toGlobalEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
182 Eigen::Vector3f
toGlobalEigen(
const VirtualRobot::Robot& referenceRobot)
const;
187 Eigen::Vector3f
toRootEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
188 Eigen::Vector3f
toRootEigen(
const VirtualRobot::Robot& referenceRobot)
const;
191 Ice::ObjectPtr
ice_clone()
const override;
192 VariantDataClassPtr
clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
193 std::string
output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
195 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
200 void serialize(
const armarx::ObjectSerializerBasePtr& serializer,
201 const ::Ice::Current& = Ice::emptyCurrent)
const override;
202 void deserialize(
const armarx::ObjectSerializerBasePtr& serializer,
203 const ::Ice::Current& = Ice::emptyCurrent)
override;
220 const std::string& frame,
221 const std::string& agent);
223 const std::string& frame,
224 const std::string& agent);
226 const std::string& frame,
227 const std::string& agent);
235 Ice::ObjectPtr
ice_clone()
const override;
236 VariantDataClassPtr
clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
237 std::string
output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
239 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
242 const std::string& newFrame);
243 void changeFrame(
const VirtualRobot::RobotConstPtr& referenceRobot,
const std::string& newFrame);
244 void changeFrame(
const VirtualRobot::Robot& referenceRobot,
const std::string& newFrame);
246 void changeToGlobal(
const VirtualRobot::RobotConstPtr& referenceRobot);
252 Eigen::Matrix3f
toGlobalEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
253 Eigen::Matrix3f
toGlobalEigen(
const VirtualRobot::Robot& referenceRobot)
const;
258 Eigen::Matrix3f
toRootEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
259 Eigen::Matrix3f
toRootEigen(
const VirtualRobot::Robot& referenceRobot)
const;
264 void serialize(
const armarx::ObjectSerializerBasePtr& serializer,
265 const ::Ice::Current& = Ice::emptyCurrent)
const override;
266 void deserialize(
const armarx::ObjectSerializerBasePtr& serializer,
267 const ::Ice::Current& = Ice::emptyCurrent)
override;
286 const Eigen::Vector3f& v,
287 const std::string& frame,
288 const std::string& agent);
289 FramedPose(
const Eigen::Matrix4f& m,
const std::string& frame,
const std::string& agent);
292 const std::string& frame,
293 const std::string& agent);
295 const armarx::QuaternionBasePtr ori,
296 const std::string& frame,
297 const std::string& agent);
304 Ice::ObjectPtr
ice_clone()
const override;
306 VariantDataClassPtr
clone(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
308 std::string
output(
const Ice::Current&
c = Ice::emptyCurrent)
const override;
312 bool validate(
const Ice::Current&
c = Ice::emptyCurrent)
override;
315 const std::string& newFrame);
316 void changeFrame(
const VirtualRobot::RobotConstPtr& referenceRobot,
const std::string& newFrame);
317 void changeFrame(
const VirtualRobot::Robot& referenceRobot,
const std::string& newFrame);
319 void changeToGlobal(
const VirtualRobot::RobotConstPtr& referenceRobot);
325 Eigen::Matrix4f
toGlobalEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
326 Eigen::Matrix4f
toGlobalEigen(
const VirtualRobot::Robot& referenceRobot)
const;
331 Eigen::Matrix4f
toRootEigen(
const VirtualRobot::RobotConstPtr& referenceRobot)
const;
332 Eigen::Matrix4f
toRootEigen(
const VirtualRobot::Robot& referenceRobot)
const;
334 const std::string& newFrame)
const;
336 const std::string& newFrame)
const;
338 const std::string& newFrame)
const;
340 const std::string& newFrame)
const;
341 Eigen::Matrix4f
toFrameEigen(
const VirtualRobot::RobotConstPtr& referenceRobot,
342 const std::string& newFrame)
const;
343 Eigen::Matrix4f
toFrameEigen(
const VirtualRobot::Robot& referenceRobot,
344 const std::string& newFrame)
const;
350 static VirtualRobot::LinkedCoordinate
358 void serialize(
const armarx::ObjectSerializerBasePtr& serializer,
359 const ::Ice::Current& = Ice::emptyCurrent)
const override;
360 void deserialize(
const armarx::ObjectSerializerBasePtr& serializer,
361 const ::Ice::Current& = Ice::emptyCurrent)
override;
368extern template class ::IceInternal::Handle<::armarx::FramedPose>;
369extern template class ::IceInternal::Handle<::armarx::FramedPosition>;
370extern template class ::IceInternal::Handle<::armarx::FramedDirection>;
371extern template class ::IceInternal::Handle<::armarx::FramedOrientation>;
FramedDirection is a 3 dimensional direction vector with a reference frame.
FramedDirectionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
friend std::ostream & operator<<(std::ostream &stream, const FramedDirection &rhs)
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
static FramedDirectionPtr ChangeFrame(const VirtualRobot::RobotConstPtr &robot, const FramedDirection &framedVec, const std::string &newFrame)
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
FramedDirectionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Ice::ObjectPtr ice_clone() const override
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
FramedDirection & operator=(const FramedDirection &)=default
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
std::string getFrame() const
void changeFrame(const VirtualRobot::RobotConstPtr &robot, const std::string &newFrame)
The FramedOrientation class.
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
FramedOrientationPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
friend std::ostream & operator<<(std::ostream &stream, const FramedOrientation &rhs)
FramedOrientation & operator=(const FramedOrientation &)=default
FramedOrientationPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Eigen::Matrix3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Ice::ObjectPtr ice_clone() const override
Eigen::Matrix3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
std::string getFrame() const
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
FramedOrientationPtr getOrientation() const
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
FramedPosePtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Eigen::Matrix4f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
static VirtualRobot::LinkedCoordinate createLinkedCoordinate(const VirtualRobot::RobotPtr &virtualRobot, const FramedPositionPtr &position, const FramedOrientationPtr &orientation)
Eigen::Matrix4f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Eigen::Matrix4f toFrameEigen(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
FramedPosePtr toFrame(const VirtualRobot::Robot &referenceRobot, const std::string &newFrame) const
FramedPosePtr toFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
Eigen::Matrix4f toFrameEigen(const VirtualRobot::Robot &referenceRobot, const std::string &newFrame) const
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
friend std::ostream & operator<<(std::ostream &stream, const FramedPose &rhs)
friend bool operator!=(const FramedPose &pose1, const FramedPose &pose2)
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
FramedPosePtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
FramedPositionPtr getPosition() const
Ice::ObjectPtr ice_clone() const override
FramedPose & operator=(const armarx::FramedPose &)=default
friend bool operator==(const FramedPose &pose1, const FramedPose &pose2)
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
std::string getFrame() const
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
The FramedPosition class.
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
FramedPositionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
FramedPosition & operator=(const armarx::FramedPosition &other)
friend std::ostream & operator<<(std::ostream &stream, const FramedPosition &rhs)
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
FramedPositionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Ice::ObjectPtr ice_clone() const override
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
std::string getFrame() const
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Quaternion()
Construct an identity quaternion.
static VariantTypeId addTypeName(const std::string &typeName)
Register a new type for the use in a Variant.
std::string const GlobalFrame
Variable of the global coordinate system.
Matrix< Ice::Float, 6, 6 > Matrix6f
Quaternion< float, 0 > Quaternionf
std::shared_ptr< class Robot > RobotPtr
const VariantTypeId FramedPosition
const VariantTypeId FramedOrientation
const VariantTypeId FramedPose
const VariantTypeId FramedDirection
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::string const OdometryFrame
IceInternal::Handle< FramedDirection > FramedDirectionPtr
IceInternal::Handle< FramedPosition > FramedPositionPtr
::IceInternal::ProxyHandle<::IceProxy::armarx::SharedRobotInterface > SharedRobotInterfacePrx
IceInternal::Handle< FramedOrientation > FramedOrientationPtr
std::string const MapFrame
IceInternal::Handle< FramedPose > FramedPosePtr