9 #ifndef _LIBALMATH_ALMATH_TOOLS_AVOIDFOOTCOLLISION_H_
10 #define _LIBALMATH_ALMATH_TOOLS_AVOIDFOOTCOLLISION_H_
12 #include <almath/types/alpose2d.h>
13 #include <almath/types/alposition2d.h>
32 const std::vector<Position2D>& pLFootBoundingBox,
33 const std::vector<Position2D>& pRFootBoundingBox,
34 const bool& pIsLeftSupport,
49 const float& pMaxFootX,
50 const float& pMaxFootY,
57 const bool areTwoBoxesInCollision(
58 const std::vector<Position2D>& pBoxA,
59 const std::vector<Position2D>& pBoxB);
66 const std::vector<Position2D>& pInitBox,
68 std::vector<Position2D>& pMovedBox);
76 const void dichotomie(
77 const std::vector<Position2D>& pFixedBox,
78 const std::vector<Position2D>& pMovingBox,
88 bool intersectionSegment2D(
89 const Position2D &pA1,
90 const Position2D &pA2,
91 const Position2D &pB1,
92 const Position2D &pB2,
98 #endif // _LIBALMATH_ALMATH_TOOLS_AVOIDFOOTCOLLISION_H_
const bool avoidFootCollision(const std::vector< Position2D > &pLFootBoundingBox, const std::vector< Position2D > &pRFootBoundingBox, const bool &pIsLeftSupport, Pose2D &pMove)
Compute the best position(orientation) of the foot to avoid collision.
const bool clipFootWithEllipse(const float &pMaxFootX, const float &pMaxFootY, Pose2D &pMove)
Clip foot move with ellipsoid function