\hypertarget{a08544}{}\section{Open\+Mesh\+:\+:IO\+:\+:Base\+Writer Class Reference}
\label{a08544}\index{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}}


{\ttfamily \#include $<$Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/writer/\+Base\+Writer.\+hh$>$}

Inheritance diagram for Open\+Mesh\+:\+:IO\+:\+:Base\+Writer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.031308cm]{a08544}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08544_a64e0d2f73712d56ed5f911c39664a641}\label{a08544_a64e0d2f73712d56ed5f911c39664a641}} 
typedef unsigned int {\bfseries Option}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08544_a7f287d4cf768bf1a0ee08ad68286fa1c}\label{a08544_a7f287d4cf768bf1a0ee08ad68286fa1c}} 
virtual \hyperlink{a08544_a7f287d4cf768bf1a0ee08ad68286fa1c}{$\sim$\+Base\+Writer} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08544_ac3c0fcb247b70c6f6a37b8c37b4e1863}\label{a08544_ac3c0fcb247b70c6f6a37b8c37b4e1863}} 
virtual std\+::string \hyperlink{a08544_ac3c0fcb247b70c6f6a37b8c37b4e1863}{get\+\_\+description} () const =0
\begin{DoxyCompactList}\small\item\em Return short description of the supported file format. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08544_a58ed321267dab25305b4607985ec16d1}\label{a08544_a58ed321267dab25305b4607985ec16d1}} 
virtual std\+::string \hyperlink{a08544_a58ed321267dab25305b4607985ec16d1}{get\+\_\+extensions} () const =0
\begin{DoxyCompactList}\small\item\em Return file format\textquotesingle{}s extension. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a08544_a0e250c7543862441dc6ac877b6f44ef9}{can\+\_\+u\+\_\+write} (const std\+::string \&\+\_\+filename) const
\begin{DoxyCompactList}\small\item\em Returns true if writer can write \+\_\+filename (checks extension). \+\_\+filename can also provide an extension without a name for a file e.\+g. \+\_\+filename == \char`\"{}om\char`\"{} checks, if the writer can write the \char`\"{}om\char`\"{} extension. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a08544_a7c0818a63926bdb439044a8f4c038d85}{write} (const std\+::string \&\+\_\+filename, \hyperlink{a08460}{Base\+Exporter} \&\+\_\+be, \hyperlink{a08480}{Options} \+\_\+opt, std\+::streamsize \+\_\+precision=6) const =0
\item 
virtual bool \hyperlink{a08544_ae0aa2050e93f96d71ff70ce788a76a94}{write} (std\+::ostream \&\+\_\+os, \hyperlink{a08460}{Base\+Exporter} \&\+\_\+be, \hyperlink{a08480}{Options} \+\_\+opt, std\+::streamsize \+\_\+precision=6) const =0
\item 
\mbox{\Hypertarget{a08544_a8a6800a1bc26c06ea05ea672c6504351}\label{a08544_a8a6800a1bc26c06ea05ea672c6504351}} 
virtual size\+\_\+t \hyperlink{a08544_a8a6800a1bc26c06ea05ea672c6504351}{binary\+\_\+size} (\hyperlink{a08460}{Base\+Exporter} \&, \hyperlink{a08480}{Options}) const
\begin{DoxyCompactList}\small\item\em Returns expected size of file if binary format is supported else 0. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08544_a20c3f4fd0d84ab59b1ee00494a62ffd0}\label{a08544_a20c3f4fd0d84ab59b1ee00494a62ffd0}} 
bool {\bfseries check} (\hyperlink{a08460}{Base\+Exporter} \&\+\_\+be, \hyperlink{a08480}{Options} \+\_\+opt) const
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for all writer modules. The module should register itself at the I\+O\+Manager by calling the register\+\_\+module function. 

