我正在从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;谢谢!
发布于 2015-11-26 20:43:05
不要紧,我只需要改变流的精度。
outstream << std::fixed << setprecision(4) ;https://stackoverflow.com/questions/33938817
复制相似问题