Developer Documentation
OpenMesh::IO::_PLYWriter_ Class Reference

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

Inheritance diagram for OpenMesh::IO::_PLYWriter_:
OpenMesh::IO::BaseWriter

Classes

struct  CustomProperty
 

Public Types

enum  ValueType {
  Unsupported = 0 , ValueTypeFLOAT32 , ValueTypeFLOAT , ValueTypeINT32 ,
  ValueTypeINT , ValueTypeUINT , ValueTypeUCHAR , ValueTypeCHAR ,
  ValueTypeUINT8 , ValueTypeUSHORT , ValueTypeSHORT , ValueTypeDOUBLE
}
 
- Public Types inherited from OpenMesh::IO::BaseWriter
typedef unsigned int Option
 

Public Member Functions

virtual ~_PLYWriter_ ()
 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 &_be, const Options &_opt) 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...
 

Protected Member Functions

void writeValue (ValueType _type, std::ostream &_out, signed char value) const
 
void writeValue (ValueType _type, std::ostream &_out, unsigned char value) const
 
void writeValue (ValueType _type, std::ostream &_out, short value) const
 
void writeValue (ValueType _type, std::ostream &_out, unsigned short value) const
 
void writeValue (ValueType _type, std::ostream &_out, int value) const
 
void writeValue (ValueType _type, std::ostream &_out, unsigned int value) const
 
void writeValue (ValueType _type, std::ostream &_out, float value) const
 
void writeValue (ValueType _type, std::ostream &_out, double value) const
 
bool write_ascii (std::ostream &_out, BaseExporter &, Options) const
 
bool write_binary (std::ostream &_out, BaseExporter &, Options) const
 
void write_header (std::ostream &_out, BaseExporter &_be, Options &_opt, std::vector< CustomProperty > &_ovProps, std::vector< CustomProperty > &_ofProps) const
 write header into the stream _out. Returns custom properties (vertex and face) which are written into the header More...
 
- Protected Member Functions inherited from OpenMesh::IO::BaseWriter
bool check (BaseExporter &_be, const Options &_writeOptions) const
 

Private Member Functions

std::vector< CustomPropertywriteCustomTypeHeader (std::ostream &_out, BaseKernel::const_prop_iterator _begin, BaseKernel::const_prop_iterator _end) const
 write custom persistant properties into the header for the current element, returns all properties, which were written sorted More...
 
template<bool binary>
void write_customProp (std::ostream &_our, const CustomProperty &_prop, size_t _index) const
 
template<typename T >
void writeProxy (ValueType _type, std::ostream &_out, T _value, OpenMesh::GenProg::TrueType) const
 
template<typename T >
void writeProxy (ValueType, std::ostream &_out, T _value, OpenMesh::GenProg::FalseType) const
 

Private Attributes

Options options_
 
const char * nameOfType_ [12]
 

Detailed Description

Implementation of the PLY format writer. This class is singleton'ed by SingletonT to PLYWriter.

currently supported options:

  • VertexColors
  • FaceColors
  • Binary
  • Binary -> MSB

Definition at line 89 of file PLYWriter.hh.

Member Enumeration Documentation

◆ ValueType

enum OpenMesh::IO::_PLYWriter_::ValueType

Definition at line 107 of file PLYWriter.hh.

Constructor & Destructor Documentation

◆ _PLYWriter_()

OpenMesh::IO::_PLYWriter_::_PLYWriter_ ( )

Definition at line 74 of file PLYWriter.cc.

◆ ~_PLYWriter_()

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

Destructor.

Definition at line 96 of file PLYWriter.hh.

Member Function Documentation

◆ binary_size()

size_t OpenMesh::IO::_PLYWriter_::binary_size ( BaseExporter ,
const Options  
) const
overridevirtual

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

Reimplemented from OpenMesh::IO::BaseWriter.

Definition at line 710 of file PLYWriter.cc.

◆ get_description()

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

Return short description of the supported file format.

Implements OpenMesh::IO::BaseWriter.

