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


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

Inheritance diagram for Open\+Mesh\+:\+:IO\+:\+:\+\_\+\+P\+L\+Y\+Writer\+\_\+\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a08560}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a08564}{Custom\+Property}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08560_aaac8c19574d786528b2eb013127e2e3d}\label{a08560_aaac8c19574d786528b2eb013127e2e3d}} 
enum {\bfseries Value\+Type} \{ \newline
{\bfseries Unsupported} = 0, 
{\bfseries Value\+Type\+F\+L\+O\+A\+T32}, 
{\bfseries Value\+Type\+F\+L\+O\+AT}, 
{\bfseries Value\+Type\+I\+N\+T32}, 
\newline
{\bfseries Value\+Type\+I\+NT}, 
{\bfseries Value\+Type\+U\+I\+NT}, 
{\bfseries Value\+Type\+U\+C\+H\+AR}, 
{\bfseries Value\+Type\+C\+H\+AR}, 
\newline
{\bfseries Value\+Type\+U\+I\+N\+T8}, 
{\bfseries Value\+Type\+U\+S\+H\+O\+RT}, 
{\bfseries Value\+Type\+S\+H\+O\+RT}, 
{\bfseries Value\+Type\+D\+O\+U\+B\+LE}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08560_ab6bcf926defc3c161634c298aaa4a77b}\label{a08560_ab6bcf926defc3c161634c298aaa4a77b}} 
virtual \hyperlink{a08560_ab6bcf926defc3c161634c298aaa4a77b}{$\sim$\+\_\+\+P\+L\+Y\+Writer\+\_\+} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08560_af31ca3f005e4b22442e5f84855441e1d}\label{a08560_af31ca3f005e4b22442e5f84855441e1d}} 
std\+::string \hyperlink{a08560_af31ca3f005e4b22442e5f84855441e1d}{get\+\_\+description} () const
\begin{DoxyCompactList}\small\item\em Return short description of the supported file format. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08560_a52c1bb12a7a43d70e56791e02f645988}\label{a08560_a52c1bb12a7a43d70e56791e02f645988}} 
std\+::string \hyperlink{a08560_a52c1bb12a7a43d70e56791e02f645988}{get\+\_\+extensions} () const
\begin{DoxyCompactList}\small\item\em Return file format\textquotesingle{}s extension. \end{DoxyCompactList}\item 
bool \hyperlink{a08560_aee2679bfb4da95b7d8a9dfc8c2a77028}{write} (const std\+::string \&, \hyperlink{a08460}{Base\+Exporter} \&, \hyperlink{a08480}{Options}, std\+::streamsize \+\_\+precision=6) const
\item 
bool \hyperlink{a08560_a26a12597f8f45cdcd0c4394cd001800b}{write} (std\+::ostream \&, \hyperlink{a08460}{Base\+Exporter} \&, \hyperlink{a08480}{Options}, std\+::streamsize \+\_\+precision=6) const
\item 
\mbox{\Hypertarget{a08560_a6c784e49e377e328bfd3fe98459e8c72}\label{a08560_a6c784e49e377e328bfd3fe98459e8c72}} 
size\+\_\+t \hyperlink{a08560_a6c784e49e377e328bfd3fe98459e8c72}{binary\+\_\+size} (\hyperlink{a08460}{Base\+Exporter} \&\+\_\+be, \hyperlink{a08480}{Options} \+\_\+opt) 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{a08560_acabaf9e99667875c6bf5b74825249ad2}\label{a08560_acabaf9e99667875c6bf5b74825249ad2}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, signed char value) const
\item 
\mbox{\Hypertarget{a08560_ad8145575156b83e13a9f5cb6c075385e}\label{a08560_ad8145575156b83e13a9f5cb6c075385e}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned char value) const
\item 
\mbox{\Hypertarget{a08560_a7b30c1f5b012a59928d66e76c4459f25}\label{a08560_a7b30c1f5b012a59928d66e76c4459f25}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, short value) const
\item 
\mbox{\Hypertarget{a08560_a9ca0051c5a0f5e574c5b3742ab0266c0}\label{a08560_a9ca0051c5a0f5e574c5b3742ab0266c0}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned short value) const
\item 
\mbox{\Hypertarget{a08560_afb8339094da6dbcf52bd680f379302e6}\label{a08560_afb8339094da6dbcf52bd680f379302e6}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, int value) const
\item 
\mbox{\Hypertarget{a08560_a2316b1a856732302fdf834ab5492c3bc}\label{a08560_a2316b1a856732302fdf834ab5492c3bc}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, unsigned int value) const
\item 
\mbox{\Hypertarget{a08560_ab8a8c0c1b3ecb8d89ce4bc573de66bf2}\label{a08560_ab8a8c0c1b3ecb8d89ce4bc573de66bf2}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, float value) const
\item 
\mbox{\Hypertarget{a08560_a389e22d7df9a0e96414b5e399f8c0025}\label{a08560_a389e22d7df9a0e96414b5e399f8c0025}} 
void {\bfseries write\+Value} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, double value) const
\item 
\mbox{\Hypertarget{a08560_ab43af6037a8ca10d855248c2f55b4544}\label{a08560_ab43af6037a8ca10d855248c2f55b4544}} 
bool {\bfseries write\+\_\+ascii} (std\+::ostream \&\+\_\+out, \hyperlink{a08460}{Base\+Exporter} \&, \hyperlink{a08480}{Options}) const
\item 
\mbox{\Hypertarget{a08560_ad0bd6da724bdd61837a0e10b59e0b181}\label{a08560_ad0bd6da724bdd61837a0e10b59e0b181}} 
bool {\bfseries write\+\_\+binary} (std\+::ostream \&\+\_\+out, \hyperlink{a08460}{Base\+Exporter} \&, \hyperlink{a08480}{Options}) const
\item 
\mbox{\Hypertarget{a08560_a3a0a5f4ea0b39d3d417989061136e6e8}\label{a08560_a3a0a5f4ea0b39d3d417989061136e6e8}} 
void \hyperlink{a08560_a3a0a5f4ea0b39d3d417989061136e6e8}{write\+\_\+header} (std\+::ostream \&\+\_\+out, \hyperlink{a08460}{Base\+Exporter} \&\+\_\+be, \hyperlink{a08480}{Options} \&\+\_\+opt, std\+::vector$<$ \hyperlink{a08564}{Custom\+Property} $>$ \&\+\_\+ov\+Props, std\+::vector$<$ \hyperlink{a08564}{Custom\+Property} $>$ \&\+\_\+of\+Props) const
\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 
\mbox{\Hypertarget{a08560_a20693bbd7d9dac3317db66a0f4678bf8}\label{a08560_a20693bbd7d9dac3317db66a0f4678bf8}} 
std\+::vector$<$ \hyperlink{a08564}{Custom\+Property} $>$ \hyperlink{a08560_a20693bbd7d9dac3317db66a0f4678bf8}{write\+Custom\+Type\+Header} (std\+::ostream \&\+\_\+out, Base\+Kernel\+::const\+\_\+prop\+\_\+iterator \+\_\+begin, Base\+Kernel\+::const\+\_\+prop\+\_\+iterator \+\_\+end) const
\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 
\mbox{\Hypertarget{a08560_a7b9469da97f8500b3fe5168c40c54a5c}\label{a08560_a7b9469da97f8500b3fe5168c40c54a5c}} 
{\footnotesize template$<$bool binary$>$ }\\void {\bfseries write\+\_\+custom\+Prop} (std\+::ostream \&\+\_\+our, const \hyperlink{a08564}{Custom\+Property} \&\+\_\+prop, size\+\_\+t \+\_\+index) const
\item 
\mbox{\Hypertarget{a08560_ab851b49eef794c4f4a9be60c7141c951}\label{a08560_ab851b49eef794c4f4a9be60c7141c951}} 
{\footnotesize template$<$typename T $>$ }\\void {\bfseries write\+Proxy} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, T \+\_\+value, Open\+Mesh\+::\+Gen\+Prog\+::\+True\+Type) const
\item 
\mbox{\Hypertarget{a08560_a2e87364efc9cc735203043dac14bf389}\label{a08560_a2e87364efc9cc735203043dac14bf389}} 
{\footnotesize template$<$typename T $>$ }\\void {\bfseries write\+Proxy} (Value\+Type \+\_\+type, std\+::ostream \&\+\_\+out, T \+\_\+value, Open\+Mesh\+::\+Gen\+Prog\+::\+False\+Type) const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08560_a15234aa02eafda23687b1774257c5f58}\label{a08560_a15234aa02eafda23687b1774257c5f58}} 
\hyperlink{a08480}{Options} {\bfseries options\+\_\+}
\item 
\mbox{\Hypertarget{a08560_af13081f25c0e736a5af1143026b7d885}\label{a08560_af13081f25c0e736a5af1143026b7d885}} 
const char $\ast$ {\bfseries name\+Of\+Type\+\_\+} \mbox{[}12\mbox{]}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation of the P\+LY format writer. This class is singleton\textquotesingle{}ed by \hyperlink{a08912}{SingletonT} to P\+L\+Y\+Writer.

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

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08560_aee2679bfb4da95b7d8a9dfc8c2a77028}\label{a08560_aee2679bfb4da95b7d8a9dfc8c2a77028}} 
\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{\texorpdfstring{write()}{write()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+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 [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}


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



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

\mbox{\Hypertarget{a08560_a26a12597f8f45cdcd0c4394cd001800b}\label{a08560_a26a12597f8f45cdcd0c4394cd001800b}} 
\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{\texorpdfstring{write()}{write()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Open\+Mesh\+::\+I\+O\+::\+\_\+\+P\+L\+Y\+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 [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}


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



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



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