\hypertarget{a00268}{\section{Open\+Mesh\+:\+:I\+O\+:\+:\+\_\+\+P\+L\+Y\+Writer\+\_\+ Class Reference}
\label{a00268}\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}}
}


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

Inheritance diagram for Open\+Mesh\+:\+:I\+O\+:\+:\+\_\+\+P\+L\+Y\+Writer\+\_\+\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a00268}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00470}{Custom\+Property}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00268_aaac8c19574d786528b2eb013127e2e3d}{enum {\bfseries Value\+Type} \{ \\*
{\bfseries Unsupported} = 0, 
{\bfseries Value\+Type\+F\+L\+O\+A\+T32}, 
{\bfseries Value\+Type\+F\+L\+O\+A\+T}, 
{\bfseries Value\+Type\+I\+N\+T32}, 
\\*
{\bfseries Value\+Type\+I\+N\+T}, 
{\bfseries Value\+Type\+U\+I\+N\+T}, 
{\bfseries Value\+Type\+U\+C\+H\+A\+R}, 
{\bfseries Value\+Type\+C\+H\+A\+R}, 
\\*
{\bfseries Value\+Type\+U\+I\+N\+T8}, 
{\bfseries Value\+Type\+U\+S\+H\+O\+R\+T}, 
{\bfseries Value\+Type\+S\+H\+O\+R\+T}, 
{\bfseries Value\+Type\+D\+O\+U\+B\+L\+E}
 \}}\label{a00268_aaac8c19574d786528b2eb013127e2e3d}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00268_ab6bcf926defc3c161634c298aaa4a77b}{virtual \hyperlink{a00268_ab6bcf926defc3c161634c298aaa4a77b}{$\sim$\+\_\+\+P\+L\+Y\+Writer\+\_\+} ()}\label{a00268_ab6bcf926defc3c161634c298aaa4a77b}

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

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

\begin{DoxyCompactList}\small\item\em Return file format's extension. \end{DoxyCompactList}\item 
bool \hyperlink{a00268_af6ac5c38afb28fcd982ca5aab8dcb3c0}{write} (const std\+::string \&, \hyperlink{a00314}{Base\+Exporter} \&, \hyperlink{a00941}{Options}, std\+::streamsize \+\_\+precision=6) const 
\item 
bool \hyperlink{a00268_a1492f566f494e1fb53475f51bd299876}{write} (std\+::ostream \&, \hyperlink{a00314}{Base\+Exporter} \&, \hyperlink{a00941}{Options}, std\+::streamsize \+\_\+precision=6) const 
\item 
\hypertarget{a00268_a38d796cf73fc359353d9ad72bd1fed30}{size\+\_\+t \hyperlink{a00268_a38d796cf73fc359353d9ad72bd1fed30}{binary\+\_\+size} (\hyperlink{a00314}{Base\+Exporter} \&\+\_\+be, \hyperlink{a00941}{Options} \+\_\+opt) const }\label{a00268_a38d796cf73fc359353d9ad72bd1fed30}

\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{a00268_a8fb4ca752d9750e07cdf3ddced892e26}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, signed char value) const }\label{a00268_a8fb4ca752d9750e07cdf3ddced892e26}

\item 
\hypertarget{a00268_ad9241263a6ac5d75592dcdda6fa9774c}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned char value) const }\label{a00268_ad9241263a6ac5d75592dcdda6fa9774c}

\item 
\hypertarget{a00268_a72d7107b67a92865c9eed9b28783326e}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, short value) const }\label{a00268_a72d7107b67a92865c9eed9b28783326e}

\item 
\hypertarget{a00268_ab99ff68ac253b8bc83ad23f06c12afe7}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned short value) const }\label{a00268_ab99ff68ac253b8bc83ad23f06c12afe7}

\item 
\hypertarget{a00268_a457e25dd21b61820cf2ecbe001e3ebbb}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, int value) const }\label{a00268_a457e25dd21b61820cf2ecbe001e3ebbb}

\item 
\hypertarget{a00268_a3916edd8d47596e4f120aa622532fbac}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned int value) const }\label{a00268_a3916edd8d47596e4f120aa622532fbac}

\item 
\hypertarget{a00268_ad93a46639894a09b04c272d093fe5139}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, float value) const }\label{a00268_ad93a46639894a09b04c272d093fe5139}

\item 
\hypertarget{a00268_acffc9a3ae9981f65a0192c0e72c5abdf}{void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, double value) const }\label{a00268_acffc9a3ae9981f65a0192c0e72c5abdf}

\item 
\hypertarget{a00268_a7ca97d4669f459e600ad56f39c7bbf51}{bool {\bfseries write\+\_\+ascii} (std\+::ostream \&\+\_\+out, \hyperlink{a00314}{Base\+Exporter} \&, \hyperlink{a00941}{Options}) const }\label{a00268_a7ca97d4669f459e600ad56f39c7bbf51}

\item 
\hypertarget{a00268_a6ddbf01f32c048ce8f89f96244022b88}{bool {\bfseries write\+\_\+binary} (std\+::ostream \&\+\_\+out, \hyperlink{a00314}{Base\+Exporter} \&, \hyperlink{a00941}{Options}) const }\label{a00268_a6ddbf01f32c048ce8f89f96244022b88}

\item 
\hypertarget{a00268_aa8892434ed5b99632c6720b8e96123c6}{void \hyperlink{a00268_aa8892434ed5b99632c6720b8e96123c6}{write\+\_\+header} (std\+::ostream \&\+\_\+out, \hyperlink{a00314}{Base\+Exporter} \&\+\_\+be, \hyperlink{a00941}{Options} \&\+\_\+opt, std\+::vector$<$ \hyperlink{a00470}{Custom\+Property} $>$ \&\+\_\+ov\+Props, std\+::vector$<$ \hyperlink{a00470}{Custom\+Property} $>$ \&\+\_\+of\+Props) const }\label{a00268_aa8892434ed5b99632c6720b8e96123c6}

\begin{DoxyCompactList}\small\item\em write header into the stream \+\_\+out. Returns custom properties (vertex and face) which are written into the header \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00268_a47d90998426dd989c63b39deb65685da}{std\+::vector$<$ \hyperlink{a00470}{Custom\+Property} $>$ \hyperlink{a00268_a47d90998426dd989c63b39deb65685da}{write\+Custom\+Type\+Header} (std\+::ostream \&\+\_\+out, Base\+Kernel\+::const\+\_\+prop\+\_\+iterator \+\_\+begin, Base\+Kernel\+::const\+\_\+prop\+\_\+iterator \+\_\+end) const }\label{a00268_a47d90998426dd989c63b39deb65685da}

\begin{DoxyCompactList}\small\item\em write custom persistant properties into the header for the current element, returns all properties, which were written sorted \end{DoxyCompactList}\item 
\hypertarget{a00268_a1050d4c7157f5c86636f4fd940ed52bf}{{\footnotesize template$<$bool binary$>$ }\\void {\bfseries write\+\_\+custom\+Prop} (std\+::ostream \&\+\_\+our, const \hyperlink{a00470}{Custom\+Property} \&\+\_\+prop, size\+\_\+t \+\_\+index) const }\label{a00268_a1050d4c7157f5c86636f4fd940ed52bf}

\item 
\hypertarget{a00268_a9a93777fd07769a7d330d4309888ba4a}{{\footnotesize template$<$typename T $>$ }\\void {\bfseries write\+Proxy} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, T \+\_\+value, Open\+Mesh\+::\+Gen\+Prog\+::\+True\+Type) const }\label{a00268_a9a93777fd07769a7d330d4309888ba4a}

\item 
\hypertarget{a00268_a67927bc14192ecf646cade7f971cfba6}{{\footnotesize template$<$typename T $>$ }\\void {\bfseries write\+Proxy} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, T \+\_\+value, Open\+Mesh\+::\+Gen\+Prog\+::\+False\+Type) const }\label{a00268_a67927bc14192ecf646cade7f971cfba6}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00268_a15234aa02eafda23687b1774257c5f58}{\hyperlink{a00941}{Options} {\bfseries options\+\_\+}}\label{a00268_a15234aa02eafda23687b1774257c5f58}

\item 
\hypertarget{a00268_af13081f25c0e736a5af1143026b7d885}{const char $\ast$ {\bfseries name\+Of\+Type\+\_\+} \mbox{[}12\mbox{]}}\label{a00268_af13081f25c0e736a5af1143026b7d885}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation of the P\+L\+Y format writer. This class is singleton'ed by \hyperlink{a01181}{Singleton\+T} to P\+L\+Y\+Writer.

currently supported options\+:
\begin{DoxyItemize}
\item Vertex\+Colors
\item Binary
\item Binary -\/$>$ M\+S\+B 
\end{DoxyItemize}

Definition at line 93 of file P\+L\+Y\+Writer.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00268_af6ac5c38afb28fcd982ca5aab8dcb3c0}{\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}!write@{write}}
\index{write@{write}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+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 [virtual]}}}\label{a00268_af6ac5c38afb28fcd982ca5aab8dcb3c0}
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}


Implements \hyperlink{a00345_a7c0818a63926bdb439044a8f4c038d85}{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}.



Definition at line 100 of file P\+L\+Y\+Writer.\+cc.

\hypertarget{a00268_a1492f566f494e1fb53475f51bd299876}{\index{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}!write@{write}}
\index{write@{write}!Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+@{Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+Writer\+\_\+}}
\subsubsection[{write}]{\setlength{\rightskip}{0pt plus 5cm}bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+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 [virtual]}}}\label{a00268_a1492f566f494e1fb53475f51bd299876}
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}


Implements \hyperlink{a00345_ae0aa2050e93f96d71ff70ce788a76a94}{Open\+Mesh\+::\+I\+O\+::\+Base\+Writer}.



Definition at line 114 of file P\+L\+Y\+Writer.\+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/writer/P\+L\+Y\+Writer.\+hh\item 
libs\+\_\+required/\+Open\+Mesh/src/\+Open\+Mesh/\+Core/\+I\+O/writer/P\+L\+Y\+Writer.\+cc\end{DoxyCompactItemize}
