don't emit an error message for every face that could not be added (due to complex elements)
This commit is contained in:
@@ -304,6 +304,11 @@ bool _PLYReader_::read_ascii(std::istream& _in, BaseImporter& _bi, const Options
|
||||
return false;
|
||||
}
|
||||
|
||||
const bool err_enabled = omerr().is_enabled();
|
||||
size_t complex_faces = 0;
|
||||
if (err_enabled)
|
||||
omerr().disable();
|
||||
|
||||
// read vertices:
|
||||
for (i = 0; i < vertexCount_ && !_in.eof(); ++i) {
|
||||
vh = _bi.add_vertex();
|
||||
@@ -432,6 +437,8 @@ bool _PLYReader_::read_ascii(std::istream& _in, BaseImporter& _bi, const Options
|
||||
}
|
||||
|
||||
fh = _bi.add_face(vhandles);
|
||||
if (!fh.is_valid())
|
||||
++complex_faces;
|
||||
break;
|
||||
|
||||
case CUSTOM_PROP:
|
||||
@@ -449,6 +456,12 @@ bool _PLYReader_::read_ascii(std::istream& _in, BaseImporter& _bi, const Options
|
||||
|
||||
}
|
||||
|
||||
if (err_enabled) {
|
||||
omerr().enable();
|
||||
if (complex_faces)
|
||||
omerr() << complex_faces << " invalid faces could not be added.\n";
|
||||
}
|
||||
|
||||
// File was successfully parsed.
|
||||
return true;
|
||||
}
|
||||
@@ -472,6 +485,11 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap
|
||||
|
||||
_bi.reserve(vertexCount_, 3* vertexCount_ , faceCount_);
|
||||
|
||||
const bool err_enabled = omerr().is_enabled();
|
||||
size_t complex_faces = 0;
|
||||
if (err_enabled)
|
||||
omerr().disable();
|
||||
|
||||
// read vertices:
|
||||
for (unsigned int i = 0; i < vertexCount_ && !_in.eof(); ++i) {
|
||||
vh = _bi.add_vertex();
|
||||
@@ -610,6 +628,8 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap
|
||||
}
|
||||
|
||||
fh = _bi.add_face(vhandles);
|
||||
if (!fh.is_valid())
|
||||
++complex_faces;
|
||||
break;
|
||||
|
||||
case CUSTOM_PROP:
|
||||
@@ -626,6 +646,12 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap
|
||||
}
|
||||
}
|
||||
|
||||
if (err_enabled) {
|
||||
omerr().enable();
|
||||
if (complex_faces)
|
||||
omerr() << complex_faces << " invalid faces could not be added.\n";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user