52 #ifndef __OMREADER_HH__
53 #define __OMREADER_HH__
59 #include <OpenMesh/Core/System/config.h>
60 #include <OpenMesh/Core/Utils/SingletonT.hh>
61 #include <OpenMesh/Core/IO/OMFormat.hh>
62 #include <OpenMesh/Core/IO/IOManager.hh>
63 #include <OpenMesh/Core/IO/importer/BaseImporter.hh>
64 #include <OpenMesh/Core/IO/reader/BaseReader.hh>
96 bool read(
const std::string& _filename,
101 bool read(std::istream& _is,
105 virtual bool can_u_read(
const std::string& _filename)
const;
106 virtual bool can_u_read(std::istream& _is)
const;
111 bool supports(
const OMFormat::uint8 version )
const;
116 typedef OMFormat::Header Header;
117 typedef OMFormat::Chunk::Header ChunkHeader;
118 typedef OMFormat::Chunk::PropertyName PropertyName;
121 mutable size_t bytes_;
123 mutable Header header_;
124 mutable ChunkHeader chunk_header_;
125 mutable PropertyName property_name_;
127 bool read_binary_vertex_chunk( std::istream &_is,
132 bool read_binary_face_chunk( std::istream &_is,
137 bool read_binary_edge_chunk( std::istream &_is,
142 bool read_binary_halfedge_chunk( std::istream &_is,
147 bool read_binary_mesh_chunk( std::istream &_is,
152 size_t restore_binary_custom_data( std::istream& _is,
165 OPENMESHDLLEXPORT _OMReader_& OMReader();