function distanceFromIntersection(from, direction, position) {

    // v0 is vector from from to position
    position.vsub(from,v0);
    var dot = v0.dot(direction);

    // intersect = direction*dot + from
    direction.mult(dot,intersect);
    intersect.vadd(from,intersect);

    var distance = position.distanceTo(intersect);

    return distance;
}
@method reportIntersection
@private
@param  {Vec3} normal
@param  {Vec3} hitPointWorld
@param  {Shape} shape
@param  {Body} body
@return {boolean} True if the intersections should continue