diff --git a/main.cpp b/main.cpp index ccf9284b9411b96b62fb169a30c0c61f42e2aa35..a322c4707a69457e38df7e1e981ee3a657c4f327 100644 --- a/main.cpp +++ b/main.cpp @@ -1,3 +1,4 @@ +#include <cstdlib> #include <filesystem> #include <fstream> #include <ios> @@ -51,15 +52,31 @@ void txt2pcd( std::filesystem::path input, std::filesystem::path output ) { pcl::PointXYZRGB point; - inputFile >> point.x; - inputFile >> point.y; - inputFile >> point.z; + std::string buf; + + inputFile >> buf; + point.x = std::atof( buf.c_str() ); + buf.clear(); + + inputFile >> buf; + point.y = std::atof( buf.c_str() ); + buf.clear(); + + inputFile >> buf; + point.z = std::atof( buf.c_str() ); + buf.clear(); int r, g, b; - inputFile >> r; - inputFile >> g; - inputFile >> b; + inputFile >> buf; + r = std::atoi( buf.c_str() ); + buf.clear(); + inputFile >> buf; + g = std::atoi( buf.c_str() ); + buf.clear(); + inputFile >> buf; + b = std::atoi( buf.c_str() ); + buf.clear(); point.r = static_cast<char>( r ); point.g = static_cast<char>( g );