\hypertarget{a03374}{\section{Open\+Mesh\+:\+:I\+O Namespace Reference}
\label{a03374}\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a00257}{\+\_\+\+I\+O\+Manager\+\_\+}
\item 
class \hyperlink{a00261}{\+\_\+\+O\+B\+J\+Reader\+\_\+}
\item 
class \hyperlink{a00262}{\+\_\+\+O\+B\+J\+Writer\+\_\+}
\item 
class \hyperlink{a00263}{\+\_\+\+O\+F\+F\+Reader\+\_\+}
\item 
class \hyperlink{a00264}{\+\_\+\+O\+F\+F\+Writer\+\_\+}
\item 
class \hyperlink{a00265}{\+\_\+\+O\+M\+Reader\+\_\+}
\item 
class \hyperlink{a00266}{\+\_\+\+O\+M\+Writer\+\_\+}
\item 
class \hyperlink{a00267}{\+\_\+\+P\+L\+Y\+Reader\+\_\+}
\item 
class \hyperlink{a00268}{\+\_\+\+P\+L\+Y\+Writer\+\_\+}
\item 
class \hyperlink{a00269}{\+\_\+\+S\+T\+L\+Reader\+\_\+}
\item 
class \hyperlink{a00270}{\+\_\+\+S\+T\+L\+Writer\+\_\+}
\item 
class \hyperlink{a00273}{\+\_\+\+V\+T\+K\+Writer\+\_\+}
\item 
class \hyperlink{a00314}{Base\+Exporter}
\item 
class \hyperlink{a00319}{Base\+Importer}
\item 
class \hyperlink{a00338}{Base\+Reader}
\item 
class \hyperlink{a00345}{Base\+Writer}
\item 
struct \hyperlink{a00350}{binary}
\item 
struct \hyperlink{a00352}{binary$<$ Base\+Skin\+::\+Skin\+Weights $>$}
\item 
struct \hyperlink{a00353}{binary$<$ My\+Data $>$}
\item 
struct \hyperlink{a00354}{binary$<$ My\+Map $>$}
\item 
class \hyperlink{a00548}{Exporter\+T}
\item 
struct \hyperlink{a00682}{Handle2\+Prop}
\item 
struct \hyperlink{a00683}{Handle2\+Prop$<$ T, Face\+Handle $>$}
\item 
struct \hyperlink{a00684}{Handle2\+Prop$<$ T, Vertex\+Handle $>$}
\item 
class \hyperlink{a00717}{Importer\+T}
\item 
class \hyperlink{a00941}{Options}
\begin{DoxyCompactList}\small\item\em Set options for reader/writer modules. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00257}{\+\_\+\+I\+O\+Manager\+\_\+} \& \hyperlink{a03374_aa13c5f0fa15845cde1f11e6afe53f106}{I\+O\+Manager} ()
\item 
\hypertarget{a03374_a6c891985541460479bbc4e9525390cad}{{\footnotesize template$<$typename T $>$ }\\size\+\_\+t {\bfseries store} (std\+::ostream \&\+\_\+os, const T \&\+\_\+val, O\+M\+Format\+::\+Chunk\+::\+Integer\+\_\+\+Size \+\_\+b, bool \+\_\+swap, t\+\_\+signed)}\label{a03374_a6c891985541460479bbc4e9525390cad}

\item 
\hypertarget{a03374_ae2b7128db63d1eef6f7b3e1e41cf9a7e}{{\footnotesize template$<$typename T $>$ }\\size\+\_\+t {\bfseries store} (std\+::ostream \&\+\_\+os, const T \&\+\_\+val, O\+M\+Format\+::\+Chunk\+::\+Integer\+\_\+\+Size \+\_\+b, bool \+\_\+swap, t\+\_\+unsigned)}\label{a03374_ae2b7128db63d1eef6f7b3e1e41cf9a7e}

\item 
\hypertarget{a03374_ad5f1210700c0c8f114c479ee15fc15f5}{{\footnotesize template$<$typename T $>$ }\\size\+\_\+t {\bfseries restore} (std\+::istream \&\+\_\+is, T \&\+\_\+val, O\+M\+Format\+::\+Chunk\+::\+Integer\+\_\+\+Size \+\_\+b, bool \+\_\+swap, t\+\_\+signed)}\label{a03374_ad5f1210700c0c8f114c479ee15fc15f5}

\item 
\hypertarget{a03374_ac98ca095e7f163cf25a36920597b5b85}{{\footnotesize template$<$typename T $>$ }\\size\+\_\+t {\bfseries restore} (std\+::istream \&\+\_\+is, T \&\+\_\+val, O\+M\+Format\+::\+Chunk\+::\+Integer\+\_\+\+Size \+\_\+b, bool \+\_\+swap, t\+\_\+unsigned)}\label{a03374_ac98ca095e7f163cf25a36920597b5b85}

\item 
\hypertarget{a03374_aeee429bcc952a9445fd48e40164b064b}{\hyperlink{a00261}{\+\_\+\+O\+B\+J\+Reader\+\_\+} \& {\bfseries O\+B\+J\+Reader} ()}\label{a03374_aeee429bcc952a9445fd48e40164b064b}

\item 
\hypertarget{a03374_a3a9c6303cd663c5c5ba1d7095b71f865}{void {\bfseries trim\+String} (std\+::string \&\+\_\+string)}\label{a03374_a3a9c6303cd663c5c5ba1d7095b71f865}

\item 
\hypertarget{a03374_aac73732fa466576f73d2c8f0f48e2c27}{void {\bfseries remove\+\_\+duplicated\+\_\+vertices} (Base\+Importer\+::\+V\+Handles \&\+\_\+indices)}\label{a03374_aac73732fa466576f73d2c8f0f48e2c27}

\item 
\hypertarget{a03374_a0ffe4591554c97683a464c370b6f7f35}{\hyperlink{a00263}{\+\_\+\+O\+F\+F\+Reader\+\_\+} \& {\bfseries O\+F\+F\+Reader} ()}\label{a03374_a0ffe4591554c97683a464c370b6f7f35}

\item 
\hypertarget{a03374_a61f06f6335750b184de80fe85852f86b}{\hyperlink{a00265}{\+\_\+\+O\+M\+Reader\+\_\+} \& {\bfseries O\+M\+Reader} ()}\label{a03374_a61f06f6335750b184de80fe85852f86b}

\item 
\hypertarget{a03374_afc4660820e4eba27091d92f3061993fc}{\hyperlink{a00267}{\+\_\+\+P\+L\+Y\+Reader\+\_\+} \& {\bfseries P\+L\+Y\+Reader} ()}\label{a03374_afc4660820e4eba27091d92f3061993fc}

\item 
\hypertarget{a03374_ad8c7a638eb5d8d6078f1a91e63547204}{std\+::string {\bfseries get\+\_\+property\+\_\+name} (std\+::string \+\_\+string1, std\+::string \+\_\+string2)}\label{a03374_ad8c7a638eb5d8d6078f1a91e63547204}

