9 #ifndef _LIBALMATH_ALMATH_TYPES_ALPOSITION3D_H_
10 #define _LIBALMATH_ALMATH_TYPES_ALPOSITION3D_H_
108 Position3D (
const std::vector<float>& pFloats);
233 const float& pEpsilon=0.0001f)
const;
284 void toVector(std::vector<float>& pReturnVector)
const;
285 std::vector<float>
toVector(
void)
const;
327 const Position3D& pPos1,
328 const Position3D& pPos2);
342 const Position3D& pPos1,
343 const Position3D& pPos2);
355 float norm(
const Position3D& pPos);
367 Position3D
normalize(
const Position3D& pPos);
380 const Position3D& pPos1,
381 const Position3D& pPos2);
396 const Position3D& pPos1,
397 const Position3D& pPos2);
410 const Position3D& pPos1,
411 const Position3D& pPos2,
424 const float& pEpsilon=0.0001f);
437 const Position3D& pPos2,
438 const float& pEpsilon=0.0001f);
442 #endif // _LIBALMATH_ALMATH_TYPES_ALPOSITION3D_H_
Position3D operator+(void) const
Overloading of operator + for Position3D.
Position3D operator-() const
Overloading of operator - for Position3D.
float crossProduct(const Position2D &pPos1, const Position2D &pPos2)
Compute the cross Product of two Position2D.
bool operator==(const Position3D &pPos2) const
Overloading of operator == for Position3D.
float norm(const Position2D &pPos)
Compute the norm of a Position2D.
Position3D & operator+=(const Position3D &pPos2)
Overloading of operator += for Position3D.
Position3D & operator-=(const Position3D &pPos2)
Overloading of operator -= for Position3D.
Position3D operator/(float pVal) const
Overloading of operator / for Position3D.
float norm() const
Compute the norm of the actual Position3D.
std::vector< float > toVector(void) const
Position3D & operator/=(float pVal)
Overloading of operator /= for Position3D.
Position3D & operator*=(float pVal)
Overloading of operator *= for Position3D.
bool isOrthogonal(const Position3D &pPos1, const Position3D &pPos2, const float &pEpsilon=0.0001f)
Checks if two Position3D are orthogonal
void writeToVector(std::vector< float >::iterator &pIt) const
Write [x, y, z] in the vector and update the iterator. It is assumed the vector has enough space...
float distanceSquared(const Pose2D &pPos1, const Pose2D &pPos2)
Compute the squared distance between two Pose2D.
Position3D operator*(float pVal) const
Overloading of operator * for Position3D.
float dotProduct(const Position2D &pPos1, const Position2D &pPos2)
Compute the dot Product between two Position2D:
bool operator!=(const Position3D &pPos2) const
Overloading of operator != for Position3D.
float distance(const Pose2D &pPos1, const Pose2D &pPos2)
Compute the distance between two Pose2D.
Position2D normalize(const Position2D &pPos)
Normalize a Position2D.
bool isUnitVector(const Position3D &pPos, const float &pEpsilon=0.0001f)
Checks if the norm of a Position3D is near to 1.0
Position3D crossProduct(const Position3D &pPos2) const
Compute the cross Product between the actual Position3D and the one give in argument.
Create and play with a Position3D.
bool isUnitVector(const float &pEpsilon=0.0001f) const
Checks if the norm of the Position3D is near to 1.0
float distanceSquared(const Position3D &pPos2) const
Compute the squared distance between the actual Position3D and the one given in argument.
Position3D normalize() const
Normalize the actual Position3D.
float dotProduct(const Position3D &pPos2) const
Compute the dot Product between the actual Position3D and the one give in argument.
bool isOrthogonal(const Position3D &pPos, const float &pEpsilon=0.0001f) const
Checks if this Position3D is orthogonal to Position3D pPos
Position3D()
Create a Position3D initialize with 0.0f.
bool isNear(const Position3D &pPos2, const float &pEpsilon=0.0001f) const
Check if the actual Position3D is near the one give in argument.
float distance(const Position3D &pPos2) const
Compute the distance between the actual Position3D and the one given in argument. ...