#pragma once #include "vde/core/point.h" #include "vde/core/line.h" #include "vde/core/plane.h" #include "vde/core/triangle.h" namespace vde::core { double distance(const Point3D& a, const Point3D& b); double distance(const Point3D& p, const Line3D& line); double distance(const Point3D& p, const Segment3D& seg); double distance(const Point3D& p, const Plane& plane); double distance(const Point3D& p, const Triangle& tri); Point3D closest_point(const Point3D& p, const Triangle& tri); Point3D closest_point(const Point3D& p, const Segment3D& seg); } // namespace vde::core