\hypertarget{a00339}{\section{A\+C\+G\+:\+:Scene\+Graph\+:\+:Open\+Mesh\+:\+:I\+O\+:\+:Base\+Reader Class Reference}
\label{a00339}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00339_aaf1bb9ed92e140d695fb5cfc17d20c1a}{virtual \hyperlink{a00339_aaf1bb9ed92e140d695fb5cfc17d20c1a}{$\sim$\+Base\+Reader} ()}\label{a00339_aaf1bb9ed92e140d695fb5cfc17d20c1a}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a00339_a47cd413606c1c47dfb60b35e54b5dd1c}{virtual std\+::string \hyperlink{a00339_a47cd413606c1c47dfb60b35e54b5dd1c}{get\+\_\+description} () const =0}\label{a00339_a47cd413606c1c47dfb60b35e54b5dd1c}

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

\begin{DoxyCompactList}\small\item\em Return magic bits used to determine file format. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a00339_a7819c969f6b3e28ea27fb58e41bcf5b4}{read} (const std\+::string \&\+\_\+filename, \hyperlink{a00320}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00942}{Options} \&\+\_\+opt)=0
\item 
virtual bool \hyperlink{a00339_a0ebc788a7795375aa1cd16400a1d9cdf}{read} (std\+::istream \&\+\_\+is, \hyperlink{a00320}{Base\+Importer} \&\+\_\+bi, \hyperlink{a00942}{Options} \&\+\_\+opt)=0
\item 
virtual bool \hyperlink{a00339_af817839fb6fd2b86436d4fe496bae3d7}{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}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00339_adce47105b01aeb3afcd642b898820027}{bool {\bfseries check\+\_\+extension} (const std\+::string \&\+\_\+fname, const std\+::string \&\+\_\+ext) const }\label{a00339_adce47105b01aeb3afcd642b898820027}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for reader modules. Reader modules access persistent data and pass them to the desired data structure by the means of a \hyperlink{a00320}{Base\+Importer} derivative. All reader modules must be derived from this class. 

Definition at line 94 of file Mesh\+Node2\+T.\+cc.



\subsection{Member Function Documentation}
\hypertarget{a00339_af817839fb6fd2b86436d4fe496bae3d7}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}!can\+\_\+u\+\_\+read@{can\+\_\+u\+\_\+read}}
\index{can\+\_\+u\+\_\+read@{can\+\_\+u\+\_\+read}!A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}}
\subsubsection[{can\+\_\+u\+\_\+read}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader\+::can\+\_\+u\+\_\+read (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+filename}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a00339_af817839fb6fd2b86436d4fe496bae3d7}


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}
\hypertarget{a00339_a4f56a1b9d48c4095e48bba11167fb8a1}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}!get\+\_\+extensions@{get\+\_\+extensions}}
\index{get\+\_\+extensions@{get\+\_\+extensions}!A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}}
\subsubsection[{get\+\_\+extensions}]{\setlength{\rightskip}{0pt plus 5cm}virtual std\+::string A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader\+::get\+\_\+extensions (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00339_a4f56a1b9d48c4095e48bba11167fb8a1}
Returns a string with the accepted file extensions separated by a whitespace and in small caps. \hypertarget{a00339_a7819c969f6b3e28ea27fb58e41bcf5b4}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}!read@{read}}
\index{read@{read}!A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader\+::read (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+filename, }
\item[{{\bf Base\+Importer} \&}]{\+\_\+bi, }
\item[{{\bf Options} \&}]{\+\_\+opt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00339_a7819c969f6b3e28ea27fb58e41bcf5b4}
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{a00942}{Options} can be passed via \+\_\+opt. After execution \+\_\+opt contains the \hyperlink{a00942}{Options} that were available \hypertarget{a00339_a0ebc788a7795375aa1cd16400a1d9cdf}{\index{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}!read@{read}}
\index{read@{read}!A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader@{A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader}}
\subsubsection[{read}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\+C\+G\+::\+Scene\+Graph\+::\+Open\+Mesh\+::\+I\+O\+::\+Base\+Reader\+::read (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+is, }
\item[{{\bf Base\+Importer} \&}]{\+\_\+bi, }
\item[{{\bf Options} \&}]{\+\_\+opt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00339_a0ebc788a7795375aa1cd16400a1d9cdf}
Reads a mesh given by a std\+::stream. This method usually uses the same stream reading method that read uses. \hyperlink{a00942}{Options} can be passed via \+\_\+opt. After execution \+\_\+opt contains the \hyperlink{a00942}{Options} that were available.

Please make sure that if \+\_\+is is std\+::ifstream, the correct std\+::ios\+\_\+base\+::openmode flags are set. 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Scenegraph/Mesh\+Node2\+T.\+cc\end{DoxyCompactItemize}
