FramedPose.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2012-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 RobotAPI::RobotStateComponent::
19  * @author ( stefan dot ulbrich at kit dot edu)
20  * @date
21  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22  * GNU General Public License
23  */
24 
25 #pragma once
26 
27 #include "Pose.h"
28 #include <VirtualRobot/VirtualRobot.h>
29 
30 #include <RobotAPI/interface/core/FramedPoseBase.h>
31 
32 
33 
34 namespace armarx::VariantType
35 {
36  // variant types
37  const VariantTypeId FramedPose = Variant::addTypeName("::armarx::FramedPoseBase");
38  const VariantTypeId FramedDirection = Variant::addTypeName("::armarx::FramedDirectionBase");
39  const VariantTypeId FramedPosition = Variant::addTypeName("::armarx::FramedPositionBase");
40  const VariantTypeId FramedOrientation = Variant::addTypeName("::armarx::FramedOrientationBase");
41 }
42 
43 namespace VirtualRobot
44 {
45  class LinkedCoordinate;
46 }
47 namespace IceProxy::armarx
48 {
49  class SharedRobotInterface;
50 }
51 namespace Eigen
52 {
54 }
55 namespace armarx
56 {
57  using SharedRobotInterfacePrx = ::IceInternal::ProxyHandle< ::IceProxy::armarx::SharedRobotInterface> ;
62  std::string const GlobalFrame = "Global";
63  std::string const OdometryFrame = "Odom";
64  std::string const MapFrame = "Map";
65 
66 
80  class FramedDirection;
82 
84  virtual public FramedDirectionBase,
85  virtual public Vector3
86  {
87  public:
90  FramedDirection(const Eigen::Vector3f& vec, const std::string& frame, const std::string& agent);
91  FramedDirection(Ice::Float x, ::Ice::Float y, ::Ice::Float z, const std::string& frame, const std::string& agent);
92  FramedDirection& operator=(const FramedDirection&) = default;
93 
94  std::string getFrame() const;
95  static FramedDirectionPtr ChangeFrame(const VirtualRobot::RobotPtr& robot, const FramedDirection& framedVec, const std::string& newFrame);
96  static FramedDirectionPtr ChangeFrame(const VirtualRobot::Robot& robot, const FramedDirection& framedVec, const std::string& newFrame);
97  void changeFrame(const VirtualRobot::RobotPtr& robot, const std::string& newFrame);
98  void changeFrame(const VirtualRobot::Robot& robot, const std::string& newFrame);
99 
100  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
101  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
102  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
103  FramedDirectionPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
104  FramedDirectionPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
105  FramedDirectionPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
106  Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
107  Eigen::Vector3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
108  Eigen::Vector3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
109  FramedDirectionPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
110  FramedDirectionPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
111  FramedDirectionPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
112  Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
113  Eigen::Vector3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
114  Eigen::Vector3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
115 
116  // inherited from VariantDataClass
117  Ice::ObjectPtr ice_clone() const override;
118  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
119  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
120  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
121  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
122 
123  friend std::ostream& operator<<(std::ostream& stream, const FramedDirection& rhs);
124 
125  public: // serialization
126  void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
127  void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
128 
129  private:
130  static Eigen::Matrix4f __GetRotationBetweenFrames(const std::string& oldFrame, const std::string& newFrame, const VirtualRobot::Robot& robotState);
131  };
132 
133  class FramedPosition;
135 
143  virtual public FramedPositionBase,
144  virtual public Vector3
145  {
146  public:
147  FramedPosition();
148  FramedPosition(const Eigen::Vector3f&, const std::string& frame, const std::string& agent);
149  FramedPosition(const Eigen::Matrix4f&, const std::string& frame, const std::string& agent);
150  //FramedPosition(const Vector3BasePtr pos, const std::string &frame ); // this doesnt work for unknown reasons
151  FramedPosition(const FramedPosition& other);
152 
154 
155  std::string getFrame() const;
156 
157  void changeFrame(const SharedRobotInterfacePrx& referenceRobot, const std::string& newFrame);
158  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
159  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
160  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
161  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
162  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
163  FramedPositionPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
164  FramedPositionPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
165  FramedPositionPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
166  Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
167  Eigen::Vector3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
168  Eigen::Vector3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
169  FramedPositionPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
170  FramedPositionPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
171  FramedPositionPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
172  Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
173  Eigen::Vector3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
174  Eigen::Vector3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
175 
176  // inherited from VariantDataClass
177  Ice::ObjectPtr ice_clone() const override;
178  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
179  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
180  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
181  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
182 
183  friend std::ostream& operator<<(std::ostream& stream, const FramedPosition& rhs);
184 
185  public: // serialization
186  void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
187  void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
188  };
189 
190  class FramedOrientation;
192 
200  virtual public FramedOrientationBase,
201  virtual public Quaternion
202  {
203  public:
205  FramedOrientation(const Eigen::Matrix4f&, const std::string& frame, const std::string& agent);
206  FramedOrientation(const Eigen::Matrix3f&, const std::string& frame, const std::string& agent);
207  FramedOrientation(const Eigen::Quaternionf& q, const std::string& frame, const std::string& agent);
208 
209  FramedOrientation& operator=(const FramedOrientation&) = default;
210  // this doesnt work for an unknown reason
211  //FramedOrientation(const QuaternionBasePtr ori, const std::string &frame );
212  std::string getFrame()const ;
213 
214  // inherited from VariantDataClass
215  Ice::ObjectPtr ice_clone() const override;
216  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
217  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
218  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
219  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
220 
221  void changeFrame(const SharedRobotInterfacePrx& referenceRobot, const std::string& newFrame);
222  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
223  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
224  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
225  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
226  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
227  FramedOrientationPtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
228  FramedOrientationPtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
229  FramedOrientationPtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
230  Eigen::Matrix3f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
231  Eigen::Matrix3f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
232  Eigen::Matrix3f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
233  FramedOrientationPtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
234  FramedOrientationPtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
235  FramedOrientationPtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
236  Eigen::Matrix3f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
237  Eigen::Matrix3f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
238  Eigen::Matrix3f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
239 
240  friend std::ostream& operator<<(std::ostream& stream, const FramedOrientation& rhs);
241 
242  public: // serialization
243  void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
244  void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
245  };
246 
247 
248 
249  class FramedPose;
251 
258  class FramedPose :
259  virtual public FramedPoseBase,
260  virtual public Pose
261  {
262  public:
263  FramedPose();
264  FramedPose(const FramedPose& pose);
265  FramedPose(const Eigen::Matrix3f& m, const Eigen::Vector3f& v, const std::string& frame, const std::string& agent);
266  FramedPose(const Eigen::Matrix4f& m, const std::string& frame, const std::string& agent);
267  FramedPose(const armarx::Vector3BasePtr pos, const armarx::QuaternionBasePtr ori, const std::string& frame, const std::string& agent);
268 
269  FramedPose& operator=(const armarx::FramedPose&) = default;
270 
271  std::string getFrame() const;
272 
273  // inherited from VariantDataClass
274  Ice::ObjectPtr ice_clone() const override;
275 
276  VariantDataClassPtr clone(const Ice::Current& c = Ice::emptyCurrent) const override;
277 
278  std::string output(const Ice::Current& c = Ice::emptyCurrent) const override;
279 
280  VariantTypeId getType(const Ice::Current& c = Ice::emptyCurrent) const override;
281 
282  bool validate(const Ice::Current& c = Ice::emptyCurrent) override;
283 
284  void changeFrame(const SharedRobotInterfacePrx& referenceRobot, const std::string& newFrame);
285  void changeFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame);
286  void changeFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame);
287  void changeToGlobal(const SharedRobotInterfacePrx& referenceRobot);
288  void changeToGlobal(const VirtualRobot::RobotPtr& referenceRobot);
289  void changeToGlobal(const VirtualRobot::Robot& referenceRobot);
290  FramedPosePtr toGlobal(const SharedRobotInterfacePrx& referenceRobot) const;
291  FramedPosePtr toGlobal(const VirtualRobot::RobotPtr& referenceRobot) const;
292  FramedPosePtr toGlobal(const VirtualRobot::Robot& referenceRobot) const;
293  Eigen::Matrix4f toGlobalEigen(const SharedRobotInterfacePrx& referenceRobot) const;
294  Eigen::Matrix4f toGlobalEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
295  Eigen::Matrix4f toGlobalEigen(const VirtualRobot::Robot& referenceRobot) const;
296  FramedPosePtr toRootFrame(const SharedRobotInterfacePrx& referenceRobot) const;
297  FramedPosePtr toRootFrame(const VirtualRobot::RobotPtr& referenceRobot) const;
298  FramedPosePtr toRootFrame(const VirtualRobot::Robot& referenceRobot) const;
299  Eigen::Matrix4f toRootEigen(const SharedRobotInterfacePrx& referenceRobot) const;
300  Eigen::Matrix4f toRootEigen(const VirtualRobot::RobotPtr& referenceRobot) const;
301  Eigen::Matrix4f toRootEigen(const VirtualRobot::Robot& referenceRobot) const;
302  FramedPosePtr toFrame(const SharedRobotInterfacePrx& referenceRobot, const std::string& newFrame) const;
303  FramedPosePtr toFrame(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame) const;
304  FramedPosePtr toFrame(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame) const;
305  Eigen::Matrix4f toFrameEigen(const SharedRobotInterfacePrx& referenceRobot, const std::string& newFrame) const;
306  Eigen::Matrix4f toFrameEigen(const VirtualRobot::RobotPtr& referenceRobot, const std::string& newFrame) const;
307  Eigen::Matrix4f toFrameEigen(const VirtualRobot::Robot& referenceRobot, const std::string& newFrame) const;
308 
309  friend std::ostream& operator<<(std::ostream& stream, const FramedPose& rhs);
312 
313  static VirtualRobot::LinkedCoordinate createLinkedCoordinate(const VirtualRobot::RobotPtr& virtualRobot, const FramedPositionPtr& position, const FramedOrientationPtr& orientation);
314  friend bool operator==(const FramedPose& pose1, const FramedPose& pose2);
315  friend bool operator!=(const FramedPose& pose1, const FramedPose& pose2);
316 
317  public:
318  void serialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) const override;
319  void deserialize(const armarx::ObjectSerializerBasePtr& serializer, const ::Ice::Current& = Ice::emptyCurrent) override;
320 
321  };
322 
324 
325 }
326 
327 extern template class ::IceInternal::Handle< ::armarx::FramedPose>;
328 extern template class ::IceInternal::Handle< ::armarx::FramedPosition>;
329 extern template class ::IceInternal::Handle< ::armarx::FramedDirection>;
330 extern template class ::IceInternal::Handle< ::armarx::FramedOrientation>;
331 
332 
333 
armarx::FramedDirection::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:265
armarx::FramedPose::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:573
Eigen
Definition: Elements.h:36
armarx::VariantType::Float
const VariantTypeId Float
Definition: Variant.h:918
armarx::FramedPosition::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:802
armarx::FramedOrientation::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:905
IceProxy::armarx
Definition: LogSender.h:38
armarx::FramedPosition::operator=
FramedPosition & operator=(const armarx::FramedPosition &other)
Definition: FramedPose.cpp:833
armarx::FramedPose
The FramedPose class.
Definition: FramedPose.h:258
VirtualRobot
Definition: FramedPose.h:43
armarx::FramedPose::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1207
armarx::FramedPosition::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:624
armarx::FramedPose::createLinkedCoordinate
static VirtualRobot::LinkedCoordinate createLinkedCoordinate(const VirtualRobot::RobotPtr &virtualRobot, const FramedPositionPtr &position, const FramedOrientationPtr &orientation)
Definition: FramedPose.cpp:1125
Pose.h
armarx::FramedPose::toFrame
FramedPosePtr toFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
Definition: FramedPose.cpp:1171
armarx::FramedPose::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1202
armarx::FramedPose::toFrameEigen
Eigen::Matrix4f toFrameEigen(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame) const
Definition: FramedPose.cpp:1185
armarx::GlobalFrame
const std::string GlobalFrame
Definition: FramedPose.h:62
armarx::FramedOrientation::operator=
FramedOrientation & operator=(const FramedOrientation &)=default
armarx::FramedDirection::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:320
armarx::FramedDirection::toRootEigen
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:248
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
armarx::FramedDirection::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:330
armarx::FramedPosition::FramedPosition
FramedPosition()
Definition: FramedPose.cpp:595
armarx::FramedPose::operator==
friend bool operator==(const FramedPose &pose1, const FramedPose &pose2)
Definition: FramedPose.cpp:1223
armarx::FramedPosition::toRootEigen
Eigen::Vector3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:778
armarx::FramedDirection::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedDirection &rhs)
Definition: FramedPose.cpp:340
armarx::FramedOrientation::toRootFrame
FramedOrientationPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1042
armarx::FramedPose::toGlobal
FramedPosePtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:492
armarx::FramedOrientation::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1108
armarx::FramedPosition::toGlobalEigen
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:744
armarx::FramedPosition::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:843
armarx::FramedPosition::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:795
armarx::FramedDirection::FramedDirection
FramedDirection()
armarx::FramedPosition::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:811
armarx::FramedDirection::toRootFrame
FramedDirectionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:231
armarx::FramedOrientation::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:910
IceInternal::Handle< FramedDirection >
armarx::FramedOrientation::toGlobal
FramedOrientationPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1008
armarx::FramedPosition::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:848
armarx::FramedPose::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1212
armarx::FramedDirection::toGlobalEigen
Eigen::Vector3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:214
armarx::FramedDirection::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:299
armarx::FramedDirection::ChangeFrame
static FramedDirectionPtr ChangeFrame(const VirtualRobot::RobotPtr &robot, const FramedDirection &framedVec, const std::string &newFrame)
Definition: FramedPose.cpp:86
armarx::FramedOrientation::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:1098
armarx::MapFrame
const std::string MapFrame
Definition: FramedPose.h:64
armarx::FramedOrientation::toGlobalEigen
Eigen::Matrix3f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1025
armarx::SharedRobotInterfacePrx
::IceInternal::ProxyHandle< ::IceProxy::armarx::SharedRobotInterface > SharedRobotInterfacePrx
Definition: FramedPose.h:57
armarx::FramedPose::output
std::string output(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:390
armarx::FramedDirection::toGlobal
FramedDirectionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:197
armarx::FramedPose::getPosition
FramedPositionPtr getPosition() const
Definition: FramedPose.cpp:561
armarx::FramedPose::operator=
FramedPose & operator=(const armarx::FramedPose &)=default
armarx::FramedPose::toGlobalEigen
Eigen::Matrix4f toGlobalEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:509
armarx::FramedOrientation::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:979
armarx::FramedDirection::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:335
armarx::FramedPosition
The FramedPosition class.
Definition: FramedPose.h:142
armarx::FramedOrientation::serialize
void serialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1076
armarx::FramedPosition::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:858
armarx::Vector3
The Vector3 class.
Definition: Pose.h:101
armarx::FramedPose::FramedPose
FramedPose()
Definition: FramedPose.cpp:347
armarx::VariantType
Definition: ChannelRef.h:160
armarx::FramedOrientation::validate
bool validate(const Ice::Current &c=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1113
armarx::FramedDirection::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:81
armarx::OdometryFrame
const std::string OdometryFrame
Definition: FramedPose.h:63
armarx::FramedPosition::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:700
armarx::FramedOrientation
The FramedOrientation class.
Definition: FramedPose.h:199
armarx::VariantTypeId
Ice::Int VariantTypeId
Definition: Variant.h:44
armarx::FramedPosition::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:629
boost::source
Vertex source(const detail::edge_base< Directed, Vertex > &e, const PCG &)
Definition: point_cloud_graph.h:681
q
#define q
armarx::FramedPosition::getType
VariantTypeId getType(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:853
armarx::FramedDirection::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:325
armarx::FramedPosition::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedPosition &rhs)
Definition: FramedPose.cpp:863
armarx::FramedPose::toRootEigen
Eigen::Matrix4f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:543
armarx::FramedPosition::toRootFrame
FramedPositionPtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:761
armarx::Pose
The Pose class.
Definition: Pose.h:216
armarx::ctrlutil::v
double v(double t, double v0, double a0, double j)
Definition: CtrlUtil.h:35
GfxTL::Matrix3f
MatrixXX< 3, 3, float > Matrix3f
Definition: MatrixXX.h:600
GfxTL::Matrix4f
MatrixXX< 4, 4, float > Matrix4f
Definition: MatrixXX.h:601
armarx::FramedDirection::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:169
armarx::FramedDirection
FramedDirection is a 3 dimensional direction vector with a reference frame. The reference frame can b...
Definition: FramedPose.h:83
armarx::FramedPose::getOrientation
FramedOrientationPtr getOrientation() const
Definition: FramedPose.cpp:567
armarx::FramedDirection::operator=
FramedDirection & operator=(const FramedDirection &)=default
armarx::FramedPose::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedPose &rhs)
Definition: FramedPose.cpp:1217
armarx::Quaternion
The Quaternion class.
Definition: Pose.h:154
Eigen::Matrix< Ice::Float, 6, 6 >
armarx::FramedPose::toRootFrame
FramedPosePtr toRootFrame(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:526
armarx::FramedOrientation::operator<<
friend std::ostream & operator<<(std::ostream &stream, const FramedOrientation &rhs)
Definition: FramedPose.cpp:1118
armarx::FramedOrientation::FramedOrientation
FramedOrientation()
Definition: FramedPose.cpp:870
armarx::aron::type::ObjectPtr
std::shared_ptr< Object > ObjectPtr
Definition: Object.h:37
armarx::FramedPose::getFrame
std::string getFrame() const
Definition: FramedPose.cpp:385
armarx::FramedDirection::changeFrame
void changeFrame(const VirtualRobot::RobotPtr &robot, const std::string &newFrame)
Definition: FramedPose.cpp:119
armarx::FramedPose::changeToGlobal
void changeToGlobal(const SharedRobotInterfacePrx &referenceRobot)
Definition: FramedPose.cpp:459
armarx::FramedPose::operator!=
friend bool operator!=(const FramedPose &pose1, const FramedPose &pose2)
Definition: FramedPose.cpp:1229
armarx::FramedPose::ice_clone
Ice::ObjectPtr ice_clone() const override
Definition: FramedPose.cpp:1197
armarx::FramedOrientation::clone
VariantDataClassPtr clone(const Ice::Current &c=Ice::emptyCurrent) const override
Definition: FramedPose.cpp:1103
armarx::FramedPosition::toGlobal
FramedPositionPtr toGlobal(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:727
armarx::FramedPose::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:582
armarx::FramedOrientation::toRootEigen
Eigen::Matrix3f toRootEigen(const SharedRobotInterfacePrx &referenceRobot) const
Definition: FramedPose.cpp:1059
armarx::FramedOrientation::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:1085
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
armarx::Variant::addTypeName
static VariantTypeId addTypeName(const std::string &typeName)
Register a new type for the use in a Variant.
Definition: Variant.cpp:751
armarx::FramedOrientation::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:917
armarx::FramedPose::changeFrame
void changeFrame(const SharedRobotInterfacePrx &referenceRobot, const std::string &newFrame)
Definition: FramedPose.cpp:398
armarx::FramedDirection::deserialize
void deserialize(const armarx::ObjectSerializerBasePtr &serializer, const ::Ice::Current &=Ice::emptyCurrent) override
Definition: FramedPose.cpp:308