Developer Documentation
OpenMesh::IO::_STLReader_ Class Reference

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

Inheritance diagram for OpenMesh::IO::_STLReader_:
OpenMesh::IO::BaseReader

Public Member Functions

virtual ~_STLReader_ ()
 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
 
bool read (const std::string &_filename, BaseImporter &_bi, Options &_opt) override
 
bool read (std::istream &_in, BaseImporter &_bi, Options &_opt) override
 
void set_epsilon (float _eps)
 
float epsilon () const
 Returns the threshold to be used for considering two point to be equal. More...
 
- 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 Types

enum  STL_Type { STLA , STLB , NONE }
 

Private Member Functions

STL_Type check_stl_type (const std::string &_filename) const
 
bool read_stla (const std::string &_filename, BaseImporter &_bi, Options &_opt) const
 
bool read_stla (std::istream &_in, BaseImporter &_bi, Options &_opt) const
 
bool read_stlb (const std::string &_filename, BaseImporter &_bi, Options &_opt) const
 
bool read_stlb (std::istream &_in, BaseImporter &_bi, Options &_opt) const
 

Private Attributes

float eps_
 

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 STL format reader. This class is singleton'ed by SingletonT to STLReader.

Definition at line 84 of file STLReader.hh.

Member Enumeration Documentation

◆ STL_Type

enum OpenMesh::IO::_STLReader_::STL_Type
private

Definition at line 118 of file STLReader.hh.

Constructor & Destructor Documentation

◆ _STLReader_()

OpenMesh::IO::_STLReader_::_STLReader_ ( )

Definition at line 86 of file STLReader.cc.

◆ ~_STLReader_()

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

Destructor.

Definition at line 92 of file STLReader.hh.

Member Function Documentation

◆ check_stl_type()

_STLReader_::STL_Type OpenMesh::IO::_STLReader_::check_stl_type ( const std::string &  _filename) const
private

Definition at line 450 of file STLReader.cc.

◆ epsilon()

float OpenMesh::IO::_STLReader_::epsilon ( ) const
inline

Returns the threshold to be used for considering two point to be equal.

Definition at line 112 of file STLReader.hh.

◆ get_description()

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

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

Implements OpenMesh::IO::BaseReader.

Definition at line 95 of file STLReader.hh.

◆ get_extensions()

std::string OpenMesh::IO::_STLReader_::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 97 of file STLReader.hh.

◆ read() [1/2]

bool OpenMesh::IO::_STLReader_::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 98 of file STLReader.cc.

◆ read() [2/2]

bool OpenMesh::IO::_STLReader_::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 149 of file STLReader.cc.

◆ read_stla() [1/2]

bool OpenMesh::IO::_STLReader_::read_stla ( const std::string &  _filename,
BaseImporter _bi,
Options _opt 
) const
private

Definition at line 213 of file STLReader.cc.

◆ read_stla() [2/2]

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

Definition at line 237 of file STLReader.cc.

◆ read_stlb() [1/2]

bool OpenMesh::IO::_STLReader_::read_stlb ( const std::string &  _filename,
BaseImporter _bi,
Options _opt 
) const
private

Definition at line 347 of file STLReader.cc.

◆ read_stlb() [2/2]

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

Definition at line 371 of file STLReader.cc.

◆ set_epsilon()

void OpenMesh::IO::_STLReader_::set_epsilon ( float  _eps)
inline

Set the threshold to be used for considering two point to be equal. Can be used to merge small gaps

Definition at line 109 of file STLReader.hh.

Member Data Documentation

◆ eps_

float OpenMesh::IO::_STLReader_::eps_
private

Definition at line 129 of file STLReader.hh.


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