\hypertarget{class_ogre_1_1_vertex_buffer_binding}{}\section{Ogre\+:\+:Vertex\+Buffer\+Binding Class Reference}
\label{class_ogre_1_1_vertex_buffer_binding}\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}


Records the state of all the vertex buffer bindings required to provide a vertex declaration with the input data it needs for the vertex elements.  




{\ttfamily \#include $<$Ogre\+Hardware\+Vertex\+Buffer.\+h$>$}



Inheritance diagram for Ogre\+:\+:Vertex\+Buffer\+Binding\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=223pt]{class_ogre_1_1_vertex_buffer_binding__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::map$<$ \hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}, \hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort} $>$ \hyperlink{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}{Binding\+Index\+Map}
\item 
typedef std\+::map$<$ unsigned short, \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr} $>$ \hyperlink{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}{Vertex\+Buffer\+Binding\+Map}
\begin{DoxyCompactList}\small\item\em Defines the vertex buffer bindings used as source for vertex declarations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_vertex_buffer_binding_abf27d19152cc8eabf43d559d33742442}{Vertex\+Buffer\+Binding} ()
\begin{DoxyCompactList}\small\item\em Constructor, should not be called direct, use \hyperlink{class_ogre_1_1_hardware_buffer_manager_base_acbde393716ec1057024cdff4d3282913}{Hardware\+Buffer\+Manager\+::create\+Vertex\+Buffer\+Binding}. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_vertex_buffer_binding_a777c7c59b88d930de9df626fa4106565}{$\sim$\+Vertex\+Buffer\+Binding} ()
\item 
void \hyperlink{class_ogre_1_1_vertex_buffer_binding_a450a4c1d19869be98a483a6a44358de2}{close\+Gaps} (\hyperlink{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}{Binding\+Index\+Map} \&binding\+Index\+Map)
\begin{DoxyCompactList}\small\item\em Remove any gaps in the bindings. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}{Vertex\+Buffer\+Binding\+Map} \& \hyperlink{class_ogre_1_1_vertex_buffer_binding_a5d396115ea5cd9b69bfbac70643abdd5}{get\+Bindings} (void) const
\begin{DoxyCompactList}\small\item\em Gets a read-\/only version of the buffer bindings. \end{DoxyCompactList}\item 
const \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr} \& \hyperlink{class_ogre_1_1_vertex_buffer_binding_a41f6fb2d36339fcc9e793fb36869765a}{get\+Buffer} (unsigned short index) const
\begin{DoxyCompactList}\small\item\em Gets the buffer bound to the given source index. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_vertex_buffer_binding_ad8ba42a940a6a6ab02280dcdb4a620df}{get\+Buffer\+Count} (void) const
\item 
unsigned short \hyperlink{class_ogre_1_1_vertex_buffer_binding_a12223ca9dbf611d865f991011d73c8dd}{get\+Last\+Bound\+Index} (void) const
\begin{DoxyCompactList}\small\item\em Gets the last bound index. \end{DoxyCompactList}\item 
unsigned short \hyperlink{class_ogre_1_1_vertex_buffer_binding_a5ea847722985a52b7804f2601e42b39a}{get\+Next\+Index} (void) const
\begin{DoxyCompactList}\small\item\em Gets the highest index which has already been set, plus 1. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vertex_buffer_binding_a206357827ef18fde88eb7b58ec1f8a1c}{has\+Gaps} (void) const
\begin{DoxyCompactList}\small\item\em Check whether any gaps in the bindings. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vertex_buffer_binding_aff604af79bdc57fb6b3bb049dbeeb526}{has\+Instance\+Data} () const
\begin{DoxyCompactList}\small\item\em Returns true if this binding has an element that contains instance data. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_vertex_buffer_binding_aba3523f6513091c5390d4500d69be4bc}{is\+Buffer\+Bound} (unsigned short index) const
\begin{DoxyCompactList}\small\item\em Gets whether a buffer is bound to the given source index. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_vertex_buffer_binding_ae992dcf47b063f02f47cc302f9839de9}{set\+Binding} (unsigned short index, const \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr} \&buffer)
\begin{DoxyCompactList}\small\item\em Set a binding, associating a vertex buffer with a given index. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_vertex_buffer_binding_acb22efe492f0cdc9462f599518aecae8}{unset\+All\+Bindings} (void)
\begin{DoxyCompactList}\small\item\em Removes all the bindings. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_vertex_buffer_binding_a61e7392b368dd00a2b7dc20ecbf868f1}{unset\+Binding} (unsigned short index)
\begin{DoxyCompactList}\small\item\em Removes an existing binding. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Records the state of all the vertex buffer bindings required to provide a vertex declaration with the input data it needs for the vertex elements. 

