\hypertarget{a08496}{}\section{Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+O\+M\+Reader\+\_\+ Class Reference}
\label{a08496}\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]{a08496}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08496_a9d793c33e44789239e12b8568fb7436a}\label{a08496_a9d793c33e44789239e12b8568fb7436a}} 
std\+::string \hyperlink{a08496_a9d793c33e44789239e12b8568fb7436a}{get\+\_\+description} () const
\begin{DoxyCompactList}\small\item\em Returns a brief description of the file type that can be parsed. \end{DoxyCompactList}\item 
std\+::string \hyperlink{a08496_abc8aef97e6ffd9db30ec8f8418f86485}{get\+\_\+extensions} () const
\item 
\mbox{\Hypertarget{a08496_ab16d5b287c3617c3d7e00a307342f050}\label{a08496_ab16d5b287c3617c3d7e00a307342f050}} 
std\+::string \hyperlink{a08496_ab16d5b287c3617c3d7e00a307342f050}{get\+\_\+magic} () const
\begin{DoxyCompactList}\small\item\em Return magic bits used to determine file format. \end{DoxyCompactList}\item 
bool \hyperlink{a08496_a882837d0b59be32741d8d9e7578f3f62}{read} (const std\+::string \&\+\_\+filename, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt)
\item 
\mbox{\Hypertarget{a08496_a9a4d62c85043026f4ce5a96ec8edda96}\label{a08496_a9a4d62c85043026f4ce5a96ec8edda96}} 
bool \hyperlink{a08496_a9a4d62c85043026f4ce5a96ec8edda96}{read} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt)
\begin{DoxyCompactList}\small\item\em Stream Reader for std\+::istream input in binary format. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a08496_a6cac287b1366fda5a9f8c23145fafba9}{can\+\_\+u\+\_\+read} (const std\+::string \&\+\_\+filename) const
\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{a08496_aaca449c7bcb101b8f6b8b109d4868f12}\label{a08496_aaca449c7bcb101b8f6b8b109d4868f12}} 
virtual bool {\bfseries can\+\_\+u\+\_\+read} (std\+::istream \&\+\_\+is) const
\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08496_a9c92911561147cc37967740276043511}\label{a08496_a9c92911561147cc37967740276043511}} 
typedef O\+M\+Format\+::\+Header {\bfseries Header}
\item 
\mbox{\Hypertarget{a08496_a5580f993f005d7bebbec695539562fca}\label{a08496_a5580f993f005d7bebbec695539562fca}} 
typedef O\+M\+Format\+::\+Chunk\+::\+Header {\bfseries Chunk\+Header}
\item 
\mbox{\Hypertarget{a08496_abb41e0d71428b5f930d583bf13ffa933}\label{a08496_abb41e0d71428b5f930d583bf13ffa933}} 
typedef O\+M\+Format\+::\+Chunk\+::\+Property\+Name {\bfseries Property\+Name}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08496_a97078e22befb5209a97690e7a145ce85}\label{a08496_a97078e22befb5209a97690e7a145ce85}} 
bool {\bfseries supports} (const O\+M\+Format\+::uint8 version) const
\item 
\mbox{\Hypertarget{a08496_af5a96f33755d9a9c77d9a721d8333a37}\label{a08496_af5a96f33755d9a9c77d9a721d8333a37}} 
bool {\bfseries read\+\_\+ascii} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt) const
\item 
\mbox{\Hypertarget{a08496_ac43b1fb8698dfe3f80d63fb20ee3b9ab}\label{a08496_ac43b1fb8698dfe3f80d63fb20ee3b9ab}} 
bool {\bfseries read\+\_\+binary} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt) const
\item 
\mbox{\Hypertarget{a08496_ab3198802f9e7829203f981a343fa38d9}\label{a08496_ab3198802f9e7829203f981a343fa38d9}} 
bool {\bfseries read\+\_\+binary\+\_\+vertex\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{a08496_a3f853777c647444cf1385b442f82fad6}\label{a08496_a3f853777c647444cf1385b442f82fad6}} 
bool {\bfseries read\+\_\+binary\+\_\+face\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{a08496_ac7a75b9c775275d9f7a7336d7c136ade}\label{a08496_ac7a75b9c775275d9f7a7336d7c136ade}} 
bool {\bfseries read\+\_\+binary\+\_\+edge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{a08496_a6c03e08168a19f177df4dc67ef1f3ac8}\label{a08496_a6c03e08168a19f177df4dc67ef1f3ac8}} 
bool {\bfseries read\+\_\+binary\+\_\+halfedge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{a08496_a70433fc45ecaa90e660065e8fe003711}\label{a08496_a70433fc45ecaa90e660065e8fe003711}} 
bool {\bfseries read\+\_\+binary\+\_\+mesh\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a08468}{Base\+Importer} \&\+\_\+bi, \hyperlink{a08480}{Options} \&\+\_\+opt, bool \+\_\+swap) const
\item 
\mbox{\Hypertarget{a08496_ada5af1b7760cfe35aa4edff6d0ef2838}\label{a08496_ada5af1b7760cfe35aa4edff6d0ef2838}} 
size\+\_\+t {\bfseries restore\+\_\+binary\+\_\+custom\+\_\+data} (std\+::istream \&\+\_\+is, \hyperlink{a08824}{Base\+Property} $\ast$\+\_\+bp, size\+\_\+t \+\_\+n\+\_\+elem, bool \+\_\+swap) const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08496_aac4a6e093ef96a65be49fd9dbcc26b6a}\label{a08496_aac4a6e093ef96a65be49fd9dbcc26b6a}} 
size\+\_\+t {\bfseries bytes\+\_\+}
\item 
\mbox{\Hypertarget{a08496_a6a73bb1920c09c1dcc9bf8decae59b22}\label{a08496_a6a73bb1920c09c1dcc9bf8decae59b22}} 
\hyperlink{a08480}{Options} {\bfseries file\+Options\+\_\+}
\item 
\mbox{\Hypertarget{a08496_a79bcca799ff0dd9c45d8c0bd81220dd4}\label{a08496_a79bcca799ff0dd9c45d8c0bd81220dd4}} 
Header {\bfseries header\+\_\+}
\item 
\mbox{\Hypertarget{a08496_ab7b881005492e3fc6f1062716d1b3496}\label{a08496_ab7b881005492e3fc6f1062716d1b3496}} 
Chunk\+Header {\bfseries chunk\+\_\+header\+\_\+}
\item 
\mbox{\Hypertarget{a08496_a8f3c9859f5a121efec3bcdf3e00b6e3c}\label{a08496_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{a08912}{SingletonT} to O\+M\+Reader. 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08496_a6cac287b1366fda5a9f8c23145fafba9}\label{a08496_a6cac287b1366fda5a9f8c23145fafba9}} 
\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 [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{a08484_accf5c3edc6b4f628d0a696c7d10fc475}{Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}.



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

\mbox{\Hypertarget{a08496_abc8aef97e6ffd9db30ec8f8418f86485}\label{a08496_abc8aef97e6ffd9db30ec8f8418f86485}} 
\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 [virtual]}}

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

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



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

\mbox{\Hypertarget{a08496_a882837d0b59be32741d8d9e7578f3f62}\label{a08496_a882837d0b59be32741d8d9e7578f3f62}} 
\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{a08468}{Base\+Importer} \&}]{\+\_\+bi,  }\item[{\hyperlink{a08480}{Options} \&}]{\+\_\+opt }\end{DoxyParamCaption})\hspace{0.3cm}{\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{a08480}{Options} can be passed via \+\_\+opt. After execution \+\_\+opt contains the \hyperlink{a08480}{Options} that were available 

Implements \hyperlink{a08484_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}
