\hypertarget{classOpenMesh_1_1IO_1_1__OMReader__}{}\section{Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+O\+M\+Reader\+\_\+ Class Reference}
\label{classOpenMesh_1_1IO_1_1__OMReader__}\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}}


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/reader/\+O\+M\+Reader.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+O\+M\+Reader\+\_\+\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOpenMesh_1_1IO_1_1__OMReader__}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a8c2a524fc715cdef8e462ad554097e2f}\label{classOpenMesh_1_1IO_1_1__OMReader___a8c2a524fc715cdef8e462ad554097e2f}} 
std\+::string \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___a8c2a524fc715cdef8e462ad554097e2f}{get\+\_\+description} () const override
\begin{DoxyCompactList}\small\item\em Returns a brief description of the file type that can be parsed. \end{DoxyCompactList}\item 
std\+::string \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___a7480f987604a5c8c187ead07eb4c2e73}{get\+\_\+extensions} () const override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a0178b9f03a3bae68910456a5c158449e}\label{classOpenMesh_1_1IO_1_1__OMReader___a0178b9f03a3bae68910456a5c158449e}} 
std\+::string \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___a0178b9f03a3bae68910456a5c158449e}{get\+\_\+magic} () const override
\begin{DoxyCompactList}\small\item\em Return magic bits used to determine file format. \end{DoxyCompactList}\item 
bool \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___abb7a0b5c75f5938de89335d1fc4565d8}{read} (const std\+::string \&\+\_\+filename, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) override
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___afdd67ff78ff805dfa8a08938778aba1d}\label{classOpenMesh_1_1IO_1_1__OMReader___afdd67ff78ff805dfa8a08938778aba1d}} 
bool \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___afdd67ff78ff805dfa8a08938778aba1d}{read} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) override
\begin{DoxyCompactList}\small\item\em Stream Reader for std\+::istream input in binary format. \end{DoxyCompactList}\item 
virtual bool \hyperlink{classOpenMesh_1_1IO_1_1__OMReader___a2d1747f379b1d9dc0abe503d151842ef}{can\+\_\+u\+\_\+read} (const std\+::string \&\+\_\+filename) const override
\begin{DoxyCompactList}\small\item\em Returns true if writer can parse \+\_\+filename (checks extension). \+\_\+filename can also provide an extension without a name for a file e.\+g. \+\_\+filename == \char`\"{}om\char`\"{} checks, if the reader can read the \char`\"{}om\char`\"{} extension. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___aaca449c7bcb101b8f6b8b109d4868f12}\label{classOpenMesh_1_1IO_1_1__OMReader___aaca449c7bcb101b8f6b8b109d4868f12}} 
virtual bool {\bfseries can\+\_\+u\+\_\+read} (std\+::istream \&\+\_\+is) const
\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a9c92911561147cc37967740276043511}\label{classOpenMesh_1_1IO_1_1__OMReader___a9c92911561147cc37967740276043511}} 
typedef O\+M\+Format\+::\+Header {\bfseries Header}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a5580f993f005d7bebbec695539562fca}\label{classOpenMesh_1_1IO_1_1__OMReader___a5580f993f005d7bebbec695539562fca}} 
typedef O\+M\+Format\+::\+Chunk\+::\+Header {\bfseries Chunk\+Header}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___abb41e0d71428b5f930d583bf13ffa933}\label{classOpenMesh_1_1IO_1_1__OMReader___abb41e0d71428b5f930d583bf13ffa933}} 
typedef O\+M\+Format\+::\+Chunk\+::\+Property\+Name {\bfseries Property\+Name}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a97078e22befb5209a97690e7a145ce85}\label{classOpenMesh_1_1IO_1_1__OMReader___a97078e22befb5209a97690e7a145ce85}} 
bool {\bfseries supports} (const O\+M\+Format\+::uint8 version) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___af5a96f33755d9a9c77d9a721d8333a37}\label{classOpenMesh_1_1IO_1_1__OMReader___af5a96f33755d9a9c77d9a721d8333a37}} 
bool {\bfseries read\+\_\+ascii} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___ac43b1fb8698dfe3f80d63fb20ee3b9ab}\label{classOpenMesh_1_1IO_1_1__OMReader___ac43b1fb8698dfe3f80d63fb20ee3b9ab}} 
bool {\bfseries read\+\_\+binary} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___ab3198802f9e7829203f981a343fa38d9}\label{classOpenMesh_1_1IO_1_1__OMReader___ab3198802f9e7829203f981a343fa38d9}} 
bool {\bfseries read\+\_\+binary\+\_\+vertex\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a3f853777c647444cf1385b442f82fad6}\label{classOpenMesh_1_1IO_1_1__OMReader___a3f853777c647444cf1385b442f82fad6}} 
bool {\bfseries read\+\_\+binary\+\_\+face\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___ac7a75b9c775275d9f7a7336d7c136ade}\label{classOpenMesh_1_1IO_1_1__OMReader___ac7a75b9c775275d9f7a7336d7c136ade}} 
bool {\bfseries read\+\_\+binary\+\_\+edge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a6c03e08168a19f177df4dc67ef1f3ac8}\label{classOpenMesh_1_1IO_1_1__OMReader___a6c03e08168a19f177df4dc67ef1f3ac8}} 
bool {\bfseries read\+\_\+binary\+\_\+halfedge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a70433fc45ecaa90e660065e8fe003711}\label{classOpenMesh_1_1IO_1_1__OMReader___a70433fc45ecaa90e660065e8fe003711}} 
bool {\bfseries read\+\_\+binary\+\_\+mesh\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___ada5af1b7760cfe35aa4edff6d0ef2838}\label{classOpenMesh_1_1IO_1_1__OMReader___ada5af1b7760cfe35aa4edff6d0ef2838}} 
size\+\_\+t {\bfseries restore\+\_\+binary\+\_\+custom\+\_\+data} (std\+::istream \&\+\_\+is, \hyperlink{classOpenMesh_1_1BaseProperty}{Base\+Property} $\ast$\+\_\+bp, size\+\_\+t \+\_\+n\+\_\+elem, bool \+\_\+swap) const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___aac4a6e093ef96a65be49fd9dbcc26b6a}\label{classOpenMesh_1_1IO_1_1__OMReader___aac4a6e093ef96a65be49fd9dbcc26b6a}} 
size\+\_\+t {\bfseries bytes\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a6a73bb1920c09c1dcc9bf8decae59b22}\label{classOpenMesh_1_1IO_1_1__OMReader___a6a73bb1920c09c1dcc9bf8decae59b22}} 
\hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} {\bfseries file\+Options\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a79bcca799ff0dd9c45d8c0bd81220dd4}\label{classOpenMesh_1_1IO_1_1__OMReader___a79bcca799ff0dd9c45d8c0bd81220dd4}} 
Header {\bfseries header\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___ab7b881005492e3fc6f1062716d1b3496}\label{classOpenMesh_1_1IO_1_1__OMReader___ab7b881005492e3fc6f1062716d1b3496}} 
Chunk\+Header {\bfseries chunk\+\_\+header\+\_\+}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a8f3c9859f5a121efec3bcdf3e00b6e3c}\label{classOpenMesh_1_1IO_1_1__OMReader___a8f3c9859f5a121efec3bcdf3e00b6e3c}} 
Property\+Name {\bfseries property\+\_\+name\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of the OM format reader. This class is singleton\textquotesingle{}ed by \hyperlink{classOpenMesh_1_1SingletonT}{SingletonT} to O\+M\+Reader. 

Definition at line 85 of file O\+M\+Reader.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a2d1747f379b1d9dc0abe503d151842ef}\label{classOpenMesh_1_1IO_1_1__OMReader___a2d1747f379b1d9dc0abe503d151842ef}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}!can\+\_\+u\+\_\+read@{can\+\_\+u\+\_\+read}}
\index{can\+\_\+u\+\_\+read@{can\+\_\+u\+\_\+read}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{can\+\_\+u\+\_\+read()}{can\_u\_read()}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+\+::can\+\_\+u\+\_\+read (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+filename }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [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 == \char`\"{}om\char`\"{} checks, if the reader can read the \char`\"{}om\char`\"{} extension. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+filename} & complete name of a file or just the extension \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true, if reader can read data with the given extension 
\end{DoxyReturn}


Reimplemented from \hyperlink{classOpenMesh_1_1IO_1_1BaseReader_accf5c3edc6b4f628d0a696c7d10fc475}{Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}.



Definition at line 234 of file O\+M\+Reader.\+cc.

\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___a7480f987604a5c8c187ead07eb4c2e73}\label{classOpenMesh_1_1IO_1_1__OMReader___a7480f987604a5c8c187ead07eb4c2e73}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}!get\+\_\+extensions@{get\+\_\+extensions}}
\index{get\+\_\+extensions@{get\+\_\+extensions}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{get\+\_\+extensions()}{get\_extensions()}}
{\footnotesize\ttfamily std\+::string Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+\+::get\+\_\+extensions (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [override]}, {\ttfamily [virtual]}}

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

Implements \hyperlink{classOpenMesh_1_1IO_1_1BaseReader_a9e76bc7b1b46b7a8b4922d8ca5934419}{Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}.



Definition at line 93 of file O\+M\+Reader.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__OMReader___abb7a0b5c75f5938de89335d1fc4565d8}\label{classOpenMesh_1_1IO_1_1__OMReader___abb7a0b5c75f5938de89335d1fc4565d8}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}!read@{read}}
\index{read@{read}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+\+::read (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+filename,  }\item[{\hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&}]{\+\_\+bi,  }\item[{\hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&}]{\+\_\+opt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [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.

\hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} can be passed via \+\_\+opt. After execution \+\_\+opt contains the \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} that were available 

Implements \hyperlink{classOpenMesh_1_1IO_1_1BaseReader_af4a32645528c1bf2043a9259b172f411}{Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}.



Definition at line 90 of file O\+M\+Reader.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/reader/O\+M\+Reader.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/reader/O\+M\+Reader.\+cc\end{DoxyCompactItemize}
