Developer Documentation
OpenMesh::IO::_OFFReader_ Class Reference

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/IO/reader/OFFReader.hh>

Inheritance diagram for OpenMesh::IO::_OFFReader_:
OpenMesh::IO::BaseReader

Public Member Functions

virtual ~_OFFReader_ ()
 Destructor. More...
 
std::string get_description () const override
 Returns a brief description of the file type that can be parsed. More...
 
std::string get_extensions () const override
 
std::string get_magic () const override
 Return magic bits used to determine file format. More...
 
bool read (const std::string &_filename, BaseImporter &_bi, Options &_opt) override
 
bool can_u_read (const std::string &_filename) const override
 Returns true if writer can parse _filename (checks extension). _filename can also provide an extension without a name for a file e.g. _filename == "om" checks, if the reader can read the "om" extension. More...
 
bool read (std::istream &_in, BaseImporter &_bi, Options &_opt) override
 
- Public Member Functions inherited from OpenMesh::IO::BaseReader
virtual ~BaseReader ()
 Destructor. More...
 
virtual std::string get_description () const =0
 Returns a brief description of the file type that can be parsed. More...
 
virtual std::string get_extensions () const =0
 
virtual std::string get_magic () const
 Return magic bits used to determine file format. More...
 
virtual bool read (const std::string &_filename, BaseImporter &_bi, Options &_opt)=0
 
virtual bool read (std::istream &_is, BaseImporter &_bi, Options &_opt)=0
 
virtual bool can_u_read (const std::string &_filename) const
 Returns true if writer can parse _filename (checks extension). _filename can also provide an extension without a name for a file e.g. _filename == "om" checks, if the reader can read the "om" extension. More...
 

Private Member Functions

bool can_u_read (std::istream &_is) const
 
bool read_ascii (std::istream &_in, BaseImporter &_bi, Options &_opt) const
 
bool read_binary (std::istream &_in, BaseImporter &_bi, Options &_opt, bool swap) const
 
void readValue (std::istream &_in, float &_value) const
 
void readValue (std::istream &_in, int &_value) const
 
void readValue (std::istream &_in, unsigned int &_value) const
 
int getColorType (std::string &_line, bool _texCoordsAvailable) const
 

Private Attributes

Options options_
 
Options userOptions_
 

Additional Inherited Members

- Protected Member Functions inherited from OpenMesh::IO::BaseReader
bool check_extension (const std::string &_fname, const std::string &_ext) const
 

Detailed Description

Implementation of the OFF format reader. This class is singleton'ed by SingletonT to OFFReader.

By passing Options to the read function you can manipulate the reading behavoir. The following options can be set:

VertexNormal VertexColor VertexTexCoord FaceColor ColorAlpha [only when reading binary]

These options define if the corresponding data should be read (if available) or if it should be omitted.

After execution of the read function. The options object contains information about what was actually read.

e.g. if VertexNormal was true when the read function was called, but the file did not contain vertex normals then it is false afterwards.

When reading a binary off with Color Flag in the header it is assumed that all vertices and faces have colors in the format "int int int". If ColorAlpha is set the format "int int int int" is assumed.

Definition at line 109 of file OFFReader.hh.

Constructor & Destructor Documentation

◆ _OFFReader_()

OpenMesh::IO::_OFFReader_::_OFFReader_ ( )

Definition at line 96 of file OFFReader.cc.

◆ ~_OFFReader_()

virtual OpenMesh::IO::_OFFReader_::~_OFFReader_ ( )
inlinevirtual

Destructor.

Definition at line 116 of file OFFReader.hh.

Member Function Documentation

◆ can_u_read() [1/2]

bool OpenMesh::IO::_OFFReader_::can_u_read ( const std::string &  _filename) const
overridevirtual

Returns true if writer can parse _filename (checks extension). _filename can also provide an extension without a name for a file e.g. _filename == "om" checks, if the reader can read the "om" extension.

