libalmath  2.8.7.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aldisplacement.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012 Aldebaran Robotics. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the COPYING file.
5  */
6 
7 
8 #pragma once
9 #ifndef ALDISPLACEMENT_H
10 #define ALDISPLACEMENT_H
11 
14 #include <almath/api.h>
15 
16 namespace AL {
17  namespace Math {
18 
22  struct ALMATH_API Displacement
23  {
28 
32  explicit Displacement();
33 
42  const Position3D& pos3d,
43  const Quaternion& quat = Quaternion());
44 
53  Displacement& operator*=(const Displacement& pDisp);
54 
62  Displacement operator*(const Displacement& pDisp);
63 
73  bool isNear(
74  const Displacement& pDisp2,
75  const float pEpsilon=0.0001f) const;
76 
77  };
78 
79  }
80 }
81 
82 #endif // ALDISPLACEMENT_H
bool isNear(const Transform &lhs, const Transform &rhs, double epsilon)
Definition: qigeometry.h:111
Struct composed of a Position3D and a Quaternion
Create and play with a Position3D.
Definition: alposition3d.h:24
Quaternion Q
Rotation of the Displacement
Position3D P
Translation of the Displacement
Create and play with a Quaternion.
Definition: alquaternion.h:24
ALMATH_API Position3D operator*(const Rotation &pRot, const Position3D &pPos)
Overloading of operator * between Rotation and Position3D: