我正在从xyz
文件中检索坐标x,y,z以计算delaunay。这些值具有双精度。
如果我打印或保存点的值,则x和y不再具有双精度,但z确实如此。我调试了该程序,如果我将监视表达式添加为*(double*)<address of the x>
,我会得到原始的double
值。
我已尝试将point().x()
投射到*(double*)
,但当然x()
会返回double
,而不是double*
。不知何故,检索时精度会丢失。
有任何线索吗?
我正在使用
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Projection_traits_xy_3<K> Gt;
typedef CGAL::Triangulation_vertex_base_2<Gt> Vb;
typedef CGAL::Delaunay_mesh_face_base_2<Gt> Fb;
typedef CGAL::Triangulation_data_structure_2<Vb, Fb> Tds;
typedef CGAL::Constrained_Delaunay_triangulation_2<Gt, Tds> CDT;
谢谢!
答案 0 :(得分:0)
没关系,我只需要改变流的精度。
outstream << std::fixed << setprecision(4) ;