double RTriangle::getDistanceTo(const RVector& point, bool limited) const { RVector normal = getNormal(); double d = getD(); double distance = (normal.x * point.x + normal.y * point.y + normal.z * point.z + d) / (normal.getMagnitude()); if (!limited || isPointInTriangle(point - normal.getUnitVector() * distance)) { return distance; } return RMAXDOUBLE; }