Developer Documentation
OpenMesh::IO::_OBJWriter_ Class Reference

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/IO/writer/OBJWriter.hh>

Inheritance diagram for OpenMesh::IO::_OBJWriter_:
OpenMesh::IO::BaseWriter

Public Member Functions

virtual ~_OBJWriter_ ()
 Destructor. More...
 
std::string get_description () const override
 Return short description of the supported file format. More...
 
std::string get_extensions () const override
 Return file format's extension. More...
 
bool write (const std::string &, BaseExporter &, const Options &_writeOptions, std::streamsize _precision=6) const override
 
bool write (std::ostream &, BaseExporter &, const Options &_writeOptions, std::streamsize _precision=6) const override
 
size_t binary_size (BaseExporter &, const Options &) const override
 Returns expected size of file if binary format is supported else 0. More...
 
- Public Member Functions inherited from OpenMesh::IO::BaseWriter
virtual ~BaseWriter ()
 Destructor. More...
 
virtual std::string get_description () const =0
 Return short description of the supported file format. More...
 
virtual std::string get_extensions () const =0
 Return file format's extension. More...
 
virtual bool can_u_write (const std::string &_filename) const
 Returns true if writer can write _filename (checks extension). _filename can also provide an extension without a name for a file e.g. _filename == "om" checks, if the writer can write the "om" extension. More...
 
virtual bool write (const std::string &_filename, BaseExporter &_be, const Options &_writeOptions, std::streamsize _precision=6) const =0
 
virtual bool write (std::ostream &_os, BaseExporter &_be, const Options &_writeOptions, std::streamsize _precision=6) const =0
 
virtual size_t binary_size (BaseExporter &, const Options &) const
 Returns expected size of file if binary format is supported else 0. More...
 

Private Member Functions

size_t getMaterial (OpenMesh::Vec3f _color) const
 
size_t getMaterial (OpenMesh::Vec4f _color) const
 
bool writeMaterial (std::ostream &_out, BaseExporter &, Options) const
 

Private Attributes

std::string path_
 
std::string objName_
 
std::vector< OpenMesh::Vec3fmaterial_
 
std::map< OpenMesh::Vec3f, size_t > material_idx_
 
std::vector< OpenMesh::Vec4fmaterialA_
 
std::map< OpenMesh::Vec4f, size_t > materialA_idx_
 

Additional Inherited Members

- Public Types inherited from OpenMesh::IO::BaseWriter
typedef unsigned int Option
 
- Protected Member Functions inherited from OpenMesh::IO::BaseWriter
bool check (BaseExporter &_be, const Options &_writeOptions) const
 

Detailed Description

This class defines the OBJ writer. This class is further singleton'ed by SingletonT to OBJWriter.

Definition at line 82 of file OBJWriter.hh.

Constructor & Destructor Documentation

◆ _OBJWriter_()

OpenMesh::IO::_OBJWriter_::_OBJWriter_ ( )

Definition at line 76 of file OBJWriter.cc.

◆ ~_OBJWriter_()

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

Destructor.

Definition at line 89 of file OBJWriter.hh.

Member Function Documentation

◆ binary_size()

size_t OpenMesh::IO::_OBJWriter_::binary_size ( BaseExporter ,
const Options  
) const
inlineoverridevirtual

Returns expected size of file if binary format is supported else 0.

Reimplemented from OpenMesh::IO::BaseWriter.

Definition at line 98 of file OBJWriter.hh.

◆ get_description()

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

Return short description of the supported file format.

Implements OpenMesh::IO::BaseWriter.

Definition at line 91 of file OBJWriter.hh.

◆ get_extensions()

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

Return file format's extension.

Implements OpenMesh::IO::BaseWriter.

Definition at line 92 of file OBJWriter.hh.

◆ getMaterial() [1/2]

size_t OpenMesh::IO::_OBJWriter_::getMaterial ( OpenMesh::Vec3f  _color) const
private

Definition at line 131 of file OBJWriter.cc.

◆ getMaterial() [2/2]

size_t OpenMesh::IO::_OBJWriter_::getMaterial ( OpenMesh::Vec4f  _color) const
private

Definition at line 147 of file OBJWriter.cc.

◆ write() [1/2]

bool OpenMesh::IO::_OBJWriter_::write ( const std::string &  _filename,
BaseExporter _be,
const Options _writeOptions,
std::streamsize  _precision = 6 
) const
overridevirtual

Write to a file

Parameters
_filenamewrite to file with the given filename
_beBaseExporter, which specifies the data source
_writeOptionswriting options
_precisioncan be used to specify the precision of the floating point notation.

Implements OpenMesh::IO::BaseWriter.

Definition at line 83 of file OBJWriter.cc.

◆ write() [2/2]

bool OpenMesh::IO::_OBJWriter_::write ( std::ostream &  _os,
BaseExporter _be,
const Options _writeOptions,
std::streamsize  _precision = 6 
) const
overridevirtual

Write to a std::ostream

Parameters
_oswrite to std::ostream
_beBaseExporter, which specifies the data source
_writeOptionswriting options
_precisioncan be used to specify the precision of the floating point notation.

Implements OpenMesh::IO::BaseWriter.

Definition at line 215 of file OBJWriter.cc.

◆ writeMaterial()

bool OpenMesh::IO::_OBJWriter_::writeMaterial ( std::ostream &  _out,
BaseExporter _be,
Options  _opt 
) const
private

Definition at line 163 of file OBJWriter.cc.

Member Data Documentation

◆ material_

std::vector< OpenMesh::Vec3f > OpenMesh::IO::_OBJWriter_::material_
mutableprivate

Definition at line 105 of file OBJWriter.hh.

◆ material_idx_

std::map< OpenMesh::Vec3f, size_t> OpenMesh::IO::_OBJWriter_::material_idx_
mutableprivate

Definition at line 106 of file OBJWriter.hh.

◆ materialA_

std::vector< OpenMesh::Vec4f > OpenMesh::IO::_OBJWriter_::materialA_
mutableprivate

Definition at line 107 of file OBJWriter.hh.

◆ materialA_idx_

std::map< OpenMesh::Vec4f, size_t> OpenMesh::IO::_OBJWriter_::materialA_idx_
mutableprivate

Definition at line 108 of file OBJWriter.hh.

◆ objName_

std::string OpenMesh::IO::_OBJWriter_::objName_
mutableprivate

Definition at line 103 of file OBJWriter.hh.

◆ path_

std::string OpenMesh::IO::_OBJWriter_::path_
mutableprivate

Definition at line 102 of file OBJWriter.hh.


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