From 7ebca1cc83b9608f88c5bd500eb282947aaf9863 Mon Sep 17 00:00:00 2001 From: Maxime Gimeno Date: Fri, 3 Jul 2020 12:24:09 +0200 Subject: [PATCH] Fix precision problems in strings --- Polyhedron/demo/Polyhedron/MainWindow.cpp | 12 ++++++------ Polyhedron/demo/Polyhedron/Viewer.cpp | 24 ++++++++++++++--------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/Polyhedron/demo/Polyhedron/MainWindow.cpp b/Polyhedron/demo/Polyhedron/MainWindow.cpp index 359c176b686..ac320afc99d 100644 --- a/Polyhedron/demo/Polyhedron/MainWindow.cpp +++ b/Polyhedron/demo/Polyhedron/MainWindow.cpp @@ -1781,12 +1781,12 @@ void MainWindow::updateInfo() { CGAL::Bbox_3 bbox = item->bbox(); if(bbox !=CGAL::Bbox_3()) item_text += QString("
Bounding box: min (%1,%2,%3), max (%4,%5,%6)
") - .arg(bbox.xmin()) - .arg(bbox.ymin()) - .arg(bbox.zmin()) - .arg(bbox.xmax()) - .arg(bbox.ymax()) - .arg(bbox.zmax()); + .arg(bbox.xmin(),0, 'g', 17) + .arg(bbox.ymin(),0, 'g', 17) + .arg(bbox.zmin(),0, 'g', 17) + .arg(bbox.xmax(),0, 'g', 17) + .arg(bbox.ymax(),0, 'g', 17) + .arg(bbox.zmax(),0, 'g', 17); if(!item_filename.isEmpty()) { item_text += QString("
File: %1
").arg(item_filename); } diff --git a/Polyhedron/demo/Polyhedron/Viewer.cpp b/Polyhedron/demo/Polyhedron/Viewer.cpp index 5764693122f..ef1f8b08980 100644 --- a/Polyhedron/demo/Polyhedron/Viewer.cpp +++ b/Polyhedron/demo/Polyhedron/Viewer.cpp @@ -1508,12 +1508,18 @@ void Viewer_impl::showDistance(QPoint pixel) TextItem *ACoord = new TextItem(float(APoint.x), float(APoint.y), float(APoint.z), - QString("A(%1,%2,%3)").arg(APoint.x-viewer->offset().x).arg(APoint.y-viewer->offset().y).arg(APoint.z-viewer->offset().z), true, font, Qt::red, true); + QString("A(%1,%2,%3)") + .arg(APoint.x/scaler.x()-viewer->offset().x, 0, 'g', 10) + .arg(APoint.y/scaler.y()-viewer->offset().y, 0, 'g', 10) + .arg(APoint.z/scaler.z()-viewer->offset().z, 0, 'g', 10), true, font, Qt::red, true); distance_text.append(ACoord); TextItem *BCoord = new TextItem(float(BPoint.x), float(BPoint.y), float(BPoint.z), - QString("B(%1,%2,%3)").arg(BPoint.x-viewer->offset().x).arg(BPoint.y-viewer->offset().y).arg(BPoint.z-viewer->offset().z), true, font, Qt::red, true); + QString("B(%1,%2,%3)") + .arg(BPoint.x/scaler.x()-viewer->offset().x, 0, 'g', 10) + .arg(BPoint.y/scaler.y()-viewer->offset().y, 0, 'g', 10) + .arg(BPoint.z/scaler.z()-viewer->offset().z, 0, 'g', 10), true, font, Qt::red, true); distance_text.append(BCoord); CGAL::qglviewer::Vec centerPoint = 0.5*(BPoint+APoint); TextItem *centerCoord = new TextItem(float(centerPoint.x), @@ -1525,13 +1531,13 @@ void Viewer_impl::showDistance(QPoint pixel) Q_FOREACH(TextItem* ti, distance_text) textRenderer->addText(ti); Q_EMIT(viewer->sendMessage(QString("First point : A(%1,%2,%3), second point : B(%4,%5,%6), distance between them : %7") - .arg(APoint.x-viewer->offset().x) - .arg(APoint.y-viewer->offset().y) - .arg(APoint.z-viewer->offset().z) - .arg(BPoint.x-viewer->offset().x) - .arg(BPoint.y-viewer->offset().y) - .arg(BPoint.z-viewer->offset().z) - .arg(dist))); + .arg(APoint.x/scaler.x()-viewer->offset().x) + .arg(APoint.y/scaler.y()-viewer->offset().y) + .arg(APoint.z/scaler.z()-viewer->offset().z) + .arg(BPoint.x/scaler.x()-viewer->offset().x) + .arg(BPoint.y/scaler.y()-viewer->offset().y) + .arg(BPoint.z/scaler.z()-viewer->offset().z) + .arg(dist, 0, 'g', 10))); } }