\hypertarget{a00343}{\section{Base\+Skin Class Reference}
\label{a00343}\index{Base\+Skin@{Base\+Skin}}
}


Abstract base class for the skin template, wrapping all template versions of the skin.  




{\ttfamily \#include $<$Object\+Types/\+Skeleton/\+Base\+Skin.\+hh$>$}

Inheritance diagram for Base\+Skin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{a00343}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00490}{Default\+Pose}
\begin{DoxyCompactList}\small\item\em Holds the skins default pose. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{a00343_aa6b6b207875c07b72cc4100e6559aed1}{Method} \{ {\bfseries M\+\_\+\+L\+B\+S} = 0, 
{\bfseries M\+\_\+\+D\+B\+S} = 1
 \}
\begin{DoxyCompactList}\small\item\em Possible deformation methods. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Properties}\par
{\em These structures store mesh properties used to make the mesh a skin. }\begin{DoxyCompactItemize}
\item 
typedef std\+::map$<$ unsigned int, \\*
double $>$ \hyperlink{a00343_ae8ff0f9e0757c448964d01a46f808c81}{Skin\+Weights}
\begin{DoxyCompactList}\small\item\em Stores the joint weights per vertex. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00343_a682a5e7cb85847b67de3983c59d8a12c}{{\bfseries Base\+Skin} (int \+\_\+skeleton\+Id)}\label{a00343_a682a5e7cb85847b67de3983c59d8a12c}

\end{DoxyCompactItemize}
\begin{Indent}{\bf Skinning}\par
{\em These methods are related to using a mesh as skin with this skeleton. }\begin{DoxyCompactItemize}
\item 
\hypertarget{a00343_ae0b6d7f18da432643e3fa367026377dc}{virtual void {\bfseries attach\+Skin} ()=0}\label{a00343_ae0b6d7f18da432643e3fa367026377dc}

\item 
\hypertarget{a00343_adcfb881f19b77cde8adad68245df4f44}{virtual void {\bfseries deform\+Skin} ()=0}\label{a00343_adcfb881f19b77cde8adad68245df4f44}

\item 
\hypertarget{a00343_aecefa65b8eb02fdd69a0889ee50b8e79}{virtual void {\bfseries deform\+Skin} (const \hyperlink{a00286}{Animation\+Handle} \&\+\_\+h\+Ani, \hyperlink{a00343_aa6b6b207875c07b72cc4100e6559aed1}{Method} \+\_\+method=M\+\_\+\+L\+B\+S)=0}\label{a00343_aecefa65b8eb02fdd69a0889ee50b8e79}

\item 
\hypertarget{a00343_a1be2bbac0a980c6eff693b553edfa15a}{virtual void {\bfseries release\+Skin} ()=0}\label{a00343_a1be2bbac0a980c6eff693b553edfa15a}

\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Information about the attached skeleton}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00343_a99e2978a90700616eea666753f744bfb}{int {\bfseries skeleton\+Id} ()}\label{a00343_a99e2978a90700616eea666753f744bfb}

\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00343_a71f5320162bc61bafd6cd04ebf9912ec}{int \hyperlink{a00343_a71f5320162bc61bafd6cd04ebf9912ec}{skeleton\+\_\+}}\label{a00343_a71f5320162bc61bafd6cd04ebf9912ec}

\begin{DoxyCompactList}\small\item\em Holds the associated skeleton. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstract base class for the skin template, wrapping all template versions of the skin. 

Definition at line 67 of file Base\+Skin.\+hh.



\subsection{Member Typedef Documentation}
\hypertarget{a00343_ae8ff0f9e0757c448964d01a46f808c81}{\index{Base\+Skin@{Base\+Skin}!Skin\+Weights@{Skin\+Weights}}
\index{Skin\+Weights@{Skin\+Weights}!Base\+Skin@{Base\+Skin}}
\subsubsection[{Skin\+Weights}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\+::map$<$unsigned int, double$>$ {\bf Base\+Skin\+::\+Skin\+Weights}}}\label{a00343_ae8ff0f9e0757c448964d01a46f808c81}


Stores the joint weights per vertex. 

In general every joint can influence every vertex. In practice only a small number of joints manipulate a vertex. Therefore they are stored in a map using the joint identifier as key. The weights for one vertex are supposed to sum to one. 

Definition at line 99 of file Base\+Skin.\+hh.



\subsection{Member Enumeration Documentation}
\hypertarget{a00343_aa6b6b207875c07b72cc4100e6559aed1}{\index{Base\+Skin@{Base\+Skin}!Method@{Method}}
\index{Method@{Method}!Base\+Skin@{Base\+Skin}}
\subsubsection[{Method}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Base\+Skin\+::\+Method}}}\label{a00343_aa6b6b207875c07b72cc4100e6559aed1}


Possible deformation methods. 

L\+B\+S = Linear Blend Skinning D\+B\+S = Dual Quaternion Blend Skinning 

Definition at line 109 of file Base\+Skin.\+hh.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
Object\+Types/\+Skeleton/Base\+Skin.\+hh\end{DoxyCompactItemize}