Definition at line 83 of file Base\+Writer.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08544_a0e250c7543862441dc6ac877b6f44ef9}\label{a08544_a0e250c7543862441dc6ac877b6f44ef9}} 
\index{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}!can\+\_\+u\+\_\+write@{can\+\_\+u\+\_\+write}}
\index{can\+\_\+u\+\_\+write@{can\+\_\+u\+\_\+write}!Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}}
\subsubsection{\texorpdfstring{can\+\_\+u\+\_\+write()}{can\_u\_write()}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+Base\+Writer\+::can\+\_\+u\+\_\+write (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+filename }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns true if writer can write \+\_\+filename (checks extension). \+\_\+filename can also provide an extension without a name for a file e.\+g. \+\_\+filename == \char`\"{}om\char`\"{} checks, if the writer can write 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 writer can write data with the given extension 
\end{DoxyReturn}


Definition at line 80 of file Base\+Writer.\+cc.

\mbox{\Hypertarget{a08544_a7c0818a63926bdb439044a8f4c038d85}\label{a08544_a7c0818a63926bdb439044a8f4c038d85}} 
\index{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}!write@{write}}
\index{write@{write}!Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}}
\subsubsection{\texorpdfstring{write()}{write()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual bool Open\+Mesh\+::\+I\+O\+::\+Base\+Writer\+::write (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{\+\_\+filename,  }\item[{\hyperlink{a08460}{Base\+Exporter} \&}]{\+\_\+be,  }\item[{\hyperlink{a08480}{Options}}]{\+\_\+opt,  }\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

Write to a file 
\begin{DoxyParams}{Parameters}
{\em \+\_\+filename} & write to file with the given filename \\
\hline
{\em \+\_\+be} & \hyperlink{a08460}{Base\+Exporter}, which specifies the data source \\
\hline
{\em \+\_\+opt} & writing options \\
\hline
{\em \+\_\+precision} & can be used to specify the precision of the floating point notation. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{a08556_a096575651a73596687e6b35132474b29}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Writer\+\_\+}, \hyperlink{a08552_a8d6aba495f374407792fea9f510e7504}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+F\+F\+Writer\+\_\+}, \hyperlink{a08560_aee2679bfb4da95b7d8a9dfc8c2a77028}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}, \hyperlink{a08548_a24770c8de6b2e3e0d324596bde72c1c3}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+B\+J\+Writer\+\_\+}, \hyperlink{a08568_a455327b93ee7d60093ce42fcbbe27db9}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Writer\+\_\+}, and \hyperlink{a08572_a3b18632b9437ace160ccd6c78d47b356}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+V\+T\+K\+Writer\+\_\+}.

\mbox{\Hypertarget{a08544_ae0aa2050e93f96d71ff70ce788a76a94}\label{a08544_ae0aa2050e93f96d71ff70ce788a76a94}} 
\index{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}!write@{write}}
\index{write@{write}!Open\+Mesh\+::\+I\+O\+::\+Base\+Writer@{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}}
\subsubsection{\texorpdfstring{write()}{write()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual bool Open\+Mesh\+::\+I\+O\+::\+Base\+Writer\+::write (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{\+\_\+os,  }\item[{\hyperlink{a08460}{Base\+Exporter} \&}]{\+\_\+be,  }\item[{\hyperlink{a08480}{Options}}]{\+\_\+opt,  }\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

Write to a std\+::ostream 
\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & write to std\+::ostream \\
\hline
{\em \+\_\+be} & \hyperlink{a08460}{Base\+Exporter}, which specifies the data source \\
\hline
{\em \+\_\+opt} & writing options \\
\hline
{\em \+\_\+precision} & can be used to specify the precision of the floating point notation. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{a08556_a3efe93376254bb15124c3c14922e5d64}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Writer\+\_\+}, \hyperlink{a08552_a45be761d2e1a452027c09b7d02edab2f}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+F\+F\+Writer\+\_\+}, \hyperlink{a08560_a26a12597f8f45cdcd0c4394cd001800b}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}, \hyperlink{a08548_a52c30c84288e1adb7d2741ec79d8bee3}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+B\+J\+Writer\+\_\+}, \hyperlink{a08568_ab9fb7ac3ef8f43802c64f667cee7cc75}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Writer\+\_\+}, and \hyperlink{a08572_ae1d765f0bfee5c2f7e75677d38c2d78b}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+V\+T\+K\+Writer\+\_\+}.



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/writer/Base\+Writer.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/writer/Base\+Writer.\+cc\end{DoxyCompactItemize}
