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


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

Inheritance diagram for Open\+Mesh\+:\+:I\+O\+:\+:\+\_\+\+O\+M\+Reader\+\_\+\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00265}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00265_add63f379e93419e849151dfa9813216c}{std\+::string \hyperlink{a00265_add63f379e93419e849151dfa9813216c}{get\+\_\+description} () const }\label{a00265_add63f379e93419e849151dfa9813216c}

\begin{DoxyCompactList}\small\item\em Returns a brief description of the file type that can be parsed. \end{DoxyCompactList}\item 
std\+::string \hyperlink{a00265_a30052228ea2465a177dec2aa96989923}{get\+\_\+extensions} () const 
\item 
\hypertarget{a00265_a7121cb7471d622986324050735652bb2}{std\+::string \hyperlink{a00265_a7121cb7471d622986324050735652bb2}{get\+\_\+magic} () const }\label{a00265_a7121cb7471d622986324050735652bb2}

\begin{DoxyCompactList}\small\item\em Return magic bits used to determine file format. \end{DoxyCompactList}\item 
bool \hyperlink{a00265_a882837d0b59be32741d8d9e7578f3f62}{read} (const std\+::string \&\+\_\+filename, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt)
\item 
\hypertarget{a00265_a9a4d62c85043026f4ce5a96ec8edda96}{bool \hyperlink{a00265_a9a4d62c85043026f4ce5a96ec8edda96}{read} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt)}\label{a00265_a9a4d62c85043026f4ce5a96ec8edda96}

\begin{DoxyCompactList}\small\item\em Stream Reader for std\+::istream input in binary format. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a00265_a463a2acedbc0bd11bc5d999b26fe6cca}{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 
\hypertarget{a00265_ada2d9e0647e283f8795a6b4d430a63af}{virtual bool {\bfseries can\+\_\+u\+\_\+read} (std\+::istream \&\+\_\+is) const }\label{a00265_ada2d9e0647e283f8795a6b4d430a63af}

\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00265_a9c92911561147cc37967740276043511}{typedef O\+M\+Format\+::\+Header {\bfseries Header}}\label{a00265_a9c92911561147cc37967740276043511}

\item 
\hypertarget{a00265_a5580f993f005d7bebbec695539562fca}{typedef O\+M\+Format\+::\+Chunk\+::\+Header {\bfseries Chunk\+Header}}\label{a00265_a5580f993f005d7bebbec695539562fca}

\item 
\hypertarget{a00265_abb41e0d71428b5f930d583bf13ffa933}{typedef \\*
O\+M\+Format\+::\+Chunk\+::\+Property\+Name {\bfseries Property\+Name}}\label{a00265_abb41e0d71428b5f930d583bf13ffa933}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00265_a04f4dcc4cae87d07cbfdb11ec21e6db1}{bool {\bfseries supports} (const O\+M\+Format\+::uint8 version) const }\label{a00265_a04f4dcc4cae87d07cbfdb11ec21e6db1}

\item 
\hypertarget{a00265_a21dbda71423ed8af2033896c3e5e2f38}{bool {\bfseries read\+\_\+ascii} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt) const }\label{a00265_a21dbda71423ed8af2033896c3e5e2f38}

\item 
\hypertarget{a00265_acd9b502f505d6040216f10d3efe46c33}{bool {\bfseries read\+\_\+binary} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt) const }\label{a00265_acd9b502f505d6040216f10d3efe46c33}

\item 
\hypertarget{a00265_ac21d9974343a6a6938f253202cdc965e}{bool {\bfseries read\+\_\+binary\+\_\+vertex\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+swap) const }\label{a00265_ac21d9974343a6a6938f253202cdc965e}

\item 
\hypertarget{a00265_acfd6dbd7cbc508a004b24df5d7536255}{bool {\bfseries read\+\_\+binary\+\_\+face\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+swap) const }\label{a00265_acfd6dbd7cbc508a004b24df5d7536255}

