Developer Documentation

Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpenMesh::IO::_OFFReader_ Class Reference

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

Inheritance diagram for OpenMesh::IO::_OFFReader_:

## Public Member Functions
virtual | ~_OFFReader_ ()
| Destructor.
std::string | get_description () const override
| Returns a brief description of the file type that can be parsed.
std::string | get_extensions () const override
std::string | get_magic () const override
| Return magic bits used to determine file format.
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.

## 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.

## Member Function Documentation

## ◆ can_u_read()

bool OpenMesh::IO::_OFFReader_::can_u_read | ( | const std::string & | _filename | ) | const
| override virtual

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

  _filename | complete 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 608 of file OFFReader.cc.

## ◆ get_extensions()

std::string OpenMesh::IO::_OFFReader_::get_extensions | ( |  | ) | const
| inline override virtual

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.

## ◆ read() [1/2]

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

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
| ) |  |
| override virtual

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.

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

- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/IO/reader/OFFReader.hh
- OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/IO/reader/OFFReader.cc