Definition at line 98 of file PLYWriter.hh.

◆ get_extensions()

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

Return file format's extension.

Implements OpenMesh::IO::BaseWriter.

Definition at line 99 of file PLYWriter.hh.

◆ write() [1/2]

bool OpenMesh::IO::_PLYWriter_::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 94 of file PLYWriter.cc.

◆ write() [2/2]

bool OpenMesh::IO::_PLYWriter_::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 108 of file PLYWriter.cc.

◆ write_ascii()

bool OpenMesh::IO::_PLYWriter_::write_ascii ( std::ostream &  _out,
BaseExporter _be,
Options  _opt 
) const
protected

Definition at line 342 of file PLYWriter.cc.

◆ write_binary()

bool OpenMesh::IO::_PLYWriter_::write_binary ( std::ostream &  _out,
BaseExporter _be,
Options  _opt 
) const
protected

Definition at line 597 of file PLYWriter.cc.

◆ write_customProp()

template<bool binary>
void OpenMesh::IO::_PLYWriter_::write_customProp ( std::ostream &  _our,
const CustomProperty _prop,
size_t  _index 
) const
private

Definition at line 230 of file PLYWriter.cc.

◆ write_header()

void OpenMesh::IO::_PLYWriter_::write_header ( std::ostream &  _out,
BaseExporter _be,
Options _opt,
std::vector< CustomProperty > &  _ovProps,
std::vector< CustomProperty > &  _ofProps 
) const
protected

write header into the stream _out. Returns custom properties (vertex and face) which are written into the header

Definition at line 255 of file PLYWriter.cc.

◆ writeCustomTypeHeader()

std::vector< _PLYWriter_::CustomProperty > OpenMesh::IO::_PLYWriter_::writeCustomTypeHeader ( std::ostream &  _out,
BaseKernel::const_prop_iterator  _begin,
BaseKernel::const_prop_iterator  _end 
) const
private

write custom persistant properties into the header for the current element, returns all properties, which were written sorted

Definition at line 157 of file PLYWriter.cc.

◆ writeProxy() [1/2]

template<typename T >
void OpenMesh::IO::_PLYWriter_::writeProxy ( ValueType  _type,
std::ostream &  _out,
_value,
OpenMesh::GenProg::TrueType   
) const
inlineprivate

Definition at line 133 of file PLYWriter.hh.

◆ writeProxy() [2/2]

template<typename T >
void OpenMesh::IO::_PLYWriter_::writeProxy ( ValueType  ,
std::ostream &  _out,
_value,
OpenMesh::GenProg::FalseType   
) const
inlineprivate

Definition at line 138 of file PLYWriter.hh.

◆ writeValue() [1/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
double  value 
) const
protected

Definition at line 524 of file PLYWriter.cc.

◆ writeValue() [2/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
float  value 
) const
protected

Definition at line 508 of file PLYWriter.cc.

◆ writeValue() [3/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
int  value 
) const
protected

Definition at line 464 of file PLYWriter.cc.

◆ writeValue() [4/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
short  value 
) const
protected

Definition at line 567 of file PLYWriter.cc.

◆ writeValue() [5/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
signed char  value 
) const
protected

Definition at line 539 of file PLYWriter.cc.

◆ writeValue() [6/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
unsigned char  value 
) const
protected

Definition at line 553 of file PLYWriter.cc.

◆ writeValue() [7/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
unsigned int  value 
) const
protected

Definition at line 486 of file PLYWriter.cc.

◆ writeValue() [8/8]

void OpenMesh::IO::_PLYWriter_::writeValue ( ValueType  _type,
std::ostream &  _out,
unsigned short  value 
) const
protected

Definition at line 581 of file PLYWriter.cc.

Member Data Documentation

◆ nameOfType_

const char* OpenMesh::IO::_PLYWriter_::nameOfType_[12]
private

Definition at line 126 of file PLYWriter.hh.

◆ options_

Options OpenMesh::IO::_PLYWriter_::options_
mutableprivate

Definition at line 117 of file PLYWriter.hh.


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