OM Writer: Added Mark to the format header to identify end of stream correctly (Thanks to Jamie Kydd for the patch)
This commit is contained in:
@@ -179,7 +179,8 @@ namespace OMFormat {
|
||||
Entity_Mesh = 0x01,
|
||||
Entity_Face = 0x02,
|
||||
Entity_Edge = 0x04,
|
||||
Entity_Halfedge = 0x06
|
||||
Entity_Halfedge = 0x06,
|
||||
Entity_Sentinel = 0x07
|
||||
};
|
||||
|
||||
enum Dim {
|
||||
|
||||
@@ -211,6 +211,8 @@ bool _OMReader_::read_binary(std::istream& _is, BaseImporter& _bi, Options& _opt
|
||||
if (!read_binary_mesh_chunk(_is, _bi, _opt, swap))
|
||||
return false;
|
||||
break;
|
||||
case OMFormat::Chunk::Entity_Sentinel:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -430,6 +430,11 @@ bool _OMWriter_::write_binary(std::ostream& _os, BaseExporter& _be,
|
||||
OMFormat::Chunk::Entity_Mesh, swap );
|
||||
}
|
||||
|
||||
memset(&chunk_header, 0, sizeof(chunk_header));
|
||||
chunk_header.name_ = false;
|
||||
chunk_header.entity_ = OMFormat::Chunk::Entity_Sentinel;
|
||||
bytes += store(_os, chunk_header, swap);
|
||||
|
||||
std::clog << "#bytes written: " << bytes << std::endl;
|
||||
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user