\item 
\hypertarget{a03374_a31c77c38e83ea945a6d7bc26c77908be}{\+\_\+\+P\+L\+Y\+Reader\+\_\+\+::\+Value\+Type {\bfseries get\+\_\+property\+\_\+type} (std\+::string \+\_\+string1, std\+::string \+\_\+string2)}\label{a03374_a31c77c38e83ea945a6d7bc26c77908be}

\item 
\hypertarget{a03374_a261f8326e84759b9179662e275b084d1}{\hyperlink{a00269}{\+\_\+\+S\+T\+L\+Reader\+\_\+} \& {\bfseries S\+T\+L\+Reader} ()}\label{a03374_a261f8326e84759b9179662e275b084d1}

\item 
\hypertarget{a03374_a6bbc056b710a615d448b0ea68f099023}{void {\bfseries trim\+Std\+String} (std\+::string \&\+\_\+string)}\label{a03374_a6bbc056b710a615d448b0ea68f099023}

\item 
\hypertarget{a03374_a042c91cf7bbe7a6cf9ae6c410a1ca34c}{\hyperlink{a00262}{\+\_\+\+O\+B\+J\+Writer\+\_\+} \& {\bfseries O\+B\+J\+Writer} ()}\label{a03374_a042c91cf7bbe7a6cf9ae6c410a1ca34c}

\item 
\hypertarget{a03374_a82ae4a0bb6cc09e52d6a6f657f1dec6b}{\hyperlink{a00264}{\+\_\+\+O\+F\+F\+Writer\+\_\+} \& {\bfseries O\+F\+F\+Writer} ()}\label{a03374_a82ae4a0bb6cc09e52d6a6f657f1dec6b}

\item 
\hypertarget{a03374_aa63b0175dff95b702b53f04b3d1524b3}{\hyperlink{a00266}{\+\_\+\+O\+M\+Writer\+\_\+} \& {\bfseries O\+M\+Writer} ()}\label{a03374_aa63b0175dff95b702b53f04b3d1524b3}

\item 
\hypertarget{a03374_a9f9b89ef12414de6b58f7cda086c5f8e}{\hyperlink{a00268}{\+\_\+\+P\+L\+Y\+Writer\+\_\+} \& {\bfseries P\+L\+Y\+Writer} ()}\label{a03374_a9f9b89ef12414de6b58f7cda086c5f8e}

\item 
\hypertarget{a03374_a587bd975eb2820399a05af17e82abb5a}{{\footnotesize template$<$typename T $>$ }\\const \hyperlink{a01039}{Property\+T}$<$ T $>$ $\ast$ {\bfseries cast\+Property} (const \hyperlink{a00332}{Base\+Property} $\ast$\+\_\+prop)}\label{a03374_a587bd975eb2820399a05af17e82abb5a}

\item 
\hypertarget{a03374_a24ee555f152cb408cc4deb2839bfd0d5}{\hyperlink{a00270}{\+\_\+\+S\+T\+L\+Writer\+\_\+} \& {\bfseries S\+T\+L\+Writer} ()}\label{a03374_a24ee555f152cb408cc4deb2839bfd0d5}

\item 
\hypertarget{a03374_a1ab988aa7047a5f425c87a56f315f39e}{\hyperlink{a00273}{\+\_\+\+V\+T\+K\+Writer\+\_\+} \& {\bfseries V\+T\+K\+Writer} ()}\label{a03374_a1ab988aa7047a5f425c87a56f315f39e}

\end{DoxyCompactItemize}
\begin{Indent}{\bf Mesh Reading / Writing}\par
{\em \hyperlink{a00940}{Option} for reader and writer modules. }\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class Mesh $>$ }\\bool \hyperlink{a03374_ac417960ec28ffdd7e7003a2b1ebb2d1c}{read\+\_\+mesh} (\hyperlink{a01335}{Mesh} \&\+\_\+mesh, const std\+::string \&\+\_\+filename)
\begin{DoxyCompactList}\small\item\em Read a mesh from file \+\_\+filename. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Mesh $>$ }\\bool \hyperlink{a03374_ae7ba2707a88e6d9b64a5c1bfab0df061}{read\+\_\+mesh} (\hyperlink{a01335}{Mesh} \&\+\_\+mesh, const std\+::string \&\+\_\+filename, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+clear=true)
\begin{DoxyCompactList}\small\item\em Read a mesh from file \+\_\+filename. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Mesh $>$ }\\bool \hyperlink{a03374_a0bcba9c50010ec3f16033b76e7f28154}{read\+\_\+mesh} (\hyperlink{a01335}{Mesh} \&\+\_\+mesh, std\+::istream \&\+\_\+is, const std\+::string \&\+\_\+ext, \hyperlink{a00941}{Options} \&\+\_\+opt, bool \+\_\+clear=true)
\begin{DoxyCompactList}\small\item\em Read a mesh from file open std\+::istream. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Mesh $>$ }\\bool \hyperlink{a03374_a18286a792ebf896872f5e26182fc5c7b}{write\+\_\+mesh} (const \hyperlink{a01335}{Mesh} \&\+\_\+mesh, const std\+::string \&\+\_\+filename, \hyperlink{a00941}{Options} \+\_\+opt=\hyperlink{a00941_a9f4f797b08c045b611eaa6f8d149da21a7e68f74f3e555a90cc6b3ea1b5fb42ac}{Options\+::\+Default}, std\+::streamsize \+\_\+precision=6)
\begin{DoxyCompactList}\small\item\em Write a mesh to the file \+\_\+filename. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Mesh $>$ }\\bool \hyperlink{a03374_a15d23bba1a9d2439621938f5f3b07f43}{write\+\_\+mesh} (const \hyperlink{a01335}{Mesh} \&\+\_\+mesh, std\+::ostream \&\+\_\+os, const std\+::string \&\+\_\+ext, \hyperlink{a00941}{Options} \+\_\+opt=\hyperlink{a00941_a9f4f797b08c045b611eaa6f8d149da21a7e68f74f3e555a90cc6b3ea1b5fb42ac}{Options\+::\+Default}, std\+::streamsize \+\_\+precision=6)
\item 
{\footnotesize template$<$class Mesh $>$ }\\size\+\_\+t \hyperlink{a03374_a0bd0cd8598ebc1e6fbd4061c8e65570b}{binary\+\_\+size} (const \hyperlink{a01335}{Mesh} \&\+\_\+mesh, const std\+::string \&\+\_\+ext, \hyperlink{a00941}{Options} \+\_\+opt=\hyperlink{a00941_a9f4f797b08c045b611eaa6f8d149da21a7e68f74f3e555a90cc6b3ea1b5fb42ac}{Options\+::\+Default})
\begin{DoxyCompactList}\small\item\em Get binary size of data. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a03374_ac83ae47eda252ca59eaa0f22316bc142}{\hyperlink{a00261}{\+\_\+\+O\+B\+J\+Reader\+\_\+} {\bfseries \+\_\+\+\_\+\+O\+B\+J\+Reader\+Instance}}\label{a03374_ac83ae47eda252ca59eaa0f22316bc142}

\item 
\hypertarget{a03374_a713d6dc17067507f6374d34b5fe48cc4}{\hyperlink{a00263}{\+\_\+\+O\+F\+F\+Reader\+\_\+} \hyperlink{a03374_a713d6dc17067507f6374d34b5fe48cc4}{\+\_\+\+\_\+\+O\+F\+F\+Reader\+Instance}}\label{a03374_a713d6dc17067507f6374d34b5fe48cc4}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+F\+F reader. \end{DoxyCompactList}\item 
\hypertarget{a03374_aef50659ccf9991ab06fe5d2b4c82d014}{\hyperlink{a00265}{\+\_\+\+O\+M\+Reader\+\_\+} \hyperlink{a03374_aef50659ccf9991ab06fe5d2b4c82d014}{\+\_\+\+\_\+\+O\+M\+Reader\+Instance}}\label{a03374_aef50659ccf9991ab06fe5d2b4c82d014}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+M reader. \end{DoxyCompactList}\item 
\hypertarget{a03374_a1e6f2c618fae88b8492e0368d93587c8}{\hyperlink{a00267}{\+\_\+\+P\+L\+Y\+Reader\+\_\+} \hyperlink{a03374_a1e6f2c618fae88b8492e0368d93587c8}{\+\_\+\+\_\+\+P\+L\+Y\+Reader\+Instance}}\label{a03374_a1e6f2c618fae88b8492e0368d93587c8}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the P\+L\+Y reader. \end{DoxyCompactList}\item 
\hypertarget{a03374_a0528676c0e2aa006892a169613c3bf42}{\hyperlink{a00269}{\+\_\+\+S\+T\+L\+Reader\+\_\+} \hyperlink{a03374_a0528676c0e2aa006892a169613c3bf42}{\+\_\+\+\_\+\+S\+T\+L\+Reader\+Instance}}\label{a03374_a0528676c0e2aa006892a169613c3bf42}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the S\+T\+L reader. \end{DoxyCompactList}\item 
\hypertarget{a03374_ad7d48d59c5744757fa97d45f9a85fceb}{\hyperlink{a00262}{\+\_\+\+O\+B\+J\+Writer\+\_\+} \hyperlink{a03374_ad7d48d59c5744757fa97d45f9a85fceb}{\+\_\+\+\_\+\+O\+B\+J\+Writerinstance}}\label{a03374_ad7d48d59c5744757fa97d45f9a85fceb}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+B\+J writer. \end{DoxyCompactList}\item 
\hypertarget{a03374_afed89868050213b1c1c2e70a8baa13ce}{\hyperlink{a00264}{\+\_\+\+O\+F\+F\+Writer\+\_\+} \hyperlink{a03374_afed89868050213b1c1c2e70a8baa13ce}{\+\_\+\+\_\+\+O\+F\+F\+Writer\+Instance}}\label{a03374_afed89868050213b1c1c2e70a8baa13ce}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+F\+F writer. \end{DoxyCompactList}\item 
\hypertarget{a03374_a097df26d39f2771aa2fce672e3db6ed4}{\hyperlink{a00266}{\+\_\+\+O\+M\+Writer\+\_\+} \hyperlink{a03374_a097df26d39f2771aa2fce672e3db6ed4}{\+\_\+\+\_\+\+O\+M\+Writer\+Instance}}\label{a03374_a097df26d39f2771aa2fce672e3db6ed4}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+M writer. \end{DoxyCompactList}\item 
\hypertarget{a03374_aac8a58fe0c97fc86e577e018f3ffaf00}{\hyperlink{a00268}{\+\_\+\+P\+L\+Y\+Writer\+\_\+} \hyperlink{a03374_aac8a58fe0c97fc86e577e018f3ffaf00}{\+\_\+\+\_\+\+P\+L\+Y\+Writer\+Instance}}\label{a03374_aac8a58fe0c97fc86e577e018f3ffaf00}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the P\+L\+Y writer. \end{DoxyCompactList}\item 
\hypertarget{a03374_a8f6a85e0a2e0d129eedda09b86626edb}{\hyperlink{a00270}{\+\_\+\+S\+T\+L\+Writer\+\_\+} {\bfseries \+\_\+\+\_\+\+S\+T\+L\+Writer\+Instance}}\label{a03374_a8f6a85e0a2e0d129eedda09b86626edb}

\item 
\hypertarget{a03374_ad6402e5fdebb9d674bcca3d4c794ee60}{\hyperlink{a00273}{\+\_\+\+V\+T\+K\+Writer\+\_\+} \hyperlink{a03374_ad6402e5fdebb9d674bcca3d4c794ee60}{\+\_\+\+\_\+\+V\+T\+K\+Writerinstance}}\label{a03374_ad6402e5fdebb9d674bcca3d4c794ee60}

