#include #include #include #include #include #include "polyscope/polyscope.h" #include "polyscope/point_cloud.h" #include "deps/CLI11.hpp" void processFile(const std::string &filename, const std::vector &vectorCols) { std::vector> pc; std::vector> alldata; std::ifstream ifs(filename); double x,y,z; std::string line; while(std::getline(ifs, line)) { std::stringstream linestream(line); std::vector data; auto i=0; while(linestream.good()) { double v; linestream >> v; data.push_back(v); ++i; } pc.push_back({data[0],data[1],data[2]}); alldata.push_back(data); } std::cout< scalars; for(auto i=0u; i < alldata.size(); ++i) scalars.push_back(alldata[i][col]); ps->addScalarQuantity("Scalar col"+std::to_string(col), scalars); } else { std::vector> V; for(auto i=0u; i < alldata.size(); ++i) V.push_back({alldata[i][col],alldata[i][col+1],alldata[i][col+2]}); ps->addVectorQuantity("Vector col"+std::to_string(col), V); col +=2; } } } int main(int argc, char **argv) { CLI::App app{"displayPTS"}; std::vector filenames; app.add_option("-i,--input,1", filenames, "Input point clouds") ->required(); std::vector vectorCols; app.add_option("--vectorCols", vectorCols, "Indices of columns to group as vectors (col col+1 col+2)"); CLI11_PARSE(app,argc,argv); auto errorMSG=[&](const size_t vi, const size_t vj){ std::cout<<"Error while parsing the vectorCols: "; std::cout<<"("<