Commit bca37d96 authored by Jan Möbius's avatar Jan Möbius
Browse files

Fixed binary reader errors in ply reader. (Thanks to Michael Kremer for the patch).

parent f19aca3d
Pipeline #1865 passed with stage
...@@ -606,7 +606,7 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap ...@@ -606,7 +606,7 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap
case VERTEX_INDICES: case VERTEX_INDICES:
// nV = number of Vertices for current face // nV = number of Vertices for current face
unsigned int nV; unsigned int nV;
readValue(prop.listIndexType, _in, nV); readInteger(prop.listIndexType, _in, nV);
if (nV == 3) { if (nV == 3) {
vhandles.resize(3); vhandles.resize(3);
...@@ -636,11 +636,11 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap ...@@ -636,11 +636,11 @@ bool _PLYReader_::read_binary(std::istream& _in, BaseImporter& _bi, bool /*_swap
if (_opt.check(Options::Custom) && fh.is_valid()) if (_opt.check(Options::Custom) && fh.is_valid())
readCustomProperty<true>(_in, _bi, fh, prop.name, prop.value, prop.listIndexType); readCustomProperty<true>(_in, _bi, fh, prop.name, prop.value, prop.listIndexType);
else else
consume_input(_in, scalar_size_[vertexProperties_[propertyIndex].value]); consume_input(_in, scalar_size_[faceProperties_[propertyIndex].value]);
break; break;
default: default:
consume_input(_in, scalar_size_[vertexProperties_[propertyIndex].value]); consume_input(_in, scalar_size_[faceProperties_[propertyIndex].value]);
break; break;
} }
} }
...@@ -1154,6 +1154,8 @@ bool _PLYReader_::can_u_read(std::istream& _is) const { ...@@ -1154,6 +1154,8 @@ bool _PLYReader_::can_u_read(std::istream& _is) const {
indexType = ValueTypeUINT8; indexType = ValueTypeUINT8;
} else if (listIndexType == "uchar") { } else if (listIndexType == "uchar") {
indexType = ValueTypeUCHAR; indexType = ValueTypeUCHAR;
} else if (listIndexType == "int") {
indexType = ValueTypeINT;
} else { } else {
omerr() << "Unsupported Index type for property list: " << listIndexType << std::endl; omerr() << "Unsupported Index type for property list: " << listIndexType << std::endl;
continue; continue;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment