\hypertarget{classOBJImporter}{}\section{O\+B\+J\+Importer Class Reference}
\label{classOBJImporter}\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOBJImporter_af74408e8d6b6369b65ad2726c1ac986c}\label{classOBJImporter_af74408e8d6b6369b65ad2726c1ac986c}} 
enum {\bfseries Object\+OptionsE} \{ \newline
{\bfseries N\+O\+NE} = 0, 
{\bfseries T\+R\+I\+M\+E\+SH} = 1, 
{\bfseries P\+O\+L\+Y\+M\+E\+SH} = 1 $<$$<$ 1, 
{\bfseries C\+U\+R\+VE} = 1 $<$$<$ 2, 
\newline
{\bfseries S\+U\+R\+F\+A\+CE} = 1 $<$$<$ 3, 
{\bfseries N\+O\+R\+M\+A\+LS} = 1 $<$$<$ 4, 
{\bfseries T\+E\+X\+C\+O\+O\+R\+DS} = 1 $<$$<$ 5, 
{\bfseries F\+A\+C\+E\+C\+O\+L\+OR} = 1 $<$$<$ 6, 
\newline
{\bfseries T\+E\+X\+T\+U\+RE} = 1 $<$$<$ 7, 
{\bfseries F\+O\+R\+C\+E\+\_\+\+N\+O\+C\+O\+L\+OR} = 1 $<$$<$ 8, 
{\bfseries F\+O\+R\+C\+E\+\_\+\+N\+O\+N\+O\+R\+M\+A\+LS} = 1 $<$$<$ 9, 
{\bfseries F\+O\+R\+C\+E\+\_\+\+N\+O\+T\+E\+X\+T\+U\+R\+ES} = 1 $<$$<$ 10
 \}
