From 84f6c314cb5db70599e6573699f7be1688c707de Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 14 Mar 2011 20:10:36 +0000 Subject: [PATCH] support six-component vertices --- pandatool/src/objegg/objToEggConverter.cxx | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/pandatool/src/objegg/objToEggConverter.cxx b/pandatool/src/objegg/objToEggConverter.cxx index 9f142c5129..989be1ea30 100755 --- a/pandatool/src/objegg/objToEggConverter.cxx +++ b/pandatool/src/objegg/objToEggConverter.cxx @@ -206,7 +206,7 @@ process_line(const string &line) { //////////////////////////////////////////////////////////////////// bool ObjToEggConverter:: process_v(vector_string &words) { - if (words.size() != 4) { + if (words.size() != 4 && words.size() != 7) { objegg_cat.error() << "Wrong number of tokens at line " << _line_number << "\n"; return false; @@ -226,6 +226,23 @@ process_v(vector_string &words) { EggVertex *vertex = get_vertex(_vi); vertex->set_pos(pos); + + // Meshlab format might include an RGB color following the vertex + // position. + if (words.size() == 7) { + double r, g, b; + okflag &= string_to_double(words[4], r); + okflag &= string_to_double(words[5], g); + okflag &= string_to_double(words[6], b); + + if (!okflag) { + objegg_cat.error() + << "Invalid number at line " << _line_number << "\n"; + return false; + } + vertex->set_color(Colorf(r, g, b, 1.0)); + } + ++_vi; return true;