\begin{DoxyCompactList}\small\item\em Declare the single entity of the O\+B\+J writer. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Handling binary input/output.}
\label{_amgrp8d089846e5f48c65d84f84545ca3b258}%
These functions take care of swapping bytes to get the right \hyperlink{a00540}{Endian}. \begin{DoxyCompactItemize}
\item 
typedef unsigned char \hyperlink{a03374_a84abcdac3919ac323a51197c45c30ce7}{uchar}
\item 
typedef unsigned short \hyperlink{a03374_aed5112de9626b0be282b40a107b77329}{ushort}
\item 
typedef unsigned long \hyperlink{a03374_aac51e67d7d32b4a89d511e43544b5d1a}{ulong}
\item 
typedef signed char \hyperlink{a03374_a1cb477d40529d6e99e0853d691ed4ae9}{int8\+\_\+t}
\item 
typedef unsigned char \hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t}
\item 
typedef short \hyperlink{a03374_a2a0a034c6ae23bd0e2e279ca7690a2fd}{int16\+\_\+t}
\item 
typedef unsigned short \hyperlink{a03374_add641b2e5971344cf97af07f2b1885ac}{uint16\+\_\+t}
\item 
typedef int \hyperlink{a03374_af881f277ad048474e3d995a67a31b062}{int32\+\_\+t}
\item 
typedef unsigned int \hyperlink{a03374_a99140b155bf76529ccd11ee39020201a}{uint32\+\_\+t}
\item 
typedef long long \hyperlink{a03374_ad391d2b6a9e9cd76197d08e4b4534567}{int64\+\_\+t}
\item 
typedef unsigned long long \hyperlink{a03374_a90bf8e9b73be46f14eb9407679d90179}{uint64\+\_\+t}
\item 
typedef float \hyperlink{a03374_adf6fa7dde897f1e39e9047f9035bfe7a}{float32\+\_\+t}
\item 
typedef double \hyperlink{a03374_a437122241c4e1e58d88a7520249fb286}{float64\+\_\+t}
\item 
typedef \hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} \hyperlink{a03374_a2a140b5cbe91a0072d5b4d1da68e4190}{rgb\+\_\+t} \mbox{[}3\mbox{]}
\item 
typedef \hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} \hyperlink{a03374_a3dfc456791ee5d8699997d585f10b4f7}{rgba\+\_\+t} \mbox{[}4\mbox{]}
\item 
short int \hyperlink{a03374_a0624f19c95f466ea4e8ac0f725add9ee}{read\+\_\+short} (F\+I\+L\+E $\ast$\+\_\+in, bool \+\_\+swap=false)
\item 
int \hyperlink{a03374_a75ddd1bb09930aaaccafd6f5afc3e8cb}{read\+\_\+int} (F\+I\+L\+E $\ast$\+\_\+in, bool \+\_\+swap=false)
\item 
float \hyperlink{a03374_a20f780795d3d78da83e9c7fb5a6d078a}{read\+\_\+float} (F\+I\+L\+E $\ast$\+\_\+in, bool \+\_\+swap=false)
\item 
double \hyperlink{a03374_aed6e745a43c8b7216ed5d025e5f444a3}{read\+\_\+double} (F\+I\+L\+E $\ast$\+\_\+in, bool \+\_\+swap=false)
\item 
short int \hyperlink{a03374_afdac9f17749663acf382236eca1e79ac}{read\+\_\+short} (std\+::istream \&\+\_\+in, bool \+\_\+swap=false)
\item 
int \hyperlink{a03374_a4dacbd0c451e7e23d7b89e365b83e20f}{read\+\_\+int} (std\+::istream \&\+\_\+in, bool \+\_\+swap=false)
\item 
float \hyperlink{a03374_a448dc5e7ff410bf023d902235f4f6509}{read\+\_\+float} (std\+::istream \&\+\_\+in, bool \+\_\+swap=false)
\item 
double \hyperlink{a03374_af5949bfdc3e11c558c9c24905b0b31b6}{read\+\_\+double} (std\+::istream \&\+\_\+in, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_a7001f05c3b1aa725cfbdf306a6e5cdaa}{write\+\_\+short} (short int \+\_\+i, F\+I\+L\+E $\ast$\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_a3430c109c16cb93ce20ec04848907e30}{write\+\_\+int} (int \+\_\+i, F\+I\+L\+E $\ast$\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_afb252a52391827e4615ab36044ff124e}{write\+\_\+float} (float \+\_\+f, F\+I\+L\+E $\ast$\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_a4166b3ec8bf0e2ea692c1a25b7cf691f}{write\+\_\+double} (double \+\_\+d, F\+I\+L\+E $\ast$\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_a0cbd7b5564f09b8474e40c64ccbf69c4}{write\+\_\+short} (short int \+\_\+i, std\+::ostream \&\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_ac26ad91b0667616d47d6a3085c2b71ad}{write\+\_\+int} (int \+\_\+i, std\+::ostream \&\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_a61b4b304e867dc651e188f5439d06ed6}{write\+\_\+float} (float \+\_\+f, std\+::ostream \&\+\_\+out, bool \+\_\+swap=false)
\item 
void \hyperlink{a03374_aac9d5af189b996e6732c617eb19a2c22}{write\+\_\+double} (double \+\_\+d, std\+::ostream \&\+\_\+out, bool \+\_\+swap=false)
\item 
{\footnotesize template$<$size\+\_\+t N$>$ }\\void \hyperlink{a03374_aa4fe1101edee9db0b0f7de1484b16567}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_a665ae0d82b5f75ad229ceadeab294f85}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_add1faa1d7290b6b5945b93f8cf85f4aa}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_ab635e08edc313822f3f8a982eae7d47e}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_a7ff7637b99211fa04d6dc73b6e7363c1}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_a85602015e1e476bbbb58aaa943e27ad4}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$$>$ }\\void \hyperlink{a03374_a390ba76430e5f0d5ede42f5c6947c605}{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$} (\hyperlink{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{uint8\+\_\+t} $\ast$\+\_\+val)
\item 
{\footnotesize template$<$typename T $>$ }\\T $\ast$ \hyperlink{a03374_ac2aa5537be67b342cda9c70b1a838e6a}{reverse\+\_\+byte\+\_\+order} (T $\ast$t)
\item 
void \hyperlink{a03374_a3e126a3b24ffb22ed44bff8fe1c7117c}{compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type} ()
\item 
{\footnotesize template$<$typename T $>$ }\\T \& \hyperlink{a03374_a951cbe1d4c36ef10777553a88c9292d6}{reverse\+\_\+byte\+\_\+order} (T \&\+\_\+t)
\item 
{\footnotesize template$<$$>$ }\\bool \& \hyperlink{a03374_a50b05a5733efef1d67754f9ce8769e55}{reverse\+\_\+byte\+\_\+order} (bool \&\+\_\+t)
\item 
{\footnotesize template$<$$>$ }\\char \& \hyperlink{a03374_a280a6ee2676bf9420631b34f4daf62fe}{reverse\+\_\+byte\+\_\+order} (char \&\+\_\+t)
\item 
{\footnotesize template$<$$>$ }\\\hyperlink{a03374_a84abcdac3919ac323a51197c45c30ce7}{uchar} \& \hyperlink{a03374_a4820f98582e7b78c405154714b72171a}{reverse\+\_\+byte\+\_\+order} (\hyperlink{a03374_a84abcdac3919ac323a51197c45c30ce7}{uchar} \&\+\_\+t)
\item 
{\footnotesize template$<$typename T $>$ }\\T \hyperlink{a03374_ae936bf1ad8ab108b931de920b5748817}{reverse\+\_\+byte\+\_\+order} (const T \&a)
\item 
{\footnotesize template$<$typename T $>$ }\\bool \hyperlink{a03374_afadc77f8b3e81138828deba328e65421}{is\+\_\+streamable} (void)
\item 
{\footnotesize template$<$typename T $>$ }\\bool \hyperlink{a03374_a7676df8e34bbf86a2113dcb4402cc315}{is\+\_\+streamable} (const T \&)
\item 
{\footnotesize template$<$typename T $>$ }\\size\+\_\+t \hyperlink{a03374_a787a7735700a12801c8a505f2c605681}{size\+\_\+of} (const T \&\+\_\+v)
\item 
{\footnotesize template$<$typename T $>$ }\\size\+\_\+t \hyperlink{a03374_ad8390aa99222173319cc40a28be1bbbb}{size\+\_\+of} (void)
\item 
{\footnotesize template$<$typename T $>$ }\\size\+\_\+t \hyperlink{a03374_a1f3c51bb7b0781f15a9f578059ed4e51}{store} (std\+::ostream \&\+\_\+os, const T \&\+\_\+v, bool \+\_\+swap=false)
\item 
{\footnotesize template$<$typename T $>$ }\\size\+\_\+t \hyperlink{a03374_ae65ee571a8707c7f87cbf8d175b9329b}{restore} (std\+::istream \&\+\_\+is, T \&\+\_\+v, bool \+\_\+swap=false)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
This namespace contains functions for reading and writing polygonal meshes and a list of supported file formats. 

\subsection{Typedef Documentation}
\hypertarget{a03374_adf6fa7dde897f1e39e9047f9035bfe7a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!float32\+\_\+t@{float32\+\_\+t}}
\index{float32\+\_\+t@{float32\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{float32\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef float {\bf Open\+Mesh\+::\+I\+O\+::float32\+\_\+t}}}\label{a03374_adf6fa7dde897f1e39e9047f9035bfe7a}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 97 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a437122241c4e1e58d88a7520249fb286}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!float64\+\_\+t@{float64\+\_\+t}}
\index{float64\+\_\+t@{float64\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{float64\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef double {\bf Open\+Mesh\+::\+I\+O\+::float64\+\_\+t}}}\label{a03374_a437122241c4e1e58d88a7520249fb286}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 98 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a2a0a034c6ae23bd0e2e279ca7690a2fd}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!int16\+\_\+t@{int16\+\_\+t}}
\index{int16\+\_\+t@{int16\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{int16\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef short {\bf Open\+Mesh\+::\+I\+O\+::int16\+\_\+t}}}\label{a03374_a2a0a034c6ae23bd0e2e279ca7690a2fd}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 86 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_af881f277ad048474e3d995a67a31b062}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!int32\+\_\+t@{int32\+\_\+t}}
\index{int32\+\_\+t@{int32\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{int32\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef int {\bf Open\+Mesh\+::\+I\+O\+::int32\+\_\+t}}}\label{a03374_af881f277ad048474e3d995a67a31b062}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 90 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_ad391d2b6a9e9cd76197d08e4b4534567}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!int64\+\_\+t@{int64\+\_\+t}}
\index{int64\+\_\+t@{int64\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{int64\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef long long {\bf Open\+Mesh\+::\+I\+O\+::int64\+\_\+t}}}\label{a03374_ad391d2b6a9e9cd76197d08e4b4534567}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 94 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a1cb477d40529d6e99e0853d691ed4ae9}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!int8\+\_\+t@{int8\+\_\+t}}
\index{int8\+\_\+t@{int8\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{int8\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef signed char {\bf Open\+Mesh\+::\+I\+O\+::int8\+\_\+t}}}\label{a03374_a1cb477d40529d6e99e0853d691ed4ae9}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 85 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a2a140b5cbe91a0072d5b4d1da68e4190}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!rgb\+\_\+t@{rgb\+\_\+t}}
\index{rgb\+\_\+t@{rgb\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{rgb\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf uint8\+\_\+t} Open\+Mesh\+::\+I\+O\+::rgb\+\_\+t\mbox{[}3\mbox{]}}}\label{a03374_a2a140b5cbe91a0072d5b4d1da68e4190}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 100 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a3dfc456791ee5d8699997d585f10b4f7}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!rgba\+\_\+t@{rgba\+\_\+t}}
\index{rgba\+\_\+t@{rgba\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{rgba\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf uint8\+\_\+t} Open\+Mesh\+::\+I\+O\+::rgba\+\_\+t\mbox{[}4\mbox{]}}}\label{a03374_a3dfc456791ee5d8699997d585f10b4f7}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 101 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a84abcdac3919ac323a51197c45c30ce7}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!uchar@{uchar}}
\index{uchar@{uchar}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{uchar}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned char {\bf Open\+Mesh\+::\+I\+O\+::uchar}}}\label{a03374_a84abcdac3919ac323a51197c45c30ce7}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 81 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_add641b2e5971344cf97af07f2b1885ac}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!uint16\+\_\+t@{uint16\+\_\+t}}
\index{uint16\+\_\+t@{uint16\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{uint16\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned short {\bf Open\+Mesh\+::\+I\+O\+::uint16\+\_\+t}}}\label{a03374_add641b2e5971344cf97af07f2b1885ac}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 86 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a99140b155bf76529ccd11ee39020201a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!uint32\+\_\+t@{uint32\+\_\+t}}
\index{uint32\+\_\+t@{uint32\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{uint32\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned int {\bf Open\+Mesh\+::\+I\+O\+::uint32\+\_\+t}}}\label{a03374_a99140b155bf76529ccd11ee39020201a}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 90 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_a90bf8e9b73be46f14eb9407679d90179}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!uint64\+\_\+t@{uint64\+\_\+t}}
\index{uint64\+\_\+t@{uint64\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{uint64\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long long {\bf Open\+Mesh\+::\+I\+O\+::uint64\+\_\+t}}}\label{a03374_a90bf8e9b73be46f14eb9407679d90179}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 94 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_afa0a8afc6a9ca87786b10012faccdb5b}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!uint8\+\_\+t@{uint8\+\_\+t}}
\index{uint8\+\_\+t@{uint8\+\_\+t}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{uint8\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned char {\bf Open\+Mesh\+::\+I\+O\+::uint8\+\_\+t}}}\label{a03374_afa0a8afc6a9ca87786b10012faccdb5b}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 85 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_aac51e67d7d32b4a89d511e43544b5d1a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!ulong@{ulong}}
\index{ulong@{ulong}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{ulong}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned long {\bf Open\+Mesh\+::\+I\+O\+::ulong}}}\label{a03374_aac51e67d7d32b4a89d511e43544b5d1a}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 83 of file S\+R\+\_\+types.\+hh.

