\hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter}{}\section{A\+CG\+:\+:Mesh\+Compiler\+:\+:Vertex\+Splitter Struct Reference}
\label{structACG_1_1MeshCompiler_1_1VertexSplitter}\index{A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter@{A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a9dc4ea1bda240f5c0d1d11ffb44d6d3e}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a9dc4ea1bda240f5c0d1d11ffb44d6d3e}} 
{\bfseries Vertex\+Splitter} (int num\+Attribs, int \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_aa6a9645a8a74dd79c9d2608f2162ae46}{num\+Verts}, int num\+Worst\+Case=0, float est\+Buffer\+Increase=0.\+5f)
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_ab2624c9b4f767b8cf002936c570a9178}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_ab2624c9b4f767b8cf002936c570a9178}} 
int \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_ab2624c9b4f767b8cf002936c570a9178}{split} (int $\ast$vertex)
\begin{DoxyCompactList}\small\item\em returns a unique index for a vertex-\/attribute combination \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_aca408534322531c0cc51dfaae9908788}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_aca408534322531c0cc51dfaae9908788}} 
bool \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_aca408534322531c0cc51dfaae9908788}{is\+Isolated} (const int vertex\+Pos\+ID)
\begin{DoxyCompactList}\small\item\em check if vertex is isolated with a complete splitting list \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_aed7cd8207424c10ae4a50bb0f84556ef}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_aed7cd8207424c10ae4a50bb0f84556ef}} 
int {\bfseries get\+Next} (const int id)
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a475d0d87dd04a74d679b6801a456f81d}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a475d0d87dd04a74d679b6801a456f81d}} 
int $\ast$ {\bfseries get\+Attribs} (const int id)
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a5bba935d9f757f7cadfa426749515f59}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a5bba935d9f757f7cadfa426749515f59}} 
void {\bfseries set\+Next} (const int id, const int next)
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_aa3cb7b3d38323cf209034660443ab9fd}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_aa3cb7b3d38323cf209034660443ab9fd}} 
void {\bfseries set\+Attribs} (const int id, int $\ast$attr)
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a672570fa39ec01f943c3a06fd3de639c}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a672570fa39ec01f943c3a06fd3de639c}} 
int {\bfseries num\+Attribs}
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_aa6a9645a8a74dd79c9d2608f2162ae46}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_aa6a9645a8a74dd79c9d2608f2162ae46}} 
int \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_aa6a9645a8a74dd79c9d2608f2162ae46}{num\+Verts}
\begin{DoxyCompactList}\small\item\em number of vertex combinations currently in use \end{DoxyCompactList}\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a71213c32e55b2187f098c2bb36ed9b60}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a71213c32e55b2187f098c2bb36ed9b60}} 
const int \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_a71213c32e55b2187f098c2bb36ed9b60}{num\+Base\+Verts}
\begin{DoxyCompactList}\small\item\em number of input vertex positions \end{DoxyCompactList}\item 
std\+::vector$<$ int $>$ \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_acfbe1049308248bea1ba4680effe8e0d}{splits}
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_af26254e25acdad928b1d59679157b834}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_af26254e25acdad928b1d59679157b834}} 
int {\bfseries dbg\+\_\+num\+Resizes}
\item 
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_a9d8cb36487842248ef5e155db0bd2a7b}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_a9d8cb36487842248ef5e155db0bd2a7b}} 
int {\bfseries dbg\+\_\+num\+Splits}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 889 of file Mesh\+Compiler.\+hh.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{structACG_1_1MeshCompiler_1_1VertexSplitter_acfbe1049308248bea1ba4680effe8e0d}\label{structACG_1_1MeshCompiler_1_1VertexSplitter_acfbe1049308248bea1ba4680effe8e0d}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter@{A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter}!splits@{splits}}
\index{splits@{splits}!A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter@{A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter}}
\subsubsection{\texorpdfstring{splits}{splits}}
{\footnotesize\ttfamily std\+::vector$<$int$>$ A\+C\+G\+::\+Mesh\+Compiler\+::\+Vertex\+Splitter\+::splits}

split list format\+: for each vertex\+: \mbox{[}next split, attribute ids\mbox{]} next split\+: -\/1 -\/$>$ not split yet i -\/$>$ index into split list for next combination with the same vertex position id (single linked list)

attribute ids\+: array of attribute indices into input buffers, that makes up the complete vertex -\/1 -\/$>$ vertex not used yet (relevant for \hyperlink{structACG_1_1MeshCompiler_1_1VertexSplitter_ab2624c9b4f767b8cf002936c570a9178}{split()} only) 

Definition at line 926 of file Mesh\+Compiler.\+hh.



The documentation for this struct was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+G\+L/Mesh\+Compiler.\+hh\item 
Open\+Flipper/libs\+\_\+required/\+A\+C\+G/\+G\+L/Mesh\+Compiler.\+cc\end{DoxyCompactItemize}
