以下是使用CGAL
创建具有各种精度的2D点的方法#include <CGAL/Cartesian.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
typedef CGAL::Cartesian<float> Kernel_float;
typedef Exact_predicates_exact_constructions_kernel Kernel_exact;
typedef Kernel_float::Point_2 Point_2_float;
typedef Kernel_exact::Point_2 Point_2_exact;
以下是我如何创建d维32位浮点类型点
#includee <CGAL/Cartesian_d.h>
typedef CGAL::Cartesian_d<float> Kernel_d_float;
typedef Kernel_d_float::Point_d Point_d_float;
但是,我无法创建精确类型的Point_d ...因为没有像
这样的头文件CGAL/Exact_predicates_exact_constructions_kernel_d.h
CGAL不支持精确类型的d维内核吗?
答案 0 :(得分:1)
要获得精确的dD内核,请使用CGAL::Cartesian_d
的确切数字类型,例如:
#include <CGAL/Cartesian_d.h>
#include <CGAL/Gmpq.h>
typedef CGAL::Cartesian_d<CGAL::Gmpq> Exact_kernel_d;