\hypertarget{classACG_1_1MeshCompilerFaceInput}{}\section{A\+CG\+:\+:Mesh\+Compiler\+Face\+Input Class Reference}
\label{classACG_1_1MeshCompilerFaceInput}\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
Inheritance diagram for A\+CG\+:\+:Mesh\+Compiler\+Face\+Input\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classACG_1_1MeshCompilerFaceInput}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a0ca0c193d01e1198253d9e3bdd9cf743}\label{classACG_1_1MeshCompilerFaceInput_a0ca0c193d01e1198253d9e3bdd9cf743}} 
virtual int {\bfseries get\+Num\+Faces} () const =0
\item 
virtual int \hyperlink{classACG_1_1MeshCompilerFaceInput_a46d97b3dc907594c9a3db5a2c6f75861}{get\+Num\+Indices} () const =0
\item 
virtual int \hyperlink{classACG_1_1MeshCompilerFaceInput_a8ecea4ae3be27075e8d2ab4b54433be5}{get\+Face\+Size} (const int \+\_\+face\+ID) const =0
\item 
virtual int \hyperlink{classACG_1_1MeshCompilerFaceInput_a3157a5d0c73c9561885c7822c7535780}{get\+Single\+Face\+Attr} (const int \+\_\+face\+ID, const int \+\_\+face\+Corner, const int \+\_\+attr\+ID) const
\item 
virtual bool \hyperlink{classACG_1_1MeshCompilerFaceInput_a019fdd5fc6453c11d6aa3b29d42d5087}{get\+Face\+Attr} (const int \+\_\+face\+ID, const int \+\_\+attr\+ID, int $\ast$\+\_\+out) const
\item 
virtual int $\ast$ \hyperlink{classACG_1_1MeshCompilerFaceInput_a447176453b9af7b22f9e9984aed9690c}{get\+Face\+Attr} (const int \+\_\+face\+ID, const int \+\_\+attr\+ID) const
\item 
virtual int \hyperlink{classACG_1_1MeshCompilerFaceInput_a1f1309f17f13d5be38c4918acc87dfb4}{get\+Vertex\+Adj\+Count} (const int \+\_\+vertex\+ID) const
\item 
virtual int \hyperlink{classACG_1_1MeshCompilerFaceInput_ab540d39e2a7e1007863acfca35b239b6}{get\+Vertex\+Adj\+Face} (const int \+\_\+vertex\+ID, const int \+\_\+k) const
\end{DoxyCompactItemize}


\subsection{Detailed Description}


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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a019fdd5fc6453c11d6aa3b29d42d5087}\label{classACG_1_1MeshCompilerFaceInput_a019fdd5fc6453c11d6aa3b29d42d5087}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Face\+Attr@{get\+Face\+Attr}}
\index{get\+Face\+Attr@{get\+Face\+Attr}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Face\+Attr()}{getFaceAttr()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily virtual bool A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Face\+Attr (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+face\+ID,  }\item[{const int}]{\+\_\+attr\+ID,  }\item[{int $\ast$}]{\+\_\+out }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Get an index buffer of a face for a specific attribute channel. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+face\+ID} & face index \\
\hline
{\em \+\_\+attr\+ID} & attribute channel \\
\hline
{\em \+\_\+out} & pointer to output buffer, use get\+Face\+Size(\+\_\+face\+I\+D) to get the size needed to store face data \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if successful, false otherwise 
\end{DoxyReturn}


