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


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

Inheritance diagram for Open\+Mesh\+:\+:I\+O\+:\+:Base\+Writer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.031308cm]{a00345}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00345_a64e0d2f73712d56ed5f911c39664a641}{typedef unsigned int {\bfseries Option}}\label{a00345_a64e0d2f73712d56ed5f911c39664a641}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00345_a7f287d4cf768bf1a0ee08ad68286fa1c}{virtual \hyperlink{a00345_a7f287d4cf768bf1a0ee08ad68286fa1c}{$\sim$\+Base\+Writer} ()}\label{a00345_a7f287d4cf768bf1a0ee08ad68286fa1c}

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

\begin{DoxyCompactList}\small\item\em Return short description of the supported file format. \end{DoxyCompactList}\item 
\hypertarget{a00345_a58ed321267dab25305b4607985ec16d1}{virtual std\+::string \hyperlink{a00345_a58ed321267dab25305b4607985ec16d1}{get\+\_\+extensions} () const =0}\label{a00345_a58ed321267dab25305b4607985ec16d1}

\begin{DoxyCompactList}\small\item\em Return file format's extension. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a00345_a7be62a261074da8eca25020904e32e3d}{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{a00345_a7c0818a63926bdb439044a8f4c038d85}{write} (const std\+::string \&\+\_\+filename, \hyperlink{a00314}{Base\+Exporter} \&\+\_\+be, \hyperlink{a00941}{Options} \+\_\+opt, std\+::streamsize \+\_\+precision=6) const =0
\item 
virtual bool \hyperlink{a00345_ae0aa2050e93f96d71ff70ce788a76a94}{write} (std\+::ostream \&\+\_\+os, \hyperlink{a00314}{Base\+Exporter} \&\+\_\+be, \hyperlink{a00941}{Options} \+\_\+opt, std\+::streamsize \+\_\+precision=6) const =0
\item 
\hypertarget{a00345_aeaa3c6f90582538e7900bd42ddfd78b4}{virtual size\+\_\+t \hyperlink{a00345_aeaa3c6f90582538e7900bd42ddfd78b4}{binary\+\_\+size} (\hyperlink{a00314}{Base\+Exporter} \&, \hyperlink{a00941}{Options}) const }\label{a00345_aeaa3c6f90582538e7900bd42ddfd78b4}

\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 
\hypertarget{a00345_a74c5725d6c46cf8d641c7fc7985e1dc5}{bool {\bfseries check} (\hyperlink{a00314}{Base\+Exporter} \&\+\_\+be, \hyperlink{a00941}{Options} \+\_\+opt) const }\label{a00345_a74c5725d6c46cf8d641c7fc7985e1dc5}

\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 88 of file Base\+Writer.\+hh.



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


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 85 of file Base\+Writer.\+cc.

\hypertarget{a00345_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[{write}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool Open\+Mesh\+::\+I\+O\+::\+Base\+Writer\+::write (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+filename, }
\item[{{\bf Base\+Exporter} \&}]{\+\_\+be, }
\item[{{\bf Options}}]{\+\_\+opt, }
\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6}}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00345_a7c0818a63926bdb439044a8f4c038d85}
Write to a file 
\begin{DoxyParams}{Parameters}
{\em \+\_\+filename} & write to file with the given filename \\
\hline
{\em \+\_\+be} & \hyperlink{a00314}{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{a00266_aa110cadf1ddcac647f33076fd276d9e4}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Writer\+\_\+}, \hyperlink{a00264_a25dffaeba54287b8a5871ca45ab205e8}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+F\+F\+Writer\+\_\+}, \hyperlink{a00268_af6ac5c38afb28fcd982ca5aab8dcb3c0}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}, \hyperlink{a00262_adcb31c3553c0307d1fc44115460f6901}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+B\+J\+Writer\+\_\+}, \hyperlink{a00270_aa202ae93b2cd9c7946291a56478ec570}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Writer\+\_\+}, and \hyperlink{a00273_a2cfd212d5d8b032243bd9a3d0d1f21b1}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+V\+T\+K\+Writer\+\_\+}.

\hypertarget{a00345_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[{write}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool Open\+Mesh\+::\+I\+O\+::\+Base\+Writer\+::write (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{\+\_\+os, }
\item[{{\bf Base\+Exporter} \&}]{\+\_\+be, }
\item[{{\bf Options}}]{\+\_\+opt, }
\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6}}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{a00345_ae0aa2050e93f96d71ff70ce788a76a94}
Write to a std\+::ostream 
\begin{DoxyParams}{Parameters}
{\em \+\_\+os} & write to std\+::ostream \\
\hline
{\em \+\_\+be} & \hyperlink{a00314}{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{a00266_aaa236eda6d8b4232d16f532ecbe42b4b}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+M\+Writer\+\_\+}, \hyperlink{a00264_a7307374d92852b0482563b8e5e805884}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+F\+F\+Writer\+\_\+}, \hyperlink{a00268_a1492f566f494e1fb53475f51bd299876}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}, \hyperlink{a00262_a8324e17b43ec30f805bc406e703ca090}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+O\+B\+J\+Writer\+\_\+}, \hyperlink{a00270_a2fe2fe180f3efdd8a7d8650f7791081a}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+S\+T\+L\+Writer\+\_\+}, and \hyperlink{a00273_aa805adf619325cac01c6eb7db4720805}{Open\+Mesh\+::\+I\+O\+::\+\_\+\+V\+T\+K\+Writer\+\_\+}.



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