\hypertarget{class_ogre_1_1_skeleton_serializer}{}\section{Ogre\+:\+:Skeleton\+Serializer Class Reference}
\label{class_ogre_1_1_skeleton_serializer}\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}


Class for serialising skeleton data to/from an O\+G\+RE .skeleton file.  




{\ttfamily \#include $<$Ogre\+Skeleton\+Serializer.\+h$>$}



Inheritance diagram for Ogre\+:\+:Skeleton\+Serializer\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=214pt]{class_ogre_1_1_skeleton_serializer__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian} \{ \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}, 
\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a7f044c7683a7374276db6e7060f51240}{E\+N\+D\+I\+A\+N\+\_\+\+B\+IG}, 
\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a10ce3b8f55cba526f6bc8237d8b25cc3}{E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE}
 \}\begin{DoxyCompactList}\small\item\em The endianness of written files. \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_skeleton_serializer_a7f61ab4bc3f409dc5098198a5adc74e2}{Skeleton\+Serializer} ()
\item 
void \hyperlink{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}{export\+Skeleton} (const \hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$p\+Skeleton, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&filename, \hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version} ver=\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}, \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian} endian\+Mode=\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE})
\begin{DoxyCompactList}\small\item\em Exports a skeleton to the file specified. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_skeleton_serializer_a71309e8dece1694d70d250c06422db48}{export\+Skeleton} (const \hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$p\+Skeleton, \hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} stream, \hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version} ver=\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}, \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian} endian\+Mode=\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE})
\begin{DoxyCompactList}\small\item\em Exports a skeleton to the stream specified. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_skeleton_serializer_ac44c49d0a5b668129d7e228a9fb046b8}{import\+Skeleton} (\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&stream, \hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$p\+Dest)
\begin{DoxyCompactList}\small\item\em Imports \hyperlink{class_ogre_1_1_skeleton}{Skeleton} and animation data from a .skeleton file \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for serialising skeleton data to/from an O\+G\+RE .skeleton file. 

\begin{DoxyRemark}{Remarks}
This class allows exporters to write O\+G\+RE .skeleton files easily, and allows the O\+G\+RE engine to import .skeleton files into instantiated O\+G\+RE \hyperlink{class_ogre_1_1_skeleton}{Skeleton} objects. Note that a .skeleton file includes not only the \hyperlink{class_ogre_1_1_skeleton}{Skeleton}, but also definitions of any Animations it uses. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
To export a \hyperlink{class_ogre_1_1_skeleton}{Skeleton}\+:
\begin{DoxyEnumerate}
\item Create a \hyperlink{class_ogre_1_1_skeleton}{Skeleton} object and populate it using it\textquotesingle{}s methods. 
\item Call the export\+Skeleton method 
\end{DoxyEnumerate}
\end{DoxyParagraph}


\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}\label{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}} 
\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!Endian@{Endian}}
\index{Endian@{Endian}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}
\subsubsection{\texorpdfstring{Endian}{Endian}}
{\footnotesize\ttfamily enum \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Ogre\+::\+Serializer\+::\+Endian}\hspace{0.3cm}{\ttfamily [inherited]}}



The endianness of written files. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE@{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE@{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}}}\mbox{\Hypertarget{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}\label{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}} 
E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE&Use the platform native endian. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+N\+D\+I\+A\+N\+\_\+\+B\+IG@{E\+N\+D\+I\+A\+N\+\_\+\+B\+IG}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!E\+N\+D\+I\+A\+N\+\_\+\+B\+IG@{E\+N\+D\+I\+A\+N\+\_\+\+B\+IG}}}\mbox{\Hypertarget{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a7f044c7683a7374276db6e7060f51240}\label{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a7f044c7683a7374276db6e7060f51240}} 
E\+N\+D\+I\+A\+N\+\_\+\+B\+IG&Use big endian (0x1000 is serialised as 0x10 0x00) \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE@{E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE@{E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE}}}\mbox{\Hypertarget{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a10ce3b8f55cba526f6bc8237d8b25cc3}\label{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a10ce3b8f55cba526f6bc8237d8b25cc3}} 
E\+N\+D\+I\+A\+N\+\_\+\+L\+I\+T\+T\+LE&Use little endian (0x1000 is serialised as 0x00 0x10) \\
\hline