\item 
\mbox{\Hypertarget{classOBJImporter_a03a7a4997945427d291c285963600675}\label{classOBJImporter_a03a7a4997945427d291c285963600675}} 
typedef unsigned int {\bfseries Object\+Options}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOBJImporter_a6cbfd357344602822495838c3f374bbc}\label{classOBJImporter_a6cbfd357344602822495838c3f374bbc}} 
\hyperlink{classOBJImporter_a6cbfd357344602822495838c3f374bbc}{O\+B\+J\+Importer} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_afd8f25e87fb61263a00a72976a7090f8}\label{classOBJImporter_afd8f25e87fb61263a00a72976a7090f8}} 
\hyperlink{classOBJImporter_afd8f25e87fb61263a00a72976a7090f8}{$\sim$\+O\+B\+J\+Importer} ()
\begin{DoxyCompactList}\small\item\em base class needs virtual destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a943473992eb762ea66d72ac775e49796}\label{classOBJImporter_a943473992eb762ea66d72ac775e49796}} 
Vertex\+Handle \hyperlink{classOBJImporter_a943473992eb762ea66d72ac775e49796}{add\+Vertex} (const \hyperlink{classOpenMesh_1_1VectorT}{Vec3f} \&\+\_\+point)
\begin{DoxyCompactList}\small\item\em add a vertex with coordinate {\ttfamily \+\_\+point} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a14529f42d39cc7a0fca5122715d3ca37}\label{classOBJImporter_a14529f42d39cc7a0fca5122715d3ca37}} 
\hyperlink{classOpenMesh_1_1VectorT}{Vec3f} \hyperlink{classOBJImporter_a14529f42d39cc7a0fca5122715d3ca37}{vertex} (unsigned int \+\_\+index)
\begin{DoxyCompactList}\small\item\em get vertex with given index \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a4d173c49f954d1aca73891db3e869bc8}\label{classOBJImporter_a4d173c49f954d1aca73891db3e869bc8}} 
int \hyperlink{classOBJImporter_a4d173c49f954d1aca73891db3e869bc8}{add\+Tex\+Coord} (const \hyperlink{classOpenMesh_1_1VectorT}{Vec2f} \&\+\_\+coord)
\begin{DoxyCompactList}\small\item\em add texture coordinates \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_ab66d94bdfed7cee5a08455ac334b8275}\label{classOBJImporter_ab66d94bdfed7cee5a08455ac334b8275}} 
int \hyperlink{classOBJImporter_ab66d94bdfed7cee5a08455ac334b8275}{add\+Normal} (const \hyperlink{classOpenMesh_1_1VectorT}{Vec3f} \&\+\_\+normal)
\begin{DoxyCompactList}\small\item\em add a normal \end{DoxyCompactList}\item 
void \hyperlink{classOBJImporter_a6c8d8c6eb02e12c0392b3903969c348a}{set\+DegreeU} (int \+\_\+degree)
\begin{DoxyCompactList}\small\item\em set degree \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a25639eb351c22db0cd4ad9d1c6efdde8}\label{classOBJImporter_a25639eb351c22db0cd4ad9d1c6efdde8}} 
void \hyperlink{classOBJImporter_a25639eb351c22db0cd4ad9d1c6efdde8}{set\+DegreeV} (int \+\_\+degree)
\begin{DoxyCompactList}\small\item\em set degree V direction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a62afc433dcbebadb7ba73d6abff87d20}\label{classOBJImporter_a62afc433dcbebadb7ba73d6abff87d20}} 
int \hyperlink{classOBJImporter_a62afc433dcbebadb7ba73d6abff87d20}{degreeU} ()
\begin{DoxyCompactList}\small\item\em get current degree \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_ac07a34410217e407a836a80173ee9f7d}\label{classOBJImporter_ac07a34410217e407a836a80173ee9f7d}} 
int \hyperlink{classOBJImporter_ac07a34410217e407a836a80173ee9f7d}{degreeV} ()
\begin{DoxyCompactList}\small\item\em get current degree \end{DoxyCompactList}\item 
void \hyperlink{classOBJImporter_a97798ede44bd2c4dbbcbe29bb907e0d7}{set\+Object} (\hyperlink{classBaseObject}{Base\+Object} $\ast$\+\_\+object, int \+\_\+group\+Id)
\begin{DoxyCompactList}\small\item\em add an object \end{DoxyCompactList}\item 
int \hyperlink{classOBJImporter_ad0777161d0fdcefc93301b8732df5984}{current\+Group} ()
\begin{DoxyCompactList}\small\item\em Get the id of the current group. \end{DoxyCompactList}\item 
\hyperlink{classOpenMesh_1_1PolyMesh__ArrayKernelT}{Poly\+Mesh} $\ast$ \hyperlink{classOBJImporter_ad81b983e495432cefdb42c8f7cacefb0}{current\+Poly\+Mesh} ()
\begin{DoxyCompactList}\small\item\em get a pointer to the active poly\+Mesh \end{DoxyCompactList}\item 
\hyperlink{classOpenMesh_1_1TriMesh__ArrayKernelT}{Tri\+Mesh} $\ast$ \hyperlink{classOBJImporter_a921cc6000bd5251d6a3a06696c0088b1}{current\+Tri\+Mesh} ()
\begin{DoxyCompactList}\small\item\em get a pointer to the active tri\+Mesh \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a419a0eeb4454a3d727a04f16e1a12a17}\label{classOBJImporter_a419a0eeb4454a3d727a04f16e1a12a17}} 
void \hyperlink{classOBJImporter_a419a0eeb4454a3d727a04f16e1a12a17}{add\+Used\+Vertices} (int \+\_\+group\+Id)
\begin{DoxyCompactList}\small\item\em add all vertices that are used to the mesh (in correct order) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a28cbe2bae10b377e95bc88834c9c89d8}\label{classOBJImporter_a28cbe2bae10b377e95bc88834c9c89d8}} 
void \hyperlink{classOBJImporter_a28cbe2bae10b377e95bc88834c9c89d8}{set\+Vertex\+Tex\+Coord} (Vertex\+Handle \+\_\+vh, int \+\_\+tex\+Coord\+ID)
\begin{DoxyCompactList}\small\item\em set vertex texture coordinate \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a82fa561f30f8794a2ae8c11661784178}\label{classOBJImporter_a82fa561f30f8794a2ae8c11661784178}} 
void \hyperlink{classOBJImporter_a82fa561f30f8794a2ae8c11661784178}{set\+Normal} (int \+\_\+index, int \+\_\+normal\+ID)
\begin{DoxyCompactList}\small\item\em set vertex normal \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a4c7e0428199ca18e5dc24e2c93064d9b}\label{classOBJImporter_a4c7e0428199ca18e5dc24e2c93064d9b}} 
void \hyperlink{classOBJImporter_a4c7e0428199ca18e5dc24e2c93064d9b}{add\+Face} (const V\+Handles \&\+\_\+indices)
\begin{DoxyCompactList}\small\item\em add a face with indices \+\_\+indices refering to vertices \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_aea22046862261362256c58ebf52275dc}\label{classOBJImporter_aea22046862261362256c58ebf52275dc}} 
void \hyperlink{classOBJImporter_aea22046862261362256c58ebf52275dc}{add\+Face} (const V\+Handles \&\+\_\+indices, const std\+::vector$<$ int $>$ \&\+\_\+face\+\_\+texcoords)
\begin{DoxyCompactList}\small\item\em add face and texture coordinates \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a7ad77b437f35016393a60fb399097485}\label{classOBJImporter_a7ad77b437f35016393a60fb399097485}} 
void \hyperlink{classOBJImporter_a7ad77b437f35016393a60fb399097485}{force\+Mesh\+Type} (Object\+Options \+\_\+mesh\+Type)
\begin{DoxyCompactList}\small\item\em force all meshes to be opened with specific type \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_acf2444def4fff9fe506e0e55e453e6a3}\label{classOBJImporter_acf2444def4fff9fe506e0e55e453e6a3}} 
bool \hyperlink{classOBJImporter_acf2444def4fff9fe506e0e55e453e6a3}{has\+Normals} (int \+\_\+object\+ID)
\begin{DoxyCompactList}\small\item\em Query Object Options. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a8ce74966feead77ed3a502ce4c22420b}\label{classOBJImporter_a8ce74966feead77ed3a502ce4c22420b}} 
bool {\bfseries has\+Texture} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_ab50a2d4856f1979f59ec9dff52473a6c}\label{classOBJImporter_ab50a2d4856f1979f59ec9dff52473a6c}} 
bool {\bfseries has\+Texture\+Coords} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_a963e9c7a4b48c7fc901b213796271049}\label{classOBJImporter_a963e9c7a4b48c7fc901b213796271049}} 
bool {\bfseries is\+Triangle\+Mesh} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_a246af028df45694ab0a311afcb1ff578}\label{classOBJImporter_a246af028df45694ab0a311afcb1ff578}} 
bool {\bfseries is\+Poly\+Mesh} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_a59b26b2c075c6357787f7e3deda95ac6}\label{classOBJImporter_a59b26b2c075c6357787f7e3deda95ac6}} 
bool {\bfseries is\+Curve} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_ae2e144aafb7ea126e1a04595d633c770}\label{classOBJImporter_ae2e144aafb7ea126e1a04595d633c770}} 
bool {\bfseries is\+Surface} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_aa76a2091761d86ef8c277ecb3cd80ee8}\label{classOBJImporter_aa76a2091761d86ef8c277ecb3cd80ee8}} 
bool {\bfseries is\+None} (int \+\_\+object\+ID)
\item 
\mbox{\Hypertarget{classOBJImporter_a951b91448920f26e41ea766e96966ca8}\label{classOBJImporter_a951b91448920f26e41ea766e96966ca8}} 
void \hyperlink{classOBJImporter_a951b91448920f26e41ea766e96966ca8}{set\+Option} (Object\+OptionsE \+\_\+option)
\begin{DoxyCompactList}\small\item\em Set Object \hyperlink{structOption}{Option}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a3718f229a10b70f9b7da67f4ad3317af}\label{classOBJImporter_a3718f229a10b70f9b7da67f4ad3317af}} 
void \hyperlink{classOBJImporter_a3718f229a10b70f9b7da67f4ad3317af}{set\+Option} (Object\+OptionsE \+\_\+option, int \+\_\+group\+Id)
\begin{DoxyCompactList}\small\item\em Set Object \hyperlink{structOption}{Option}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a33de7f7f220a4f8efb17956587261112}\label{classOBJImporter_a33de7f7f220a4f8efb17956587261112}} 
unsigned int \hyperlink{classOBJImporter_a33de7f7f220a4f8efb17956587261112}{n\+\_\+vertices} ()
\begin{DoxyCompactList}\small\item\em Global \hyperlink{classProperties}{Properties}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_aa4bef20adf272ada9c54442613a289a4}\label{classOBJImporter_aa4bef20adf272ada9c54442613a289a4}} 
unsigned int {\bfseries n\+\_\+normals} ()
\item 
\mbox{\Hypertarget{classOBJImporter_a1fbdefd958d948f39f6c2c5c6ccaa452}\label{classOBJImporter_a1fbdefd958d948f39f6c2c5c6ccaa452}} 
unsigned int {\bfseries n\+\_\+tex\+Coords} ()
\item 
unsigned int \hyperlink{classOBJImporter_a1a45e03e2148757a96accbf0d730bd2a}{group\+Count} ()
\begin{DoxyCompactList}\small\item\em Number of groups currently stored in the importer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a8a4197c758bd8cae337310b7a447b38b}\label{classOBJImporter_a8a4197c758bd8cae337310b7a447b38b}} 
\hyperlink{classBaseObject}{Base\+Object} $\ast$ \hyperlink{classOBJImporter_a8a4197c758bd8cae337310b7a447b38b}{object} (int \+\_\+group\+Id)
\begin{DoxyCompactList}\small\item\em return object for the given group \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_aa6dcb78b08340e7390d5abe25c36fbb2}\label{classOBJImporter_aa6dcb78b08340e7390d5abe25c36fbb2}} 
Material\+List \& \hyperlink{classOBJImporter_aa6dcb78b08340e7390d5abe25c36fbb2}{materials} ()
\begin{DoxyCompactList}\small\item\em return all loaded materials \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a24041c58aec763d2c11093180e5662ed}\label{classOBJImporter_a24041c58aec763d2c11093180e5662ed}} 
void \hyperlink{classOBJImporter_a24041c58aec763d2c11093180e5662ed}{add\+Material} (std\+::string \+\_\+material\+Name)
\begin{DoxyCompactList}\small\item\em Add a material. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_ac7eaa074e9ffc7005cf9395a433eff0c}\label{classOBJImporter_ac7eaa074e9ffc7005cf9395a433eff0c}} 
const std\+::vector$<$ std\+::string $>$ \hyperlink{classOBJImporter_ac7eaa074e9ffc7005cf9395a433eff0c}{used\+Materials} (unsigned int \+\_\+object\+ID)
\begin{DoxyCompactList}\small\item\em used materials \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a04948c97e7d78b87cd97d867e720618c}\label{classOBJImporter_a04948c97e7d78b87cd97d867e720618c}} 
void {\bfseries use\+Material} (std\+::string \+\_\+material\+Name)
\item 
\mbox{\Hypertarget{classOBJImporter_a3a47da447af8943909e094c89d8e4034}\label{classOBJImporter_a3a47da447af8943909e094c89d8e4034}} 
void \hyperlink{classOBJImporter_a3a47da447af8943909e094c89d8e4034}{use\+Vertex} (int \+\_\+vertex\+\_\+index)
\begin{DoxyCompactList}\small\item\em used vertices \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a72bce0f7a5eef8d05c5506f9f3be3f25}\label{classOBJImporter_a72bce0f7a5eef8d05c5506f9f3be3f25}} 
Q\+String \hyperlink{classOBJImporter_a72bce0f7a5eef8d05c5506f9f3be3f25}{path} ()
\begin{DoxyCompactList}\small\item\em Path of the O\+BJ file. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_af450466984cca4ea0a120734402d4b81}\label{classOBJImporter_af450466984cca4ea0a120734402d4b81}} 
void {\bfseries set\+Path} (Q\+String \+\_\+path)
\item 
void \hyperlink{classOBJImporter_a3a97c10d3a00eca2c2f14c93160b4fa8}{set\+Object\+Options} (Object\+Options \+\_\+options)
\item 
\mbox{\Hypertarget{classOBJImporter_a71a0ea2351d61356c8d2858ea89decb7}\label{classOBJImporter_a71a0ea2351d61356c8d2858ea89decb7}} 
bool \hyperlink{classOBJImporter_a71a0ea2351d61356c8d2858ea89decb7}{no\+Options} ()
\begin{DoxyCompactList}\small\item\em Return true if the importer has no options stored. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a84f2419627061c48f08708c59b143d25}\label{classOBJImporter_a84f2419627061c48f08708c59b143d25}} 
bool \hyperlink{classOBJImporter_a84f2419627061c48f08708c59b143d25}{has\+Option} (unsigned int \+\_\+id, Object\+Options \+\_\+option)
\begin{DoxyCompactList}\small\item\em check if object with given id has given option \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_a8eb4e9e9116ef139b307c48b785228a7}\label{classOBJImporter_a8eb4e9e9116ef139b307c48b785228a7}} 
void \hyperlink{classOBJImporter_a8eb4e9e9116ef139b307c48b785228a7}{set\+Object\+Name} (int \+\_\+object\+ID, Q\+String \+\_\+name)
\begin{DoxyCompactList}\small\item\em change the name of an object \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classOBJImporter_abec7ba5d3058a5256cdefa4585465457}\label{classOBJImporter_abec7ba5d3058a5256cdefa4585465457}} 
int {\bfseries add\+Group} (const Q\+String \&\+\_\+group\+Name)
\item 
\mbox{\Hypertarget{classOBJImporter_a92024f5284a6c0c03522bc27dc49cd95}\label{classOBJImporter_a92024f5284a6c0c03522bc27dc49cd95}} 
int {\bfseries group\+Id} (const Q\+String \&\+\_\+group\+Name) const
\item 
\mbox{\Hypertarget{classOBJImporter_ab3855b5586fcd96369d92596f3a40f69}\label{classOBJImporter_ab3855b5586fcd96369d92596f3a40f69}} 
unsigned int {\bfseries num\+Groups} () const
\item 
\mbox{\Hypertarget{classOBJImporter_adc23909be30afc2e7521107f4433e382}\label{classOBJImporter_adc23909be30afc2e7521107f4433e382}} 
const Q\+String {\bfseries group\+Name} (const int \+\_\+grp\+Id) const
\item 
\mbox{\Hypertarget{classOBJImporter_abb0f39cb6560d7830788c28103dcc30d}\label{classOBJImporter_abb0f39cb6560d7830788c28103dcc30d}} 
void {\bfseries set\+Group\+Name} (const int \+\_\+grp, const Q\+String \&\+\_\+name)
\item 
\mbox{\Hypertarget{classOBJImporter_a3699362fc4798db705414ea56107a576}\label{classOBJImporter_a3699362fc4798db705414ea56107a576}} 
void {\bfseries set\+Current\+Group} (const int \+\_\+current)
\item 
\mbox{\Hypertarget{classOBJImporter_a2c29f25dd2f80ce3194922ae1d28af96}\label{classOBJImporter_a2c29f25dd2f80ce3194922ae1d28af96}} 
int {\bfseries current\+Group} () const
\item 
void \hyperlink{classOBJImporter_a2eaafc7619218d42f1ea850626c5cb19}{finish} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOBJImporter_a013948483efe6121eca1382845ff57d3}\label{classOBJImporter_a013948483efe6121eca1382845ff57d3}} 
bool {\bfseries add\+Face} (const V\+Handles \&\+\_\+indices, \hyperlink{structOpenMesh_1_1FaceHandle}{Open\+Mesh\+::\+Face\+Handle} \&\+\_\+out\+FH, std\+::vector$<$ Tri\+Mesh\+::\+Vertex\+Handle $>$ \&\+\_\+out\+Tri\+Vertices, std\+::vector$<$ Poly\+Mesh\+::\+Vertex\+Handle $>$ \&\+\_\+out\+Poly\+Vertices)
\item 
\mbox{\Hypertarget{classOBJImporter_af25b51103faa5cc97a138bd64985c350}\label{classOBJImporter_af25b51103faa5cc97a138bd64985c350}} 
bool {\bfseries vertex\+List\+Is\+Manifold} (const std\+::vector$<$ Poly\+Mesh\+::\+Vertex\+Handle $>$ \&\+\_\+vertices) const
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classOBJImporter_aee08b9fcd445cae89fa9bedf85ca6eb7}\label{classOBJImporter_aee08b9fcd445cae89fa9bedf85ca6eb7}} 
std\+::vector$<$ \hyperlink{classOpenMesh_1_1VectorT}{Vec3f} $>$ {\bfseries vertices\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_aad34a6539858d5d5a8ee9d11fec7d8bb}\label{classOBJImporter_aad34a6539858d5d5a8ee9d11fec7d8bb}} 
std\+::vector$<$ \hyperlink{classOpenMesh_1_1VectorT}{Vec3f} $>$ {\bfseries normals\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a5040d521384f3fc6365187e91e43a9d1}\label{classOBJImporter_a5040d521384f3fc6365187e91e43a9d1}} 
std\+::vector$<$ \hyperlink{classOpenMesh_1_1VectorT}{Vec2f} $>$ {\bfseries tex\+Coords\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_ae436e544aba7890bd9a6aa3b94a9286b}\label{classOBJImporter_ae436e544aba7890bd9a6aa3b94a9286b}} 
std\+::map$<$ Tri\+Mesh\+::\+Vertex\+Handle, Tri\+Mesh\+::\+Normal $>$ {\bfseries stored\+Tri\+H\+E\+Normals\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_abf9823e79cbda5c495855f48bd3233d9}\label{classOBJImporter_abf9823e79cbda5c495855f48bd3233d9}} 
std\+::map$<$ Tri\+Mesh\+::\+Vertex\+Handle, \hyperlink{classOpenMesh_1_1PolyMeshT_a3570fd132d1ac589b380485cf59c9e0b}{Poly\+Mesh\+::\+Normal} $>$ {\bfseries stored\+Poly\+H\+E\+Normals\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a08b1c64017e92ad386a5a97caa0b12aa}\label{classOBJImporter_a08b1c64017e92ad386a5a97caa0b12aa}} 
int {\bfseries degree\+U\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_aa7c1e540abdb0760ea2ce01f5105c8dd}\label{classOBJImporter_aa7c1e540abdb0760ea2ce01f5105c8dd}} 
int {\bfseries degree\+V\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a17cdb194e9541572a3cad76108d9cd14}\label{classOBJImporter_a17cdb194e9541572a3cad76108d9cd14}} 
Material\+List {\bfseries materials\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_ab72c3a9329baf272ce0b47158976dc13}\label{classOBJImporter_ab72c3a9329baf272ce0b47158976dc13}} 
Q\+String {\bfseries path\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a9106cb7721fcc86459dbd7a8cec920d1}\label{classOBJImporter_a9106cb7721fcc86459dbd7a8cec920d1}} 
std\+::vector$<$ Q\+String $>$ {\bfseries group\+Names\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a94ab4ad7c4682f973503bdce312c2543}\label{classOBJImporter_a94ab4ad7c4682f973503bdce312c2543}} 
int {\bfseries current\+Group\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_aac258c3a2205f7d2346576b00ea54a65}\label{classOBJImporter_aac258c3a2205f7d2346576b00ea54a65}} 
std\+::vector$<$ std\+::map$<$ int, Poly\+Mesh\+::\+Vertex\+Handle $>$ $>$ {\bfseries vertex\+Map\+Poly\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_afd110f4c7a673edfe7b57785a9810564}\label{classOBJImporter_afd110f4c7a673edfe7b57785a9810564}} 
Poly\+Mesh\+::\+Face\+Handle {\bfseries added\+Face\+Poly\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a610bd04c654d65c9e09de257479c3685}\label{classOBJImporter_a610bd04c654d65c9e09de257479c3685}} 
std\+::vector$<$ std\+::map$<$ int, Tri\+Mesh\+::\+Vertex\+Handle $>$ $>$ {\bfseries vertex\+Map\+Tri\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a5df1679979676f8c2d8b7e3c0426c8a9}\label{classOBJImporter_a5df1679979676f8c2d8b7e3c0426c8a9}} 
std\+::vector$<$ std\+::vector$<$ Tri\+Mesh\+::\+Face\+Handle $>$ $>$ {\bfseries added\+Faces\+Tri\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a68ac7ca80666c2edda2a3e713b139d09}\label{classOBJImporter_a68ac7ca80666c2edda2a3e713b139d09}} 
std\+::vector$<$ \hyperlink{classTriMeshObject}{Tri\+Mesh\+Object} $\ast$ $>$ {\bfseries tri\+Meshes\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a6274ec6393690fdffeca1959c45b017f}\label{classOBJImporter_a6274ec6393690fdffeca1959c45b017f}} 
std\+::vector$<$ \hyperlink{classPolyMeshObject}{Poly\+Mesh\+Object} $\ast$ $>$ {\bfseries poly\+Meshes\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a68ab9859e9cb3a9e9b88b02646ea21dd}\label{classOBJImporter_a68ab9859e9cb3a9e9b88b02646ea21dd}} 
std\+::vector$<$ Object\+Options $>$ {\bfseries object\+Options\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a085ead193491b5fb3352f6c09b4e6e4d}\label{classOBJImporter_a085ead193491b5fb3352f6c09b4e6e4d}} 
std\+::vector$<$ std\+::vector$<$ std\+::string $>$ $>$ {\bfseries used\+Materials\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_ae0332d201863bc0a1ff4fa397be96a85}\label{classOBJImporter_ae0332d201863bc0a1ff4fa397be96a85}} 
std\+::vector$<$ std\+::map$<$ int, Vertex\+Handle $>$ $>$ {\bfseries used\+Vertices\+\_\+}
\item 
\mbox{\Hypertarget{classOBJImporter_a5abde244ce9c7b2eec2be6d2bd0ec3cf}\label{classOBJImporter_a5abde244ce9c7b2eec2be6d2bd0ec3cf}} 
std\+::vector$<$ std\+::vector$<$ O\+M\+V\+Handles $>$ $>$ {\bfseries invalid\+Faces\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 83 of file O\+B\+J\+Importer.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classOBJImporter_ad0777161d0fdcefc93301b8732df5984}\label{classOBJImporter_ad0777161d0fdcefc93301b8732df5984}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!current\+Group@{current\+Group}}
\index{current\+Group@{current\+Group}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{current\+Group()}{currentGroup()}}
{\footnotesize\ttfamily int O\+B\+J\+Importer\+::current\+Group (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Get the id of the current group. 

get id of the active object

O\+BJ files can contain groups which are handled inside Open\+Flipper as separate Objects. When loading a file, the importer has to keep track of the current group and store a state for each group with its properties (materials) )

\begin{DoxyReturn}{Returns}
Id of the current group 
\end{DoxyReturn}


Definition at line 159 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_ad81b983e495432cefdb42c8f7cacefb0}\label{classOBJImporter_ad81b983e495432cefdb42c8f7cacefb0}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!current\+Poly\+Mesh@{current\+Poly\+Mesh}}
\index{current\+Poly\+Mesh@{current\+Poly\+Mesh}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{current\+Poly\+Mesh()}{currentPolyMesh()}}
{\footnotesize\ttfamily \hyperlink{classOpenMesh_1_1PolyMesh__ArrayKernelT}{Poly\+Mesh} $\ast$ O\+B\+J\+Importer\+::current\+Poly\+Mesh (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



get a pointer to the active poly\+Mesh 

get the active poly\+Mesh 

Definition at line 167 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a921cc6000bd5251d6a3a06696c0088b1}\label{classOBJImporter_a921cc6000bd5251d6a3a06696c0088b1}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!current\+Tri\+Mesh@{current\+Tri\+Mesh}}
\index{current\+Tri\+Mesh@{current\+Tri\+Mesh}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{current\+Tri\+Mesh()}{currentTriMesh()}}
{\footnotesize\ttfamily \hyperlink{classOpenMesh_1_1TriMesh__ArrayKernelT}{Tri\+Mesh} $\ast$ O\+B\+J\+Importer\+::current\+Tri\+Mesh (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



get a pointer to the active tri\+Mesh 

get the active tri\+Mesh 

Definition at line 175 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a2eaafc7619218d42f1ea850626c5cb19}\label{classOBJImporter_a2eaafc7619218d42f1ea850626c5cb19}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!finish@{finish}}
\index{finish@{finish}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{finish()}{finish()}}
{\footnotesize\ttfamily void O\+B\+J\+Importer\+::finish (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

Finish up importing\+: Duplicate vertices of non-\/manifold faces and add new face as isolated one 

Definition at line 1013 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a1a45e03e2148757a96accbf0d730bd2a}\label{classOBJImporter_a1a45e03e2148757a96accbf0d730bd2a}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!group\+Count@{group\+Count}}
\index{group\+Count@{group\+Count}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{group\+Count()}{groupCount()}}
{\footnotesize\ttfamily unsigned int O\+B\+J\+Importer\+::group\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Number of groups currently stored in the importer. 

As O\+BJ files can contain several groups, we need to store information per group.

\begin{DoxyReturn}{Returns}
Number of groups currently found by the importer 
\end{DoxyReturn}


Definition at line 863 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a6c8d8c6eb02e12c0392b3903969c348a}\label{classOBJImporter_a6c8d8c6eb02e12c0392b3903969c348a}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!set\+DegreeU@{set\+DegreeU}}
\index{set\+DegreeU@{set\+DegreeU}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{set\+Degree\+U()}{setDegreeU()}}
{\footnotesize\ttfamily void O\+B\+J\+Importer\+::set\+DegreeU (\begin{DoxyParamCaption}\item[{int}]{\+\_\+degree }\end{DoxyParamCaption})}