\item 
\hypertarget{a00265_ac446895f5f185224fa17cf1c263db61b}{bool {\bfseries read\+\_\+binary\+\_\+edge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+swap) const }\label{a00265_ac446895f5f185224fa17cf1c263db61b}

\item 
\hypertarget{a00265_ae899877f68d113a7432f8e692f9d936c}{bool {\bfseries read\+\_\+binary\+\_\+halfedge\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+swap) const }\label{a00265_ae899877f68d113a7432f8e692f9d936c}

\item 
\hypertarget{a00265_ac6f233f1a5873a76f6155cec10222553}{bool {\bfseries read\+\_\+binary\+\_\+mesh\+\_\+chunk} (std\+::istream \&\+\_\+is, \hyperlink{a00319}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+swap) const }\label{a00265_ac6f233f1a5873a76f6155cec10222553}

\item 
\hypertarget{a00265_a551a67490affa03063d9497f9a0fb439}{size\+\_\+t {\bfseries restore\+\_\+binary\+\_\+custom\+\_\+data} (std\+::istream \&\+\_\+is, \hyperlink{a00332}{Base\+Property} $\ast$\+\_\+bp, size\+\_\+t \+\_\+n\+\_\+elem, bool \+\_\+swap) const }\label{a00265_a551a67490affa03063d9497f9a0fb439}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00265_aac4a6e093ef96a65be49fd9dbcc26b6a}{size\+\_\+t {\bfseries bytes\+\_\+}}\label{a00265_aac4a6e093ef96a65be49fd9dbcc26b6a}

\item 
\hypertarget{a00265_a6a73bb1920c09c1dcc9bf8decae59b22}{\hyperlink{a00941}{Options} {\bfseries file\+Options\+\_\+}}\label{a00265_a6a73bb1920c09c1dcc9bf8decae59b22}

\item 
\hypertarget{a00265_a79bcca799ff0dd9c45d8c0bd81220dd4}{Header {\bfseries header\+\_\+}}\label{a00265_a79bcca799ff0dd9c45d8c0bd81220dd4}

\item 
\hypertarget{a00265_ab7b881005492e3fc6f1062716d1b3496}{Chunk\+Header {\bfseries chunk\+\_\+header\+\_\+}}\label{a00265_ab7b881005492e3fc6f1062716d1b3496}

\item 
\hypertarget{a00265_a8f3c9859f5a121efec3bcdf3e00b6e3c}{Property\+Name {\bfseries property\+\_\+name\+\_\+}}\label{a00265_a8f3c9859f5a121efec3bcdf3e00b6e3c}

\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of the O\+M format reader. This class is singleton'ed by \hyperlink{a01181}{Singleton\+T} to O\+M\+Reader. 

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



\subsection{Member Function Documentation}
\hypertarget{a00265_a463a2acedbc0bd11bc5d999b26fe6cca}{\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[{can\+\_\+u\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}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]}}}\label{a00265_a463a2acedbc0bd11bc5d999b26fe6cca}


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{a00338_a29f61a3902841c6b006d57614a05a53f}{Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}.



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

\hypertarget{a00265_a30052228ea2465a177dec2aa96989923}{\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[{get\+\_\+extensions}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+\+::get\+\_\+extensions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{a00265_a30052228ea2465a177dec2aa96989923}
Returns a string with the accepted file extensions separated by a whitespace and in small caps. 

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



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

\hypertarget{a00265_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[{read}]{\setlength{\rightskip}{0pt plus 5cm}bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Reader\+\_\+\+::read (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+filename, }
\item[{{\bf Base\+Importer} \&}]{\+\_\+bi, }
\item[{{\bf Options} \&}]{\+\_\+opt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00265_a882837d0b59be32741d8d9e7578f3f62}
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{a00941}{Options} can be passed via \+\_\+opt. After execution \+\_\+opt contains the \hyperlink{a00941}{Options} that were available 

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



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



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