Files
ViewDesignEngine/include/vde/foundation/exact_predicates.h
T

21 lines
690 B
C++
Raw Normal View History

#pragma once
#include "vde/foundation/math_types.h"
namespace vde::foundation::exact {
enum class Orientation { Clockwise, CounterClockwise, Collinear };
enum class CircleTest { Inside, On, Outside };
/// Adaptive-precision 2D orientation test (Shewchuk)
Orientation orient_2d(const Point2D& a, const Point2D& b, const Point2D& c);
/// Adaptive-precision 3D orientation test
Orientation orient_3d(const Point3D& a, const Point3D& b,
const Point3D& c, const Point3D& d);
/// Adaptive-precision in-circle test
CircleTest in_circle(const Point2D& a, const Point2D& b,
const Point2D& c, const Point2D& d);
} // namespace vde::foundation::exact