Reimplemented in \hyperlink{classACG_1_1DrawMeshFaceInput_ae442e20775a4312befc7ab300d139d51}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classACG_1_1MeshCompilerDefaultFaceInput_a6b9f3f6459349c12e77770067a06715d}{A\+C\+G\+::\+Mesh\+Compiler\+Default\+Face\+Input}.



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

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a447176453b9af7b22f9e9984aed9690c}\label{classACG_1_1MeshCompilerFaceInput_a447176453b9af7b22f9e9984aed9690c}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Face\+Attr@{get\+Face\+Attr}}
\index{get\+Face\+Attr@{get\+Face\+Attr}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Face\+Attr()}{getFaceAttr()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual int$\ast$ A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Face\+Attr (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+face\+ID,  }\item[{const int}]{\+\_\+attr\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Get an index buffer of a face for a specific attribute channel. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+face\+ID} & face index \\
\hline
{\em \+\_\+attr\+ID} & attribute channel \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
array data of size \char`\"{}get\+Face\+Size(\+\_\+face\+I\+D)\char`\"{}, allowed to return 0 when array data not permanently available in memory 
\end{DoxyReturn}


Reimplemented in \hyperlink{classACG_1_1DrawMeshFaceInput_a8680ebb7f00fd9be443bd6864078001c}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}.



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

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a8ecea4ae3be27075e8d2ab4b54433be5}\label{classACG_1_1MeshCompilerFaceInput_a8ecea4ae3be27075e8d2ab4b54433be5}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Face\+Size@{get\+Face\+Size}}
\index{get\+Face\+Size@{get\+Face\+Size}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Face\+Size()}{getFaceSize()}}
{\footnotesize\ttfamily virtual int A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Face\+Size (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+face\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

Get number of vertices per face. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+face\+ID} & face index \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classACG_1_1DrawMeshFaceInput_af8b374e6d4d352b1653de002bc4772fd}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classACG_1_1MeshCompilerDefaultFaceInput_ab3c43b66e7657730a449dd0ac03f9f4f}{A\+C\+G\+::\+Mesh\+Compiler\+Default\+Face\+Input}.

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a46d97b3dc907594c9a3db5a2c6f75861}\label{classACG_1_1MeshCompilerFaceInput_a46d97b3dc907594c9a3db5a2c6f75861}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Num\+Indices@{get\+Num\+Indices}}
\index{get\+Num\+Indices@{get\+Num\+Indices}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Num\+Indices()}{getNumIndices()}}
{\footnotesize\ttfamily virtual int A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Num\+Indices (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

Get total number of indices in one attribute channel.

i.\+e. total number of position indices of the whole mesh 

Implemented in \hyperlink{classACG_1_1DrawMeshFaceInput_a22cf9dd0b1b65d6e3fbdc0a22e7b158a}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classACG_1_1MeshCompilerDefaultFaceInput_af690b7319ea70d4a4bc1e8d1b1e63252}{A\+C\+G\+::\+Mesh\+Compiler\+Default\+Face\+Input}.

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a3157a5d0c73c9561885c7822c7535780}\label{classACG_1_1MeshCompilerFaceInput_a3157a5d0c73c9561885c7822c7535780}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Single\+Face\+Attr@{get\+Single\+Face\+Attr}}
\index{get\+Single\+Face\+Attr@{get\+Single\+Face\+Attr}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Single\+Face\+Attr()}{getSingleFaceAttr()}}
{\footnotesize\ttfamily int A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Single\+Face\+Attr (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+face\+ID,  }\item[{const int}]{\+\_\+face\+Corner,  }\item[{const int}]{\+\_\+attr\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Get a single vertex-\/index entry of a face.


\begin{DoxyParams}{Parameters}
{\em \+\_\+face\+ID} & face index \\
\hline
{\em \+\_\+face\+Corner} & vertex corner of the face \\
\hline
{\em \+\_\+attr\+ID} & attribute channel \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
index-\/data if successful, -\/1 otherwise 
\end{DoxyReturn}


Reimplemented in \hyperlink{classACG_1_1DrawMeshFaceInput_a2026a199b2fa02082c89a133fb930a1a}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classACG_1_1MeshCompilerDefaultFaceInput_a7c780bb8ebf6d8be197873a77713f843}{A\+C\+G\+::\+Mesh\+Compiler\+Default\+Face\+Input}.



Definition at line 4188 of file Mesh\+Compiler.\+cc.

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_a1f1309f17f13d5be38c4918acc87dfb4}\label{classACG_1_1MeshCompilerFaceInput_a1f1309f17f13d5be38c4918acc87dfb4}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Vertex\+Adj\+Count@{get\+Vertex\+Adj\+Count}}
\index{get\+Vertex\+Adj\+Count@{get\+Vertex\+Adj\+Count}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Vertex\+Adj\+Count()}{getVertexAdjCount()}}
{\footnotesize\ttfamily virtual int A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Vertex\+Adj\+Count (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+vertex\+ID }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Get the number of adjacent faces for a vertex. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+vertex\+ID} & vertex index \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
number of adjacent faces, return -\/1 if adjacency information unavailable 
\end{DoxyReturn}


Reimplemented in \hyperlink{classACG_1_1DrawMeshFaceInput_ae10264a07e857285bfdf33e0b1e4a463}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classSBFReader_aa2d60bed1ff3aa408e82ca07da5343a3}{S\+B\+F\+Reader}.



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

\mbox{\Hypertarget{classACG_1_1MeshCompilerFaceInput_ab540d39e2a7e1007863acfca35b239b6}\label{classACG_1_1MeshCompilerFaceInput_ab540d39e2a7e1007863acfca35b239b6}} 
\index{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}!get\+Vertex\+Adj\+Face@{get\+Vertex\+Adj\+Face}}
\index{get\+Vertex\+Adj\+Face@{get\+Vertex\+Adj\+Face}!A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input@{A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input}}
\subsubsection{\texorpdfstring{get\+Vertex\+Adj\+Face()}{getVertexAdjFace()}}
{\footnotesize\ttfamily virtual int A\+C\+G\+::\+Mesh\+Compiler\+Face\+Input\+::get\+Vertex\+Adj\+Face (\begin{DoxyParamCaption}\item[{const int}]{\+\_\+vertex\+ID,  }\item[{const int}]{\+\_\+k }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

Get the index of an adjacent face for a vertex. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+vertex\+ID} & vertex index \\
\hline
{\em \+\_\+k} & adjacency list entry in range \mbox{[}0, .., adj\+Count -\/ 1\mbox{]} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
face id of adjacent face, return -\/1 if adjacency information is available 
\end{DoxyReturn}


Reimplemented in \hyperlink{classACG_1_1DrawMeshFaceInput_a71eb1b4c919cd7a079372aa3a9f8b114}{A\+C\+G\+::\+Draw\+Mesh\+Face\+Input$<$ Mesh $>$}, and \hyperlink{classSBFReader_aae20417f995c30fcb35b8fbe95e9e8dd}{S\+B\+F\+Reader}.



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



The documentation for this class 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}
