Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
OpenMesh::IO::_PLYReader_ Class Reference

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

Inheritance diagram for OpenMesh::IO::_PLYReader_:
OpenMesh::IO::BaseReader

Classes

struct  PropertyInfo
 

Public Types

enum  ValueType {
  Unsupported, ValueTypeINT8, ValueTypeCHAR, ValueTypeUINT8,
  ValueTypeUCHAR, ValueTypeINT16, ValueTypeSHORT, ValueTypeUINT16,
  ValueTypeUSHORT, ValueTypeINT32, ValueTypeINT, ValueTypeUINT32,
  ValueTypeUINT, ValueTypeFLOAT32, ValueTypeFLOAT, ValueTypeFLOAT64,
  ValueTypeDOUBLE
}
 

Public Member Functions

std::string get_description () const
 Returns a brief description of the file type that can be parsed.
 
std::string get_extensions () const
 
std::string get_magic () const
 Return magic bits used to determine file format.
 
bool read (const std::string &_filename, BaseImporter &_bi, Options &_opt)
 
bool read (std::istream &_is, BaseImporter &_bi, Options &_opt)
 
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...
 
- Public Member Functions inherited from OpenMesh::IO::BaseReader
virtual ~BaseReader ()
 Destructor.
 

Private Types

enum  Property {
  XCOORD, YCOORD, ZCOORD, TEXX,
  TEXY, COLORRED, COLORGREEN, COLORBLUE,
  COLORALPHA, XNORM, YNORM, ZNORM,
  CUSTOM_PROP, VERTEX_INDICES, UNSUPPORTED
}
 

Private Member Functions

bool can_u_read (std::istream &_is) const
 
bool read_ascii (std::istream &_in, BaseImporter &_bi, const Options &_opt) const
 
bool read_binary (std::istream &_in, BaseImporter &_bi, bool swap, const Options &_opt) const
 
float readToFloatValue (ValueType _type, std::fstream &_in) const
 
void readValue (ValueType _type, std::istream &_in, float &_value) const
 
void readValue (ValueType _type, std::istream &_in, double &_value) const
 
void readValue (ValueType _type, std::istream &_in, unsigned int &_value) const
 
void readValue (ValueType _type, std::istream &_in, unsigned short &_value) const
 
void readValue (ValueType _type, std::istream &_in, unsigned char &_value) const
 
void readValue (ValueType _type, std::istream &_in, int &_value) const
 
void readValue (ValueType _type, std::istream &_in, short &_value) const
 
void readValue (ValueType _type, std::istream &_in, signed char &_value) const
 
void readInteger (ValueType _type, std::istream &_in, int &_value) const
 
void readInteger (ValueType _type, std::istream &_in, unsigned int &_value) const
 
void consume_input (std::istream &_in, int _count) const
 Read unsupported properties in PLY file.
 
template<typename T >
void read (_PLYReader_::ValueType _type, std::istream &_in, T &_value, OpenMesh::GenProg::TrueType) const
 
template<typename T >
void read (_PLYReader_::ValueType _type, std::istream &_in, T &_value, OpenMesh::GenProg::FalseType) const
 
template<bool binary, typename T , typename Handle >
void readCreateCustomProperty (std::istream &_in, BaseImporter &_bi, Handle _h, const std::string &_propName, const ValueType _valueType, const ValueType _listType) const
 
template<bool binary, typename Handle >
void readCustomProperty (std::istream &_in, BaseImporter &_bi, Handle _h, const std::string &_propName, const _PLYReader_::ValueType _valueType, const _PLYReader_::ValueType _listIndexType) const
 

Private Attributes

unsigned char buff [8]
 
Options options_
 Available per file options for reading.
 
Options userOptions_
 Options that the user wants to read.
 
unsigned int vertexCount_
 
unsigned int faceCount_
 
ValueType vertexType_
 
uint vertexDimension_
 
std::map< ValueType, int > scalar_size_
 Stores sizes of property types.
 
std::vector< PropertyInfovertexProperties_
 
std::vector< PropertyInfofaceProperties_
 

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 PLY format reader. This class is singleton'ed by SingletonT to OFFReader. It can read custom properties, accessible via the name of the custom properties. List properties has the type std::vector<Type>.

Definition at line 99 of file PLYReader.hh.

Member Function Documentation

bool OpenMesh::IO::_PLYReader_::can_u_read ( const std::string &  _filename) const
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
_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 953 of file PLYReader.cc.

std::string OpenMesh::IO::_PLYReader_::get_extensions ( ) const
inlinevirtual

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

Implements OpenMesh::IO::BaseReader.

Definition at line 106 of file PLYReader.hh.

bool OpenMesh::IO::_PLYReader_::read ( const std::string &  _filename,
BaseImporter _bi,
Options _opt 
)
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 113 of file PLYReader.cc.

bool OpenMesh::IO::_PLYReader_::read ( std::istream &  _is,
BaseImporter _bi,
Options _opt 
)
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 131 of file PLYReader.cc.


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