ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
exact_predicates.h
浏览该文件的文档.
1 #pragma once
3 
5 
14 
22 enum class CircleTest { Inside, On, Outside };
23 
49 Orientation orient_2d(const Point2D& a, const Point2D& b, const Point2D& c);
50 
76 Orientation orient_3d(const Point3D& a, const Point3D& b,
77  const Point3D& c, const Point3D& d);
78 
106 CircleTest in_circle(const Point2D& a, const Point2D& b,
107  const Point2D& c, const Point2D& d);
108 
109 } // namespace vde::foundation::exact
110 
119 namespace vde::foundation {
127  static exact::Orientation orient_2d(const Point2D& a, const Point2D& b, const Point2D& c) {
128  return exact::orient_2d(a, b, c);
129  }
136  static exact::Orientation orient_3d(const Point3D& a, const Point3D& b,
137  const Point3D& c, const Point3D& d) {
138  return exact::orient_3d(a, b, c, d);
139  }
147  static exact::CircleTest in_circle(const Point2D& a, const Point2D& b,
148  const Point2D& c, const Point2D& d) {
149  return exact::in_circle(a, b, c, d);
150  }
151 };
152 } // namespace vde::foundation
Orientation orient_3d(const Point3D &a, const Point3D &b, const Point3D &c, const Point3D &d)
自适应精度三维定向测试
Orientation orient_2d(const Point2D &a, const Point2D &b, const Point2D &c)
自适应精度二维定向测试(Shewchuk 算法)
CircleTest in_circle(const Point2D &a, const Point2D &b, const Point2D &c, const Point2D &d)
自适应精度圆内测试(In-Circle Test)
Orientation
二维定向测试结果
CircleTest
圆测试结果
自适应双精度谓词后端(默认)
Definition: error_codes.h:4
Point< double, 2 > Point2D
双精度二维点
Definition: math_types.h:41
Point< double, 3 > Point3D
双精度三维点
Definition: math_types.h:43
static exact::CircleTest in_circle(const Point2D &a, const Point2D &b, const Point2D &c, const Point2D &d)
圆内测试
static exact::Orientation orient_2d(const Point2D &a, const Point2D &b, const Point2D &c)
二维定向测试
static exact::Orientation orient_3d(const Point3D &a, const Point3D &b, const Point3D &c, const Point3D &d)
三维定向测试