\begin{DoxyRemark}{Remarks}
Why do we have this binding list rather than just have \hyperlink{class_ogre_1_1_vertex_element}{Vertex\+Element} referring to the vertex buffers direct? Well, in the underlying A\+P\+Is, binding the vertex buffers to an index (or \textquotesingle{}stream\textquotesingle{}) is the way that vertex data is linked, so this structure better reflects the realities of that. In addition, by separating the vertex declaration from the list of vertex buffer bindings, it becomes possible to reuse bindings between declarations and vice versa, giving opportunities to reduce the state changes required to perform rendering. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Like the other classes in this functional area, these binding maps should be created and destroyed using the \hyperlink{class_ogre_1_1_hardware_buffer_manager}{Hardware\+Buffer\+Manager}. 
\end{DoxyParagraph}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}\label{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!Vertex\+Buffer\+Binding\+Map@{Vertex\+Buffer\+Binding\+Map}}
\index{Vertex\+Buffer\+Binding\+Map@{Vertex\+Buffer\+Binding\+Map}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{Vertex\+Buffer\+Binding\+Map}{VertexBufferBindingMap}}
{\footnotesize\ttfamily typedef std\+::map$<$unsigned short, \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr}$>$ \hyperlink{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}{Ogre\+::\+Vertex\+Buffer\+Binding\+::\+Vertex\+Buffer\+Binding\+Map}}



Defines the vertex buffer bindings used as source for vertex declarations. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}\label{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!Binding\+Index\+Map@{Binding\+Index\+Map}}
\index{Binding\+Index\+Map@{Binding\+Index\+Map}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{Binding\+Index\+Map}{BindingIndexMap}}
{\footnotesize\ttfamily typedef std\+::map$<$\hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}, \hyperlink{namespace_ogre_af851e71354d841df7138f9877c6f5931}{ushort}$>$ \hyperlink{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}{Ogre\+::\+Vertex\+Buffer\+Binding\+::\+Binding\+Index\+Map}}



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_abf27d19152cc8eabf43d559d33742442}\label{class_ogre_1_1_vertex_buffer_binding_abf27d19152cc8eabf43d559d33742442}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!Vertex\+Buffer\+Binding@{Vertex\+Buffer\+Binding}}
\index{Vertex\+Buffer\+Binding@{Vertex\+Buffer\+Binding}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{Vertex\+Buffer\+Binding()}{VertexBufferBinding()}}
{\footnotesize\ttfamily Ogre\+::\+Vertex\+Buffer\+Binding\+::\+Vertex\+Buffer\+Binding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Constructor, should not be called direct, use \hyperlink{class_ogre_1_1_hardware_buffer_manager_base_acbde393716ec1057024cdff4d3282913}{Hardware\+Buffer\+Manager\+::create\+Vertex\+Buffer\+Binding}. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a777c7c59b88d930de9df626fa4106565}\label{class_ogre_1_1_vertex_buffer_binding_a777c7c59b88d930de9df626fa4106565}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!````~Vertex\+Buffer\+Binding@{$\sim$\+Vertex\+Buffer\+Binding}}
\index{````~Vertex\+Buffer\+Binding@{$\sim$\+Vertex\+Buffer\+Binding}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{$\sim$\+Vertex\+Buffer\+Binding()}{~VertexBufferBinding()}}
{\footnotesize\ttfamily Ogre\+::\+Vertex\+Buffer\+Binding\+::$\sim$\+Vertex\+Buffer\+Binding (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_ae992dcf47b063f02f47cc302f9839de9}\label{class_ogre_1_1_vertex_buffer_binding_ae992dcf47b063f02f47cc302f9839de9}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!set\+Binding@{set\+Binding}}
\index{set\+Binding@{set\+Binding}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{set\+Binding()}{setBinding()}}
{\footnotesize\ttfamily void Ogre\+::\+Vertex\+Buffer\+Binding\+::set\+Binding (\begin{DoxyParamCaption}\item[{unsigned short}]{index,  }\item[{const \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr} \&}]{buffer }\end{DoxyParamCaption})}



