//Look at the GJK_EPA.h header file for documentation and instructions bool SteerLib::GJK_EPA::intersect(float& return_penetration_depth, Util::Vector& return_penetration_vector, const std::vector<Util::Vector>& _shapeA, const std::vector<Util::Vector>& _shapeB) { if (CONCAVE_POLYGONS) return Triangulate(_shapeA, _shapeB); std::vector<Util::Vector> _simplex; bool colliding; colliding = Triangulate(_shapeA, _shapeB); if (colliding) { EPA(return_penetration_depth, return_penetration_vector, _simplex, _shapeA, _shapeB); return true; } else { return_penetration_depth = 0; return_penetration_vector.zero(); return false; } // To make compiler happy return false; }
//Look at the GJK_EPA.h header file for documentation and instructions bool SteerLib::GJK_EPA::intersect(float& return_penetration_depth, Util::Vector& return_penetration_vector, const std::vector<Util::Vector>& _shapeA, const std::vector<Util::Vector>& _shapeB) { std::vector<Util::Vector> _simplex; bool colliding; colliding = GJK(_simplex, _shapeA, _shapeB); if (colliding) { EPA(return_penetration_depth, return_penetration_vector, _simplex, _shapeA, _shapeB); return true; } else { return_penetration_depth = 0; return_penetration_vector.zero(); return false; } }