\hypertarget{a03374_aed5112de9626b0be282b40a107b77329}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!ushort@{ushort}}
\index{ushort@{ushort}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{ushort}]{\setlength{\rightskip}{0pt plus 5cm}typedef unsigned short {\bf Open\+Mesh\+::\+I\+O\+::ushort}}}\label{a03374_aed5112de9626b0be282b40a107b77329}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 82 of file S\+R\+\_\+types.\+hh.



\subsection{Function Documentation}
\hypertarget{a03374_aa4fe1101edee9db0b0f7de1484b16567}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}]{\setlength{\rightskip}{0pt plus 5cm}template$<$size\+\_\+t N$>$ void Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_aa4fe1101edee9db0b0f7de1484b16567}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error \hypertarget{a03374_a665ae0d82b5f75ad229ceadeab294f85}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 1 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 1 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a665ae0d82b5f75ad229ceadeab294f85}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 100 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a85602015e1e476bbbb58aaa943e27ad4}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 12 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 12 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a85602015e1e476bbbb58aaa943e27ad4}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 129 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a390ba76430e5f0d5ede42f5c6947c605}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 16 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 16 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a390ba76430e5f0d5ede42f5c6947c605}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 141 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_add1faa1d7290b6b5945b93f8cf85f4aa}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 2 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 2 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_add1faa1d7290b6b5945b93f8cf85f4aa}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 104 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_ab635e08edc313822f3f8a982eae7d47e}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 4 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 4 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_ab635e08edc313822f3f8a982eae7d47e}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 111 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a7ff7637b99211fa04d6dc73b6e7363c1}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$}}
\index{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$@{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N$<$ 8 $>$}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ void {\bf Open\+Mesh\+::\+I\+O\+::\+\_\+reverse\+\_\+byte\+\_\+order\+\_\+\+N}$<$ 8 $>$ (
\begin{DoxyParamCaption}
\item[{uint8\+\_\+t $\ast$}]{\+\_\+val}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a7ff7637b99211fa04d6dc73b6e7363c1}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 119 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a0bd0cd8598ebc1e6fbd4061c8e65570b}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!binary\+\_\+size@{binary\+\_\+size}}
\index{binary\+\_\+size@{binary\+\_\+size}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{binary\+\_\+size}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ size\+\_\+t Open\+Mesh\+::\+I\+O\+::binary\+\_\+size (
\begin{DoxyParamCaption}
\item[{const {\bf Mesh} \&}]{\+\_\+mesh, }
\item[{const std\+::string \&}]{\+\_\+ext, }
\item[{Options}]{\+\_\+opt = {\ttfamily Options\+:\+:Default}}
\end{DoxyParamCaption}
)}}\label{a03374_a0bd0cd8598ebc1e6fbd4061c8e65570b}