Set a binding, associating a vertex buffer with a given index. 

\begin{DoxyRemark}{Remarks}
If the index is already associated with a vertex buffer, the association will be replaced. This may cause the old buffer to be destroyed if nothing else is referring to it. You should assign bindings from 0 and not leave gaps, although you can bind them in any order. 
\end{DoxyRemark}


Referenced by Ogre\+::\+Lod0\+Stripifier\+::$\sim$\+Lod0\+Stripifier().

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a61e7392b368dd00a2b7dc20ecbf868f1}\label{class_ogre_1_1_vertex_buffer_binding_a61e7392b368dd00a2b7dc20ecbf868f1}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!unset\+Binding@{unset\+Binding}}
\index{unset\+Binding@{unset\+Binding}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{unset\+Binding()}{unsetBinding()}}
{\footnotesize\ttfamily void Ogre\+::\+Vertex\+Buffer\+Binding\+::unset\+Binding (\begin{DoxyParamCaption}\item[{unsigned short}]{index }\end{DoxyParamCaption})}



Removes an existing binding. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_acb22efe492f0cdc9462f599518aecae8}\label{class_ogre_1_1_vertex_buffer_binding_acb22efe492f0cdc9462f599518aecae8}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!unset\+All\+Bindings@{unset\+All\+Bindings}}
\index{unset\+All\+Bindings@{unset\+All\+Bindings}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{unset\+All\+Bindings()}{unsetAllBindings()}}
{\footnotesize\ttfamily void Ogre\+::\+Vertex\+Buffer\+Binding\+::unset\+All\+Bindings (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Removes all the bindings. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a5d396115ea5cd9b69bfbac70643abdd5}\label{class_ogre_1_1_vertex_buffer_binding_a5d396115ea5cd9b69bfbac70643abdd5}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!get\+Bindings@{get\+Bindings}}
\index{get\+Bindings@{get\+Bindings}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{get\+Bindings()}{getBindings()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vertex_buffer_binding_a01d32b8a3d649db0e78db170ed228937}{Vertex\+Buffer\+Binding\+Map}\& Ogre\+::\+Vertex\+Buffer\+Binding\+::get\+Bindings (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Gets a read-\/only version of the buffer bindings. 



Referenced by Ogre\+::\+Lod0\+Stripifier\+::$\sim$\+Lod0\+Stripifier().

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a41f6fb2d36339fcc9e793fb36869765a}\label{class_ogre_1_1_vertex_buffer_binding_a41f6fb2d36339fcc9e793fb36869765a}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!get\+Buffer@{get\+Buffer}}
\index{get\+Buffer@{get\+Buffer}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{get\+Buffer()}{getBuffer()}}
{\footnotesize\ttfamily const \hyperlink{namespace_ogre_a05ef9b65d4ed446b994636e371bf5aab}{Hardware\+Vertex\+Buffer\+Shared\+Ptr}\& Ogre\+::\+Vertex\+Buffer\+Binding\+::get\+Buffer (\begin{DoxyParamCaption}\item[{unsigned short}]{index }\end{DoxyParamCaption}) const}



