| 59 | |
| 60 | |
| 61 | std::string PlyReader::readLine() |
| 62 | { |
| 63 | m_line.clear(); |
| 64 | if (m_lines.size()) |
| 65 | { |
| 66 | m_line = m_lines.top(); |
| 67 | m_lines.pop(); |
| 68 | } |
| 69 | else |
| 70 | { |
| 71 | do |
| 72 | { |
| 73 | std::getline(*m_stream, m_line); |
| 74 | } while (m_line.empty() && m_stream->good()); |
| 75 | } |
| 76 | Utils::trimTrailing(m_line); |
| 77 | m_linePos = Utils::extract(m_line, 0, |
| 78 | [](char c){ return !std::isspace(c); }); |
| 79 | return std::string(m_line, 0, m_linePos); |
| 80 | } |
| 81 | |
| 82 | |
| 83 | void PlyReader::pushLine() |