Get binary size of data. 

This function calls the corresponding writer which calculates the size of the data that would be written to a binary file

The file format is determined by parameter \+\_\+ext. \+\_\+ext has to include \char`\"{}.\mbox{[}format\mbox{]}\char`\"{} in order to work properly (e.\+g. \char`\"{}.\+O\+F\+F\char`\"{})


\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & Mesh to write \\
\hline
{\em \+\_\+ext} & extension of the file (used to determine the writing module) \\
\hline
{\em \+\_\+opt} & Writer options (e.\+g. writing of normals ... depends on the writer capabilities)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Binary size in bytes used when writing the data 
\end{DoxyReturn}


Definition at line 260 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_a3e126a3b24ffb22ed44bff8fe1c7117c}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type@{compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type}}
\index{compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type@{compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::compile\+\_\+time\+\_\+error\+\_\+\+\_\+no\+\_\+fundamental\+\_\+type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a3e126a3b24ffb22ed44bff8fe1c7117c}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 161 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_aa13c5f0fa15845cde1f11e6afe53f106}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!I\+O\+Manager@{I\+O\+Manager}}
\index{I\+O\+Manager@{I\+O\+Manager}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{I\+O\+Manager}]{\setlength{\rightskip}{0pt plus 5cm}O\+P\+E\+N\+M\+E\+S\+H\+D\+L\+L\+E\+X\+P\+O\+R\+T {\bf \+\_\+\+I\+O\+Manager\+\_\+} \& Open\+Mesh\+::\+I\+O\+::\+I\+O\+Manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a03374_aa13c5f0fa15845cde1f11e6afe53f106}
Declare the singleton getter function as friend to access the private constructor and destructor 

Definition at line 77 of file I\+O\+Manager.\+cc.

\hypertarget{a03374_afadc77f8b3e81138828deba328e65421}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!is\+\_\+streamable@{is\+\_\+streamable}}
\index{is\+\_\+streamable@{is\+\_\+streamable}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{is\+\_\+streamable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ bool Open\+Mesh\+::\+I\+O\+::is\+\_\+streamable (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_afadc77f8b3e81138828deba328e65421}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 86 of file Store\+Restore.\+hh.

\hypertarget{a03374_a7676df8e34bbf86a2113dcb4402cc315}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!is\+\_\+streamable@{is\+\_\+streamable}}
\index{is\+\_\+streamable@{is\+\_\+streamable}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{is\+\_\+streamable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ bool Open\+Mesh\+::\+I\+O\+::is\+\_\+streamable (
\begin{DoxyParamCaption}
\item[{const T \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a7676df8e34bbf86a2113dcb4402cc315}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 90 of file Store\+Restore.\+hh.

\hypertarget{a03374_aed6e745a43c8b7216ed5d025e5f444a3}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+double@{read\+\_\+double}}
\index{read\+\_\+double@{read\+\_\+double}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+double}]{\setlength{\rightskip}{0pt plus 5cm}double Open\+Mesh\+::\+I\+O\+::read\+\_\+double (
\begin{DoxyParamCaption}
\item[{F\+I\+L\+E $\ast$}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_aed6e745a43c8b7216ed5d025e5f444a3}
Binary read a {\ttfamily double} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_af5949bfdc3e11c558c9c24905b0b31b6}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+double@{read\+\_\+double}}
\index{read\+\_\+double@{read\+\_\+double}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+double}]{\setlength{\rightskip}{0pt plus 5cm}double Open\+Mesh\+::\+I\+O\+::read\+\_\+double (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_af5949bfdc3e11c558c9c24905b0b31b6}
Binary read a {\ttfamily double} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a20f780795d3d78da83e9c7fb5a6d078a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+float@{read\+\_\+float}}
\index{read\+\_\+float@{read\+\_\+float}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+float}]{\setlength{\rightskip}{0pt plus 5cm}float Open\+Mesh\+::\+I\+O\+::read\+\_\+float (
\begin{DoxyParamCaption}
\item[{F\+I\+L\+E $\ast$}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a20f780795d3d78da83e9c7fb5a6d078a}
Binary read a {\ttfamily float} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a448dc5e7ff410bf023d902235f4f6509}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+float@{read\+\_\+float}}
\index{read\+\_\+float@{read\+\_\+float}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+float}]{\setlength{\rightskip}{0pt plus 5cm}float Open\+Mesh\+::\+I\+O\+::read\+\_\+float (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a448dc5e7ff410bf023d902235f4f6509}
Binary read a {\ttfamily float} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a75ddd1bb09930aaaccafd6f5afc3e8cb}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+int@{read\+\_\+int}}
\index{read\+\_\+int@{read\+\_\+int}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+int}]{\setlength{\rightskip}{0pt plus 5cm}int Open\+Mesh\+::\+I\+O\+::read\+\_\+int (
\begin{DoxyParamCaption}
\item[{F\+I\+L\+E $\ast$}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a75ddd1bb09930aaaccafd6f5afc3e8cb}
Binary read an {\ttfamily int} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a4dacbd0c451e7e23d7b89e365b83e20f}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+int@{read\+\_\+int}}
\index{read\+\_\+int@{read\+\_\+int}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+int}]{\setlength{\rightskip}{0pt plus 5cm}int Open\+Mesh\+::\+I\+O\+::read\+\_\+int (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a4dacbd0c451e7e23d7b89e365b83e20f}
Binary read an {\ttfamily int} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_ac417960ec28ffdd7e7003a2b1ebb2d1c}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+mesh@{read\+\_\+mesh}}
\index{read\+\_\+mesh@{read\+\_\+mesh}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ bool Open\+Mesh\+::\+I\+O\+::read\+\_\+mesh (
\begin{DoxyParamCaption}
\item[{{\bf Mesh} \&}]{\+\_\+mesh, }
\item[{const std\+::string \&}]{\+\_\+filename}
\end{DoxyParamCaption}
)}}\label{a03374_ac417960ec28ffdd7e7003a2b1ebb2d1c}


Read a mesh from file \+\_\+filename. 

The file format is determined by the file extension.

\begin{DoxyNote}{Note}
If you link statically against \hyperlink{a03368}{Open\+Mesh}, you have to add the define O\+M\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+B\+U\+I\+L\+D to your application. This will ensure that readers and writers get initialized correctly.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & The target mesh that will be filled with the read data \\
\hline
{\em \+\_\+filename} & fill to load\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 104 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_ae7ba2707a88e6d9b64a5c1bfab0df061}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+mesh@{read\+\_\+mesh}}
\index{read\+\_\+mesh@{read\+\_\+mesh}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ bool Open\+Mesh\+::\+I\+O\+::read\+\_\+mesh (
\begin{DoxyParamCaption}
\item[{{\bf Mesh} \&}]{\+\_\+mesh, }
\item[{const std\+::string \&}]{\+\_\+filename, }
\item[{Options \&}]{\+\_\+opt, }
\item[{bool}]{\+\_\+clear = {\ttfamily true}}
\end{DoxyParamCaption}
)}}\label{a03374_ae7ba2707a88e6d9b64a5c1bfab0df061}


