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


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}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}} \{ \mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39aed60ca999861d8939cf57f19090c70ef}{E\+N\+D\+I\+A\+N\+\_\+\+N\+A\+T\+I\+VE}}, 
\mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39a7f044c7683a7374276db6e7060f51240}{E\+N\+D\+I\+A\+N\+\_\+\+B\+IG}}, 
\mbox{\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}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_skeleton_serializer_a7f61ab4bc3f409dc5098198a5adc74e2}{Skeleton\+Serializer}} ()
\item 
void \mbox{\hyperlink{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}{export\+Skeleton}} (const \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$p\+Skeleton, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&filename, \mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}} ver=\mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}}, \mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}} endian\+Mode=\mbox{\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 \mbox{\hyperlink{class_ogre_1_1_skeleton_serializer_a71309e8dece1694d70d250c06422db48}{export\+Skeleton}} (const \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$p\+Skeleton, \mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} stream, \mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}} ver=\mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffaa49b1f6d28821c5e03dff7b1334d5a6bd}{S\+K\+E\+L\+E\+T\+O\+N\+\_\+\+V\+E\+R\+S\+I\+O\+N\+\_\+\+L\+A\+T\+E\+ST}}, \mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}} endian\+Mode=\mbox{\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 \mbox{\hyperlink{class_ogre_1_1_skeleton_serializer_ac44c49d0a5b668129d7e228a9fb046b8}{import\+Skeleton}} (\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&stream, \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$p\+Dest)
\begin{DoxyCompactList}\small\item\em Imports \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} and animation data from a .skeleton file \mbox{\hyperlink{class_ogre_1_1_data_stream}{Data\+Stream}}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{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 \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} objects. Note that a .skeleton file includes not only the \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}}, but also definitions of any Animations it uses. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
To export a \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}}\+:
\begin{DoxyEnumerate}
\item Create a \mbox{\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}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}\label{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}} 
\index{Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}!Endian@{Endian}}
\index{Endian@{Endian}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}
\doxysubsubsection{\texorpdfstring{Endian}{Endian}}
{\footnotesize\ttfamily enum \mbox{\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{ENDIAN\_NATIVE@{ENDIAN\_NATIVE}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}\index{Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}!ENDIAN\_NATIVE@{ENDIAN\_NATIVE}}}\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{ENDIAN\_BIG@{ENDIAN\_BIG}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}\index{Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}!ENDIAN\_BIG@{ENDIAN\_BIG}}}\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{ENDIAN\_LITTLE@{ENDIAN\_LITTLE}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}\index{Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}!ENDIAN\_LITTLE@{ENDIAN\_LITTLE}}}\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}


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



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}\label{class_ogre_1_1_skeleton_serializer_ad76c677426465ced21e76d9fa8051901}} 
\index{Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}!exportSkeleton@{exportSkeleton}}
\index{exportSkeleton@{exportSkeleton}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}
\doxysubsubsection{\texorpdfstring{exportSkeleton()}{exportSkeleton()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::export\+Skeleton (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$}]{p\+Skeleton,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{filename,  }\item[{\mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}}}]{ver = {\ttfamily \mbox{\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[{\mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}}}]{endian\+Mode = {\ttfamily \mbox{\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 \mbox{\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 \mbox{\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::SkeletonSerializer@{Ogre::SkeletonSerializer}!exportSkeleton@{exportSkeleton}}
\index{exportSkeleton@{exportSkeleton}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}
\doxysubsubsection{\texorpdfstring{exportSkeleton()}{exportSkeleton()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::export\+Skeleton (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$}]{p\+Skeleton,  }\item[{\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}}}]{stream,  }\item[{\mbox{\hyperlink{namespace_ogre_ada8fa477cd38aab81e40b645c60fdffa}{Skeleton\+Version}}}]{ver = {\ttfamily \mbox{\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[{\mbox{\hyperlink{class_ogre_1_1_serializer_a5122d5a3161fb5fd819d9a0521fe9d39}{Endian}}}]{endian\+Mode = {\ttfamily \mbox{\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 \mbox{\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 \mbox{\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::SkeletonSerializer@{Ogre::SkeletonSerializer}!importSkeleton@{importSkeleton}}
\index{importSkeleton@{importSkeleton}!Ogre::SkeletonSerializer@{Ogre::SkeletonSerializer}}
\doxysubsubsection{\texorpdfstring{importSkeleton()}{importSkeleton()}}
{\footnotesize\ttfamily void Ogre\+::\+Skeleton\+Serializer\+::import\+Skeleton (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&}]{stream,  }\item[{\mbox{\hyperlink{class_ogre_1_1_skeleton}{Skeleton}} $\ast$}]{p\+Dest }\end{DoxyParamCaption})}



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

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

\begin{DoxyParams}{Parameters}
{\em stream} & The \mbox{\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 \mbox{\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 
\mbox{\hyperlink{_ogre_skeleton_serializer_8h}{Ogre\+Skeleton\+Serializer.\+h}}\end{DoxyCompactItemize}
