An implementation of our extension of the classical GJK algorithm. More...
#include <GJK_nD.hpp>
Public Types | |
typedef Eigen::VectorXd | Vector |
The vector type used in the GJKnD algorithm. More... | |
typedef Vector | Point |
The point type used in the GJKnD algorithm. More... | |
Static Public Member Functions | |
static bool | isDigitalHyperplane (const std::vector< Point > &setIn, const std::vector< Point > &setAbove, const std::vector< Point > &setBelow, Vector &normal, double &h, double &H) |
An implementation of our extension of the classical GJK algorithm.
Th GJKnD algorithm allows us to separate 3 sets of integer points with a couple of parallel hyperplanes describing a digital hyperplane, with one set of point inside the digital hyperplane, and the two other ones lying on their own opposite part of the digital hyperplane.
typedef Vector GJKnD::Point |
The point type used in the GJKnD algorithm.
typedef Eigen::VectorXd GJKnD::Vector |
The vector type used in the GJKnD algorithm.
|
static |
The isDigitalHyperplane function looks for a couple of hyperplanes that separtes the 3 sets of input points.
[in] | setIn | the set of points that shall lie between the couple of hyperplanes |
[in] | setAbove | the set of points that shall lie above the upper hyperplane |
[in] | setBelow | the set of points that shall lie below the lower hyperplane |
[out] | normal | the normal vector of the separting hyperplanes |
[out] | h | the shift parameter of the lower hyperplanes |
[out] | H | the shift parameter of the upper hyperplanes |