Read a mesh from file \+\_\+filename. 

The file format is determined by the file extension.

\begin{DoxyNote}{Note}
If you link statically against \hyperlink{a03368}{Open\+Mesh}, you have to add the define O\+M\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+B\+U\+I\+L\+D to your application. This will ensure that readers and writers get initialized correctly.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & The target mesh that will be filled with the read data \\
\hline
{\em \+\_\+filename} & fill to load \\
\hline
{\em \+\_\+opt} & Reader options (e.\+g. skip loading of normals ... depends on the reader capabilities). Note that simply passing an \hyperlink{a00941_a9f4f797b08c045b611eaa6f8d149da21}{Options\+::\+Flag} enum is not sufficient. \\
\hline
{\em \+\_\+clear} & Clear the target data before filling it (allows to load multiple files into one Mesh). If you only want to read a mesh without clearing set \+\_\+clear to false. Providing a default \hyperlink{a00941}{Options} object is sufficient in this case.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 134 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_a0bcba9c50010ec3f16033b76e7f28154}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+mesh@{read\+\_\+mesh}}
\index{read\+\_\+mesh@{read\+\_\+mesh}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ bool Open\+Mesh\+::\+I\+O\+::read\+\_\+mesh (
\begin{DoxyParamCaption}
\item[{{\bf Mesh} \&}]{\+\_\+mesh, }
\item[{std\+::istream \&}]{\+\_\+is, }
\item[{const std\+::string \&}]{\+\_\+ext, }
\item[{Options \&}]{\+\_\+opt, }
\item[{bool}]{\+\_\+clear = {\ttfamily true}}
\end{DoxyParamCaption}
)}}\label{a03374_a0bcba9c50010ec3f16033b76e7f28154}


Read a mesh from file open std\+::istream. 

The file format is determined by parameter \+\_\+ext. \+\_\+ext has to include \char`\"{}.\mbox{[}format\mbox{]}\char`\"{} in order to work properly (e.\+g. \char`\"{}.\+O\+F\+F\char`\"{})

\begin{DoxyNote}{Note}
If you link statically against \hyperlink{a03368}{Open\+Mesh}, you have to add the define O\+M\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+B\+U\+I\+L\+D to your application. This will ensure that readers and writers get initialized correctly.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & The target mesh that will be filled with the read data \\
\hline
{\em \+\_\+is} & stream to load the data from \\
\hline
{\em \+\_\+ext} & The file format that is written to the stream \\
\hline
{\em \+\_\+opt} & Reader options (e.\+g. skip loading of normals ... depends on the reader capabilities) \\
\hline
{\em \+\_\+clear} & Clear the target data before filling it (allows to load multiple files into one Mesh)\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 166 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_a0624f19c95f466ea4e8ac0f725add9ee}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+short@{read\+\_\+short}}
\index{read\+\_\+short@{read\+\_\+short}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+short}]{\setlength{\rightskip}{0pt plus 5cm}short int Open\+Mesh\+::\+I\+O\+::read\+\_\+short (
\begin{DoxyParamCaption}
\item[{F\+I\+L\+E $\ast$}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a0624f19c95f466ea4e8ac0f725add9ee}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_afdac9f17749663acf382236eca1e79ac}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!read\+\_\+short@{read\+\_\+short}}
\index{read\+\_\+short@{read\+\_\+short}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{read\+\_\+short}]{\setlength{\rightskip}{0pt plus 5cm}short int Open\+Mesh\+::\+I\+O\+::read\+\_\+short (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+in, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_afdac9f17749663acf382236eca1e79ac}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_ae65ee571a8707c7f87cbf8d175b9329b}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!restore@{restore}}
\index{restore@{restore}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{restore}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ size\+\_\+t Open\+Mesh\+::\+I\+O\+::restore (
\begin{DoxyParamCaption}
\item[{std\+::istream \&}]{\+\_\+is, }
\item[{T \&}]{\+\_\+v, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_ae65ee571a8707c7f87cbf8d175b9329b}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 106 of file Store\+Restore.\+hh.

\hypertarget{a03374_ac2aa5537be67b342cda9c70b1a838e6a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ T$\ast$ Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{T $\ast$}]{t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_ac2aa5537be67b342cda9c70b1a838e6a}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error \hypertarget{a03374_a951cbe1d4c36ef10777553a88c9292d6}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ T\& Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{T \&}]{\+\_\+t}
\end{DoxyParamCaption}
)}}\label{a03374_a951cbe1d4c36ef10777553a88c9292d6}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 169 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a50b05a5733efef1d67754f9ce8769e55}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ bool\& Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{bool \&}]{\+\_\+t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a50b05a5733efef1d67754f9ce8769e55}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 176 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a280a6ee2676bf9420631b34f4daf62fe}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ char\& Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{char \&}]{\+\_\+t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a280a6ee2676bf9420631b34f4daf62fe}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 177 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a4820f98582e7b78c405154714b72171a}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$$>$ {\bf uchar}\& Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{uchar \&}]{\+\_\+t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a4820f98582e7b78c405154714b72171a}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 181 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_ae936bf1ad8ab108b931de920b5748817}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}}
\index{reverse\+\_\+byte\+\_\+order@{reverse\+\_\+byte\+\_\+order}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{reverse\+\_\+byte\+\_\+order}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ T Open\+Mesh\+::\+I\+O\+::reverse\+\_\+byte\+\_\+order (
\begin{DoxyParamCaption}
\item[{const T \&}]{a}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_ae936bf1ad8ab108b931de920b5748817}
this does not compile for g++3.4 and higher, hence we comment the function body which will result in a linker error 

Definition at line 240 of file S\+R\+\_\+rbo.\+hh.

\hypertarget{a03374_a787a7735700a12801c8a505f2c605681}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{size\+\_\+of}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ size\+\_\+t Open\+Mesh\+::\+I\+O\+::size\+\_\+of (
\begin{DoxyParamCaption}
\item[{const T \&}]{\+\_\+v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a787a7735700a12801c8a505f2c605681}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 94 of file Store\+Restore.\+hh.

\hypertarget{a03374_ad8390aa99222173319cc40a28be1bbbb}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!size\+\_\+of@{size\+\_\+of}}
\index{size\+\_\+of@{size\+\_\+of}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{size\+\_\+of}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ size\+\_\+t Open\+Mesh\+::\+I\+O\+::size\+\_\+of (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_ad8390aa99222173319cc40a28be1bbbb}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 98 of file Store\+Restore.\+hh.

\hypertarget{a03374_a1f3c51bb7b0781f15a9f578059ed4e51}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!store@{store}}
\index{store@{store}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{store}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename T $>$ size\+\_\+t Open\+Mesh\+::\+I\+O\+::store (
\begin{DoxyParamCaption}
\item[{std\+::ostream \&}]{\+\_\+os, }
\item[{const T \&}]{\+\_\+v, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a03374_a1f3c51bb7b0781f15a9f578059ed4e51}
Binary read a {\ttfamily short} from {\ttfamily \+\_\+is} and perform byte swapping if {\ttfamily \+\_\+swap} is true 

Definition at line 102 of file Store\+Restore.\+hh.

\hypertarget{a03374_a4166b3ec8bf0e2ea692c1a25b7cf691f}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+double@{write\+\_\+double}}
\index{write\+\_\+double@{write\+\_\+double}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+double}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+double (
\begin{DoxyParamCaption}
\item[{double}]{\+\_\+d, }
\item[{F\+I\+L\+E $\ast$}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a4166b3ec8bf0e2ea692c1a25b7cf691f}
Binary write a {\ttfamily double} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_aac9d5af189b996e6732c617eb19a2c22}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+double@{write\+\_\+double}}
\index{write\+\_\+double@{write\+\_\+double}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+double}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+double (
\begin{DoxyParamCaption}
\item[{double}]{\+\_\+d, }
\item[{std\+::ostream \&}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_aac9d5af189b996e6732c617eb19a2c22}
Binary write a {\ttfamily double} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_afb252a52391827e4615ab36044ff124e}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+float@{write\+\_\+float}}
\index{write\+\_\+float@{write\+\_\+float}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+float}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+float (
\begin{DoxyParamCaption}
\item[{float}]{\+\_\+f, }
\item[{F\+I\+L\+E $\ast$}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_afb252a52391827e4615ab36044ff124e}
Binary write a {\ttfamily float} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a61b4b304e867dc651e188f5439d06ed6}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+float@{write\+\_\+float}}
\index{write\+\_\+float@{write\+\_\+float}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+float}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+float (
\begin{DoxyParamCaption}
\item[{float}]{\+\_\+f, }
\item[{std\+::ostream \&}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a61b4b304e867dc651e188f5439d06ed6}
Binary write a {\ttfamily float} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a3430c109c16cb93ce20ec04848907e30}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+int@{write\+\_\+int}}
\index{write\+\_\+int@{write\+\_\+int}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+int}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+int (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+i, }
\item[{F\+I\+L\+E $\ast$}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a3430c109c16cb93ce20ec04848907e30}
Binary write an {\ttfamily int} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_ac26ad91b0667616d47d6a3085c2b71ad}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+int@{write\+\_\+int}}
\index{write\+\_\+int@{write\+\_\+int}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+int}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+int (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+i, }
\item[{std\+::ostream \&}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_ac26ad91b0667616d47d6a3085c2b71ad}
Binary write an {\ttfamily int} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a18286a792ebf896872f5e26182fc5c7b}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+mesh@{write\+\_\+mesh}}
\index{write\+\_\+mesh@{write\+\_\+mesh}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ bool Open\+Mesh\+::\+I\+O\+::write\+\_\+mesh (
\begin{DoxyParamCaption}
\item[{const {\bf Mesh} \&}]{\+\_\+mesh, }
\item[{const std\+::string \&}]{\+\_\+filename, }
\item[{Options}]{\+\_\+opt = {\ttfamily Options\+:\+:Default}, }
\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6}}
\end{DoxyParamCaption}
)}}\label{a03374_a18286a792ebf896872f5e26182fc5c7b}


Write a mesh to the file \+\_\+filename. 

The file format is determined by \+\_\+filename's extension.

\begin{DoxyNote}{Note}
If you link statically against \hyperlink{a03368}{Open\+Mesh}, you have to add the define O\+M\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+B\+U\+I\+L\+D to your application. This will ensure that readers and writers get initialized correctly.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & The mesh that will be written to file \\
\hline
{\em \+\_\+filename} & output filename \\
\hline
{\em \+\_\+opt} & Writer options (e.\+g. writing of normals ... depends on the writer capabilities) \\
\hline
{\em \+\_\+precision} & specifies stream precision for ascii files\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 199 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_a15d23bba1a9d2439621938f5f3b07f43}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+mesh@{write\+\_\+mesh}}
\index{write\+\_\+mesh@{write\+\_\+mesh}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+mesh}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Mesh $>$ bool Open\+Mesh\+::\+I\+O\+::write\+\_\+mesh (
\begin{DoxyParamCaption}
\item[{const {\bf Mesh} \&}]{\+\_\+mesh, }
\item[{std\+::ostream \&}]{\+\_\+os, }
\item[{const std\+::string \&}]{\+\_\+ext, }
\item[{Options}]{\+\_\+opt = {\ttfamily Options\+:\+:Default}, }
\item[{std\+::streamsize}]{\+\_\+precision = {\ttfamily 6}}
\end{DoxyParamCaption}
)}}\label{a03374_a15d23bba1a9d2439621938f5f3b07f43}
Write a mesh to an open std\+::ostream.

The file format is determined by parameter \+\_\+ext. \+\_\+ext has to include \char`\"{}.\mbox{[}format\mbox{]}\char`\"{} in order to work properly (e.\+g. \char`\"{}.\+O\+F\+F\char`\"{})

\begin{DoxyNote}{Note}
If you link statically against \hyperlink{a03368}{Open\+Mesh}, you have to add the define O\+M\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+B\+U\+I\+L\+D to your application. This will ensure that readers and writers get initialized correctly.
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em \+\_\+mesh} & The mesh that will be written to file \\
\hline
{\em \+\_\+os} & output stream to write into \\
\hline
{\em \+\_\+ext} & extension defining the type of output \\
\hline
{\em \+\_\+opt} & Writer options (e.\+g. writing of normals ... depends on the writer capabilities) \\
\hline
{\em \+\_\+precision} & specifies stream precision for ascii files\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 231 of file Mesh\+I\+O.\+hh.

\hypertarget{a03374_a7001f05c3b1aa725cfbdf306a6e5cdaa}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+short@{write\+\_\+short}}
\index{write\+\_\+short@{write\+\_\+short}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+short}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+short (
\begin{DoxyParamCaption}
\item[{short int}]{\+\_\+i, }
\item[{F\+I\+L\+E $\ast$}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a7001f05c3b1aa725cfbdf306a6e5cdaa}
Binary write a {\ttfamily short} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true \hypertarget{a03374_a0cbd7b5564f09b8474e40c64ccbf69c4}{\index{Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}!write\+\_\+short@{write\+\_\+short}}
\index{write\+\_\+short@{write\+\_\+short}!Open\+Mesh\+::\+I\+O@{Open\+Mesh\+::\+I\+O}}
\subsubsection[{write\+\_\+short}]{\setlength{\rightskip}{0pt plus 5cm}void Open\+Mesh\+::\+I\+O\+::write\+\_\+short (
\begin{DoxyParamCaption}
\item[{short int}]{\+\_\+i, }
\item[{std\+::ostream \&}]{\+\_\+out, }
\item[{bool}]{\+\_\+swap = {\ttfamily false}}
\end{DoxyParamCaption}
)}}\label{a03374_a0cbd7b5564f09b8474e40c64ccbf69c4}
Binary write a {\ttfamily short} to {\ttfamily \+\_\+os} and perform byte swapping if {\ttfamily \+\_\+swap} is true 