\hypertarget{classOpenMesh_1_1IO_1_1__STLReader__}{}\section{Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+S\+T\+L\+Reader\+\_\+ Class Reference}
\label{classOpenMesh_1_1IO_1_1__STLReader__}\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}}


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

Inheritance diagram for Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+S\+T\+L\+Reader\+\_\+\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOpenMesh_1_1IO_1_1__STLReader__}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a88db910f48bfa7c42c873888bed4cfc6}\label{classOpenMesh_1_1IO_1_1__STLReader___a88db910f48bfa7c42c873888bed4cfc6}} 
virtual \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___a88db910f48bfa7c42c873888bed4cfc6}{$\sim$\+\_\+\+S\+T\+L\+Reader\+\_\+} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a273d700897e1db8051341a6afab62cdf}\label{classOpenMesh_1_1IO_1_1__STLReader___a273d700897e1db8051341a6afab62cdf}} 
std\+::string \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___a273d700897e1db8051341a6afab62cdf}{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__STLReader___a798003eb614103a79e79de781b895034}{get\+\_\+extensions} () const override
\item 
bool \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___a39b94cd8c79e0a96922617a00dd1527e}{read} (const std\+::string \&\+\_\+filename, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) override
\item 
bool \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___a12d48f1c38b508446b578183a4e33619}{read} (std\+::istream \&\+\_\+in, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) override
\item 
void \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___a858cd5bae3eea93ecc33ca12a3e6c475}{set\+\_\+epsilon} (float \+\_\+eps)
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___acbefb6a50e972b08a99db82267cfa70c}\label{classOpenMesh_1_1IO_1_1__STLReader___acbefb6a50e972b08a99db82267cfa70c}} 
float \hyperlink{classOpenMesh_1_1IO_1_1__STLReader___acbefb6a50e972b08a99db82267cfa70c}{epsilon} () const
\begin{DoxyCompactList}\small\item\em Returns the threshold to be used for considering two point to be equal. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a18af6adee5ca48b63bb91957db4455a6}\label{classOpenMesh_1_1IO_1_1__STLReader___a18af6adee5ca48b63bb91957db4455a6}} 
enum {\bfseries S\+T\+L\+\_\+\+Type} \{ {\bfseries S\+T\+LA}, 
{\bfseries S\+T\+LB}, 
{\bfseries N\+O\+NE}
 \}
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a49a6cc5e7cf720410457007a304811b2}\label{classOpenMesh_1_1IO_1_1__STLReader___a49a6cc5e7cf720410457007a304811b2}} 
S\+T\+L\+\_\+\+Type {\bfseries check\+\_\+stl\+\_\+type} (const std\+::string \&\+\_\+filename) const
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a5f8c40dfe0a56599a8595882d041f0dd}\label{classOpenMesh_1_1IO_1_1__STLReader___a5f8c40dfe0a56599a8595882d041f0dd}} 
bool {\bfseries read\+\_\+stla} (const std\+::string \&\+\_\+filename, \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__STLReader___a1bc46af58da9dced42abb562a137b1f1}\label{classOpenMesh_1_1IO_1_1__STLReader___a1bc46af58da9dced42abb562a137b1f1}} 
bool {\bfseries read\+\_\+stla} (std\+::istream \&\+\_\+in, \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__STLReader___a4aa3eb88abc1a21667c9c55a4b93d8ae}\label{classOpenMesh_1_1IO_1_1__STLReader___a4aa3eb88abc1a21667c9c55a4b93d8ae}} 
bool {\bfseries read\+\_\+stlb} (const std\+::string \&\+\_\+filename, \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__STLReader___a12641bdfed74e5c3522da2be48bfc2f3}\label{classOpenMesh_1_1IO_1_1__STLReader___a12641bdfed74e5c3522da2be48bfc2f3}} 
bool {\bfseries read\+\_\+stlb} (std\+::istream \&\+\_\+in, \hyperlink{classOpenMesh_1_1IO_1_1BaseImporter}{Base\+Importer} \&\+\_\+bi, \hyperlink{classOpenMesh_1_1IO_1_1Options}{Options} \&\+\_\+opt) const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___aff38b3536cb026953f5398031465a037}\label{classOpenMesh_1_1IO_1_1__STLReader___aff38b3536cb026953f5398031465a037}} 
float {\bfseries eps\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Detailed Description}
Implementation of the S\+TL format reader. This class is singleton\textquotesingle{}ed by \hyperlink{classOpenMesh_1_1SingletonT}{SingletonT} to S\+T\+L\+Reader. 

Definition at line 84 of file S\+T\+L\+Reader.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a798003eb614103a79e79de781b895034}\label{classOpenMesh_1_1IO_1_1__STLReader___a798003eb614103a79e79de781b895034}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}!get\+\_\+extensions@{get\+\_\+extensions}}
\index{get\+\_\+extensions@{get\+\_\+extensions}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{get\+\_\+extensions()}{get\_extensions()}}
{\footnotesize\ttfamily std\+::string Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+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 97 of file S\+T\+L\+Reader.\+hh.

\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a39b94cd8c79e0a96922617a00dd1527e}\label{classOpenMesh_1_1IO_1_1__STLReader___a39b94cd8c79e0a96922617a00dd1527e}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}!read@{read}}
\index{read@{read}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+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 99 of file S\+T\+L\+Reader.\+cc.

\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a12d48f1c38b508446b578183a4e33619}\label{classOpenMesh_1_1IO_1_1__STLReader___a12d48f1c38b508446b578183a4e33619}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}!read@{read}}
\index{read@{read}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{read()}{read()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+\+::read (\begin{DoxyParamCaption}\item[{std\+::istream \&}]{\+\_\+is,  }\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 std\+::stream. This method usually uses the same stream reading method that read uses. \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.

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

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



Definition at line 149 of file S\+T\+L\+Reader.\+cc.

\mbox{\Hypertarget{classOpenMesh_1_1IO_1_1__STLReader___a858cd5bae3eea93ecc33ca12a3e6c475}\label{classOpenMesh_1_1IO_1_1__STLReader___a858cd5bae3eea93ecc33ca12a3e6c475}} 
\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}!set\+\_\+epsilon@{set\+\_\+epsilon}}
\index{set\+\_\+epsilon@{set\+\_\+epsilon}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+}}
\subsubsection{\texorpdfstring{set\+\_\+epsilon()}{set\_epsilon()}}
{\footnotesize\ttfamily void Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Reader\+\_\+\+::set\+\_\+epsilon (\begin{DoxyParamCaption}\item[{float}]{\+\_\+eps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set the threshold to be used for considering two point to be equal. Can be used to merge small gaps 

Definition at line 109 of file S\+T\+L\+Reader.\+hh.



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/S\+T\+L\+Reader.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/reader/S\+T\+L\+Reader.\+cc\end{DoxyCompactItemize}
