From 10af2ab4ae7b43e7644aa5d0212550017407d951 Mon Sep 17 00:00:00 2001 From: Luigi Malomo Date: Thu, 17 Dec 2020 00:12:45 +0100 Subject: [PATCH] corrected precision for saving floating point into ascii ply using nanoply --- wrap/nanoply/include/nanoply.hpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/wrap/nanoply/include/nanoply.hpp b/wrap/nanoply/include/nanoply.hpp index 10415db5..d35473a6 100644 --- a/wrap/nanoply/include/nanoply.hpp +++ b/wrap/nanoply/include/nanoply.hpp @@ -557,6 +557,30 @@ namespace nanoply return true; } + template <> + inline bool PlyFile::WriteAsciiData(const double & src) + { + if (mode != 1) + return false; + const auto precision = fileStream.precision(); + fileStream << std::setprecision(std::numeric_limits::max_digits10) + << src + << std::setprecision(precision); + return true; + } + + template <> + inline bool PlyFile::WriteAsciiData(const float & src) + { + if (mode != 1) + return false; + const auto precision = fileStream.precision(); + fileStream << std::setprecision(std::numeric_limits::max_digits10) + << src + << std::setprecision(precision); + return true; + } + inline void PlyFile::SetBufferSize(int64_t size) { maxSize = size;