Parameters
_filenamecomplete name of a file or just the extension
Returns
true, if reader can read data with the given extension

Reimplemented from OpenMesh::IO::BaseReader.

Definition at line 607 of file OFFReader.cc.

◆ can_u_read() [2/2]

bool OpenMesh::IO::_OFFReader_::can_u_read ( std::istream &  _is) const
private

Definition at line 627 of file OFFReader.cc.

◆ get_description()

std::string OpenMesh::IO::_OFFReader_::get_description ( ) const
inlineoverridevirtual

Returns a brief description of the file type that can be parsed.

Implements OpenMesh::IO::BaseReader.

Definition at line 118 of file OFFReader.hh.

◆ get_extensions()

std::string OpenMesh::IO::_OFFReader_::get_extensions ( ) const
inlineoverridevirtual

Returns a string with the accepted file extensions separated by a whitespace and in small caps.

Implements OpenMesh::IO::BaseReader.

Definition at line 119 of file OFFReader.hh.

◆ get_magic()

std::string OpenMesh::IO::_OFFReader_::get_magic ( ) const
inlineoverridevirtual

Return magic bits used to determine file format.

Reimplemented from OpenMesh::IO::BaseReader.

Definition at line 120 of file OFFReader.hh.

◆ getColorType()

int OpenMesh::IO::_OFFReader_::getColorType ( std::string &  _line,
bool  _texCoordsAvailable 
) const
private

Definition at line 355 of file OFFReader.cc.

◆ read() [1/2]

bool OpenMesh::IO::_OFFReader_::read ( const std::string &  _filename,
BaseImporter _bi,
Options _opt 
)
overridevirtual

Reads a mesh given by a filename. Usually this method opens a stream and passes it to stream read method. Acceptance checks by filename extension can be placed here.

Options can be passed via _opt. After execution _opt contains the Options that were available

Implements OpenMesh::IO::BaseReader.

Definition at line 106 of file OFFReader.cc.

◆ read() [2/2]

bool OpenMesh::IO::_OFFReader_::read ( std::istream &  _is,
BaseImporter _bi,
Options _opt 
)
overridevirtual

Reads a mesh given by a std::stream. This method usually uses the same stream reading method that read uses. Options can be passed via _opt. After execution _opt contains the Options that were available.

Please make sure that if _is is std::ifstream, the correct std::ios_base::openmode flags are set.

Implements OpenMesh::IO::BaseReader.

Definition at line 133 of file OFFReader.cc.

◆ read_ascii()

bool OpenMesh::IO::_OFFReader_::read_ascii ( std::istream &  _in,
BaseImporter _bi,
Options _opt 
) const
private

Definition at line 171 of file OFFReader.cc.

◆ read_binary()

bool OpenMesh::IO::_OFFReader_::read_binary ( std::istream &  _in,
BaseImporter _bi,
Options _opt,
bool  swap 
) const
private

Definition at line 428 of file OFFReader.cc.

◆ readValue() [1/3]

void OpenMesh::IO::_OFFReader_::readValue ( std::istream &  _in,
float &  _value 
) const
private

Definition at line 406 of file OFFReader.cc.

◆ readValue() [2/3]

void OpenMesh::IO::_OFFReader_::readValue ( std::istream &  _in,
int &  _value 
) const
private

Definition at line 413 of file OFFReader.cc.

◆ readValue() [3/3]

void OpenMesh::IO::_OFFReader_::readValue ( std::istream &  _in,
unsigned int &  _value 
) const
private

Definition at line 420 of file OFFReader.cc.

Member Data Documentation

◆ options_

Options OpenMesh::IO::_OFFReader_::options_
mutableprivate

Definition at line 144 of file OFFReader.hh.

◆ userOptions_

Options OpenMesh::IO::_OFFReader_::userOptions_
mutableprivate

Definition at line 146 of file OFFReader.hh.


The documentation for this class was generated from the following files: