55 #ifndef __IOMANAGER_HH__
56 #define __IOMANAGER_HH__
69 #include <OpenMesh/Core/System/config.h>
70 #include <OpenMesh/Core/IO/Options.hh>
71 #include <OpenMesh/Core/IO/reader/BaseReader.hh>
72 #include <OpenMesh/Core/IO/writer/BaseWriter.hh>
73 #include <OpenMesh/Core/IO/importer/BaseImporter.hh>
74 #include <OpenMesh/Core/IO/exporter/BaseExporter.hh>
75 #include <OpenMesh/Core/Utils/SingletonT.hh>
130 bool read(
const std::string& _filename,
140 bool read(std::istream& _filename,
141 const std::string& _ext,
152 bool write(
const std::string& _filename,
155 std::streamsize _precision = 6);
163 bool write(std::ostream& _filename,
164 const std::string& _ext,
167 std::streamsize _precision = 6);
171 bool can_read(
const std::string& _format )
const;
174 bool can_write(
const std::string& _format )
const;
208 void update_read_filters();
212 void update_write_filters();
224 reader_modules_.insert(_bl);
225 update_read_filters();
236 writer_modules_.insert(_bw);
237 update_write_filters();
244 const BaseWriter *find_writer(
const std::string& _format);
247 std::set<BaseReader*> reader_modules_;
250 std::set<BaseWriter*> writer_modules_;
253 std::string read_filters_;
256 std::string write_filters_;
265 OPENMESHDLLEXPORT _IOManager_& IOManager();
virtual size_t binary_size(BaseExporter &, Options) const
Returns expected size of file if binary format is supported else 0.
Definition: BaseWriter.hh:133
Set options for reader/writer modules.
Definition: Options.hh:95
bool register_module(BaseReader *_bl)
Registers a new reader module.
Definition: IOManager.hh:222
Base class for reader modules.
Definition: BaseReader.hh:94
No options.
Definition: Options.hh:104
Base class for all writer modules.
Definition: BaseWriter.hh:88
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels ...
Definition: MeshItems.hh:64
bool register_module(BaseWriter *_bw)
Registers a new writer module.
Definition: IOManager.hh:234
Base class for importer modules.
Definition: BaseImporter.hh:88
Base class for exporter modules.
Definition: BaseExporter.hh:89
const std::string & qt_read_filters() const
Returns all readable file extension + descriptions in one string.
Definition: IOManager.hh:194
const std::string & qt_write_filters() const
Returns all writeable file extension + descriptions in one string.
Definition: IOManager.hh:201
size_t binary_size(const Mesh &_mesh, const std::string &_ext, Options _opt=Options::Default)
Get binary size of data.
Definition: MeshIO.hh:260
This is the real IOManager class that is later encapsulated by SingletonT to enforce its uniqueness...
Definition: IOManager.hh:107