\end{DoxyEnumFields}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_skeleton_serializer_a7f61ab4bc3f409dc5098198a5adc74e2}\label{class_ogre_1_1_skeleton_serializer_a7f61ab4bc3f409dc5098198a5adc74e2}} 
\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!Skeleton\+Serializer@{Skeleton\+Serializer}}
\index{Skeleton\+Serializer@{Skeleton\+Serializer}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}
\subsubsection{\texorpdfstring{Skeleton\+Serializer()}{SkeletonSerializer()}}
{\footnotesize\ttfamily Ogre\+::\+Skeleton\+Serializer\+::\+Skeleton\+Serializer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}\label{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}} 
\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!export\+Skeleton@{export\+Skeleton}}
\index{export\+Skeleton@{export\+Skeleton}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}
\subsubsection{\texorpdfstring{export\+Skeleton()}{exportSkeleton()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::export\+Skeleton (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$}]{p\+Skeleton,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{filename,  }\item[{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}}]{ver = {\ttfamily \hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}},  }\item[{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}}]{endian\+Mode = {\ttfamily \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}} }\end{DoxyParamCaption})}



Exports a skeleton to the file specified. 

\begin{DoxyRemark}{Remarks}
This method takes an externally created \hyperlink{class_ogre_1_1_skeleton}{Skeleton} object, and exports both it and animations it uses to a .skeleton file. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em p\+Skeleton} & Weak reference to the \hyperlink{class_ogre_1_1_skeleton}{Skeleton} to export \\
\hline
{\em filename} & The destination filename \\
\hline
{\em endian\+Mode} & The endian mode to write in \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_skeleton_serializer_a71309e8dece1694d70d250c06422db48}\label{class_ogre_1_1_skeleton_serializer_a71309e8dece1694d70d250c06422db48}} 
\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!export\+Skeleton@{export\+Skeleton}}
\index{export\+Skeleton@{export\+Skeleton}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}
\subsubsection{\texorpdfstring{export\+Skeleton()}{exportSkeleton()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::export\+Skeleton (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$}]{p\+Skeleton,  }\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}}]{stream,  }\item[{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}}]{ver = {\ttfamily \hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}},  }\item[{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}}]{endian\+Mode = {\ttfamily \hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}} }\end{DoxyParamCaption})}



Exports a skeleton to the stream specified. 

\begin{DoxyRemark}{Remarks}
This method takes an externally created \hyperlink{class_ogre_1_1_skeleton}{Skeleton} object, and exports both it and animations it uses to a .skeleton file. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em p\+Skeleton} & Weak reference to the \hyperlink{class_ogre_1_1_skeleton}{Skeleton} to export \\
\hline
{\em stream} & The destination stream \\
\hline
{\em endian\+Mode} & The endian mode to write in \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_skeleton_serializer_ac44c49d0a5b668129d7e228a9fb046b8}\label{class_ogre_1_1_skeleton_serializer_ac44c49d0a5b668129d7e228a9fb046b8}} 
\index{Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}!import\+Skeleton@{import\+Skeleton}}
\index{import\+Skeleton@{import\+Skeleton}!Ogre\+::\+Skeleton\+Serializer@{Ogre\+::\+Skeleton\+Serializer}}
\subsubsection{\texorpdfstring{import\+Skeleton()}{importSkeleton()}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::import\+Skeleton (\begin{DoxyParamCaption}\item[{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr} \&}]{stream,  }\item[{\hyperlink{class_ogre_1_1_skeleton}{Skeleton} $\ast$}]{p\+Dest }\end{DoxyParamCaption})}



Imports \hyperlink{class_ogre_1_1_skeleton}{Skeleton} and animation data from a .skeleton file \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream}. 

\begin{DoxyRemark}{Remarks}
This method imports data from a \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} opened from a .skeleton file and places it\textquotesingle{}s contents into the \hyperlink{class_ogre_1_1_skeleton}{Skeleton} object which is passed in. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em stream} & The \hyperlink{class_ogre_1_1_data_stream}{Data\+Stream} holding the .skeleton data. Must be initialised (pos at the start of the buffer). \\
\hline
{\em p\+Dest} & Weak reference to the \hyperlink{class_ogre_1_1_skeleton}{Skeleton} object which will receive the data. Should be blank already. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_skeleton_serializer_8h}{Ogre\+Skeleton\+Serializer.\+h}\end{DoxyCompactItemize}