set degree 

set degree U direction 

Definition at line 93 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a97798ede44bd2c4dbbcbe29bb907e0d7}\label{classOBJImporter_a97798ede44bd2c4dbbcbe29bb907e0d7}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!set\+Object@{set\+Object}}
\index{set\+Object@{set\+Object}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{set\+Object()}{setObject()}}
{\footnotesize\ttfamily void O\+B\+J\+Importer\+::set\+Object (\begin{DoxyParamCaption}\item[{\hyperlink{classBaseObject}{Base\+Object} $\ast$}]{\+\_\+object,  }\item[{int}]{\+\_\+group\+Id }\end{DoxyParamCaption})}



add an object 

add a mesh 

Definition at line 122 of file O\+B\+J\+Importer.\+cc.

\mbox{\Hypertarget{classOBJImporter_a3a97c10d3a00eca2c2f14c93160b4fa8}\label{classOBJImporter_a3a97c10d3a00eca2c2f14c93160b4fa8}} 
\index{O\+B\+J\+Importer@{O\+B\+J\+Importer}!set\+Object\+Options@{set\+Object\+Options}}
\index{set\+Object\+Options@{set\+Object\+Options}!O\+B\+J\+Importer@{O\+B\+J\+Importer}}
\subsubsection{\texorpdfstring{set\+Object\+Options()}{setObjectOptions()}}
{\footnotesize\ttfamily void O\+B\+J\+Importer\+::set\+Object\+Options (\begin{DoxyParamCaption}\item[{Object\+Options}]{\+\_\+options }\end{DoxyParamCaption})}

store an initial options object for an object containing info about the mesh\+Type 

Definition at line 906 of file O\+B\+J\+Importer.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+O\+B\+J/O\+B\+J\+Importer.\+hh\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+O\+B\+J/O\+B\+J\+Importer.\+cc\end{DoxyCompactItemize}