Gets the buffer bound to the given source index. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_aba3523f6513091c5390d4500d69be4bc}\label{class_ogre_1_1_vertex_buffer_binding_aba3523f6513091c5390d4500d69be4bc}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!is\+Buffer\+Bound@{is\+Buffer\+Bound}}
\index{is\+Buffer\+Bound@{is\+Buffer\+Bound}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{is\+Buffer\+Bound()}{isBufferBound()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vertex\+Buffer\+Binding\+::is\+Buffer\+Bound (\begin{DoxyParamCaption}\item[{unsigned short}]{index }\end{DoxyParamCaption}) const}



Gets whether a buffer is bound to the given source index. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_ad8ba42a940a6a6ab02280dcdb4a620df}\label{class_ogre_1_1_vertex_buffer_binding_ad8ba42a940a6a6ab02280dcdb4a620df}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!get\+Buffer\+Count@{get\+Buffer\+Count}}
\index{get\+Buffer\+Count@{get\+Buffer\+Count}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{get\+Buffer\+Count()}{getBufferCount()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Vertex\+Buffer\+Binding\+::get\+Buffer\+Count (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a5ea847722985a52b7804f2601e42b39a}\label{class_ogre_1_1_vertex_buffer_binding_a5ea847722985a52b7804f2601e42b39a}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!get\+Next\+Index@{get\+Next\+Index}}
\index{get\+Next\+Index@{get\+Next\+Index}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{get\+Next\+Index()}{getNextIndex()}}
{\footnotesize\ttfamily unsigned short Ogre\+::\+Vertex\+Buffer\+Binding\+::get\+Next\+Index (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Gets the highest index which has already been set, plus 1. 

\begin{DoxyRemark}{Remarks}
This is to assist in binding the vertex buffers such that there are not gaps in the list. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a12223ca9dbf611d865f991011d73c8dd}\label{class_ogre_1_1_vertex_buffer_binding_a12223ca9dbf611d865f991011d73c8dd}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!get\+Last\+Bound\+Index@{get\+Last\+Bound\+Index}}
\index{get\+Last\+Bound\+Index@{get\+Last\+Bound\+Index}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{get\+Last\+Bound\+Index()}{getLastBoundIndex()}}
{\footnotesize\ttfamily unsigned short Ogre\+::\+Vertex\+Buffer\+Binding\+::get\+Last\+Bound\+Index (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Gets the last bound index. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a206357827ef18fde88eb7b58ec1f8a1c}\label{class_ogre_1_1_vertex_buffer_binding_a206357827ef18fde88eb7b58ec1f8a1c}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!has\+Gaps@{has\+Gaps}}
\index{has\+Gaps@{has\+Gaps}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{has\+Gaps()}{hasGaps()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vertex\+Buffer\+Binding\+::has\+Gaps (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Check whether any gaps in the bindings. 

\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_a450a4c1d19869be98a483a6a44358de2}\label{class_ogre_1_1_vertex_buffer_binding_a450a4c1d19869be98a483a6a44358de2}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!close\+Gaps@{close\+Gaps}}
\index{close\+Gaps@{close\+Gaps}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{close\+Gaps()}{closeGaps()}}
{\footnotesize\ttfamily void Ogre\+::\+Vertex\+Buffer\+Binding\+::close\+Gaps (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_vertex_buffer_binding_ae409d65d1d1e9fc54e46e0357f392db2}{Binding\+Index\+Map} \&}]{binding\+Index\+Map }\end{DoxyParamCaption})}



Remove any gaps in the bindings. 

\begin{DoxyRemark}{Remarks}
This is useful if you\textquotesingle{}ve removed vertex buffer from this vertex buffer bindings and want to remove any gaps in the bindings. Note, however, that if this bindings is already being used with a \hyperlink{class_ogre_1_1_vertex_declaration}{Vertex\+Declaration}, you will need to alter that too. This method is mainly useful when reorganising buffers manually. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em binding\+Index\+Map} & To be retrieve the binding index map that used to translation old index to new index; will be cleared by this method before fill-\/in. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_vertex_buffer_binding_aff604af79bdc57fb6b3bb049dbeeb526}\label{class_ogre_1_1_vertex_buffer_binding_aff604af79bdc57fb6b3bb049dbeeb526}} 
\index{Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}!has\+Instance\+Data@{has\+Instance\+Data}}
\index{has\+Instance\+Data@{has\+Instance\+Data}!Ogre\+::\+Vertex\+Buffer\+Binding@{Ogre\+::\+Vertex\+Buffer\+Binding}}
\subsubsection{\texorpdfstring{has\+Instance\+Data()}{hasInstanceData()}}
{\footnotesize\ttfamily bool Ogre\+::\+Vertex\+Buffer\+Binding\+::has\+Instance\+Data (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Returns true if this binding has an element that contains instance data. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_hardware_vertex_buffer_8h}{Ogre\+Hardware\+Vertex\+Buffer.\+h}\end{DoxyCompactItemize}
