\hypertarget{a08068}{}\section{A\+CG\+:\+:Scene\+Graph\+:\+:Text\+Node Class Reference}
\label{a08068}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}


{\ttfamily \#include $<$A\+C\+G/\+Scenegraph/\+Text\+Node.\+hh$>$}

Inheritance diagram for A\+CG\+:\+:Scene\+Graph\+:\+:Text\+Node\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{a08068}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode} \{ {\bfseries S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED}, 
\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36a6a9acc007c4519e5d572d73dce1a0a4b}{S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE}, 
\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36af278f8cf8584c617ea11c00f52b0b059}{O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED}
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a08068_a3e2c163e1f2c7ec5dcdb203d5e5e83ed}{Text\+Node} (\hyperlink{a07748}{Base\+Node} $\ast$\+\_\+parent=0, const std\+::string \&\+\_\+name=\char`\"{}$<$Text\+Node$>$\char`\"{}, Text\+Mode \+\_\+text\+Mode=S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED, bool \+\_\+always\+On\+Top=false)
\item 
\mbox{\Hypertarget{a08068_ac5718da5dbb4df7be9aa168b5e40c20c}\label{a08068_ac5718da5dbb4df7be9aa168b5e40c20c}} 
\hyperlink{a08068_ac5718da5dbb4df7be9aa168b5e40c20c}{$\sim$\+Text\+Node} ()
\begin{DoxyCompactList}\small\item\em destructor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a6565ddfc6742fe8193d58c4d8be5a12d}\label{a08068_a6565ddfc6742fe8193d58c4d8be5a12d}} 
\hyperlink{a08068_a6565ddfc6742fe8193d58c4d8be5a12d}{A\+C\+G\+\_\+\+C\+L\+A\+S\+S\+N\+A\+ME} (\hyperlink{a08068}{Text\+Node})
\begin{DoxyCompactList}\small\item\em static name of this class \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_afe2b636a5c87ad5c597e959e1233fda2}\label{a08068_afe2b636a5c87ad5c597e959e1233fda2}} 
\hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a08068_afe2b636a5c87ad5c597e959e1233fda2}{available\+Draw\+Modes} () const
\begin{DoxyCompactList}\small\item\em return available draw modes \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a36164d8d6ee6f7a38aa74ebbf877b96a}\label{a08068_a36164d8d6ee6f7a38aa74ebbf877b96a}} 
void \hyperlink{a08068_a36164d8d6ee6f7a38aa74ebbf877b96a}{bounding\+Box} (\hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Min, \hyperlink{a06176_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+bb\+Max)
\begin{DoxyCompactList}\small\item\em update bounding box \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_aae0052f35e944bd657a173a0de5144e0}\label{a08068_aae0052f35e944bd657a173a0de5144e0}} 
void \hyperlink{a08068_aae0052f35e944bd657a173a0de5144e0}{draw} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode)
\begin{DoxyCompactList}\small\item\em draw Text \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a715892b0ec03d026bd73ed0ebf77208f}\label{a08068_a715892b0ec03d026bd73ed0ebf77208f}} 
void \hyperlink{a08068_a715892b0ec03d026bd73ed0ebf77208f}{enter} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em set texture and drawing states \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ae2f10b5e3017bb81710cf2d0699c8265}\label{a08068_ae2f10b5e3017bb81710cf2d0699c8265}} 
void {\bfseries enter\+Compat} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\item 
\mbox{\Hypertarget{a08068_a00a75983c956a19de2584ee49a9b39df}\label{a08068_a00a75983c956a19de2584ee49a9b39df}} 
void \hyperlink{a08068_a00a75983c956a19de2584ee49a9b39df}{leave} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\begin{DoxyCompactList}\small\item\em restore texture and drawing states \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ac64334ff9b050a5e99ad555e4585c843}\label{a08068_ac64334ff9b050a5e99ad555e4585c843}} 
void {\bfseries leave\+Compat} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+drawmode)
\item 
\mbox{\Hypertarget{a08068_a3196e99ba7f0ac3c8c40b84ee8a98451}\label{a08068_a3196e99ba7f0ac3c8c40b84ee8a98451}} 
void \hyperlink{a08068_a3196e99ba7f0ac3c8c40b84ee8a98451}{get\+Render\+Objects} (\hyperlink{a07468}{A\+C\+G\+::\+I\+Renderer} $\ast$\+\_\+renderer, \hyperlink{a07884}{A\+C\+G\+::\+G\+L\+State} \&\+\_\+state, const \hyperlink{a07792}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \&\+\_\+draw\+Mode, const \hyperlink{a07828}{A\+C\+G\+::\+Scene\+Graph\+::\+Material} $\ast$\+\_\+mat)
\begin{DoxyCompactList}\small\item\em set \hyperlink{a07532}{Render\+Object} for Shader pipeline renderer \end{DoxyCompactList}\item 
void \hyperlink{a08068_ac4b53a591ff384cefa0c908d7efa08bd}{set\+Rendering\+Mode} (\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode} \+\_\+text\+Mode)
\item 
\mbox{\Hypertarget{a08068_ae265b0e652b576b043a642b07bc20faa}\label{a08068_ae265b0e652b576b043a642b07bc20faa}} 
void \hyperlink{a08068_ae265b0e652b576b043a642b07bc20faa}{set\+Always\+On\+Top} (bool \+\_\+always\+On\+Top)
\begin{DoxyCompactList}\small\item\em draw the text always on top \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ab6466d434aaac5e23902ce61a88f2bc6}\label{a08068_ab6466d434aaac5e23902ce61a88f2bc6}} 
bool \hyperlink{a08068_ab6466d434aaac5e23902ce61a88f2bc6}{always\+On\+Top} ()
\begin{DoxyCompactList}\small\item\em returns wheter always on top is setted or not \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a0d691e6929393c370b4246dfe7c292d3}\label{a08068_a0d691e6929393c370b4246dfe7c292d3}} 
\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode} \hyperlink{a08068_a0d691e6929393c370b4246dfe7c292d3}{rendering\+Mode} ()
\begin{DoxyCompactList}\small\item\em returns the rendering mode (S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED or O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ab074b86dcd8e79d8dca32de68f1a47a3}\label{a08068_ab074b86dcd8e79d8dca32de68f1a47a3}} 
void \hyperlink{a08068_ab074b86dcd8e79d8dca32de68f1a47a3}{set\+Text} (std\+::string \+\_\+text)
\begin{DoxyCompactList}\small\item\em sets the string that will be rendered \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a6337bc01c821267acfa2356f814360c6}\label{a08068_a6337bc01c821267acfa2356f814360c6}} 
void \hyperlink{a08068_a6337bc01c821267acfa2356f814360c6}{set\+Size} (const double \+\_\+size)
\begin{DoxyCompactList}\small\item\em sets the size by which the quads displaying the text will be scaled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ac1be021717b5fabf00447de5b03211b9}\label{a08068_ac1be021717b5fabf00447de5b03211b9}} 
void \hyperlink{a08068_ac1be021717b5fabf00447de5b03211b9}{set\+Pixel\+Size} (const unsigned int \+\_\+size)
\begin{DoxyCompactList}\small\item\em sets the pixelsize of the text (only available for the S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE mode and only works, if scaling is 1) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ae3d7e7d0a926e3c90fec7f2a804e3432}\label{a08068_ae3d7e7d0a926e3c90fec7f2a804e3432}} 
void \hyperlink{a08068_ae3d7e7d0a926e3c90fec7f2a804e3432}{set\+Font} (const Q\+Font \&\+\_\+font)
\begin{DoxyCompactList}\small\item\em sets the font to be used for generating a texture with most characters of the chosen font \end{DoxyCompactList}\item 
float \hyperlink{a08068_ada2c2641359a614519ff347908a4a09d}{last\+Scale} ()
\begin{DoxyCompactList}\small\item\em returns the scaling factor for screen aligned text the text. returns 0, if textmode is not S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{a08068_ac3a32354a5c3a5a2e217044dd098cd47}{update\+Font} ()
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a08068_ac41ee440bfa6b3dc1b9cda3d246ffd97}{update\+V\+BO} ()
\item 
\mbox{\Hypertarget{a08068_a7742f1424e1aa22d2df461b51fec2dab}\label{a08068_a7742f1424e1aa22d2df461b51fec2dab}} 
void \hyperlink{a08068_a7742f1424e1aa22d2df461b51fec2dab}{bind\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em binds \hyperlink{a08068_a2a79969cd449ddd9d63d12eae00a7324}{vbo\+\_\+} and sets the necessary Open\+GL states \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_aeb7b2dbf1ef95296a9693a4e864df8ae}\label{a08068_aeb7b2dbf1ef95296a9693a4e864df8ae}} 
void \hyperlink{a08068_aeb7b2dbf1ef95296a9693a4e864df8ae}{unbind\+V\+BO} ()
\begin{DoxyCompactList}\small\item\em unbinds \hyperlink{a08068_a2a79969cd449ddd9d63d12eae00a7324}{vbo\+\_\+} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a6129d07af3154cf51d08316648a35792}\label{a08068_a6129d07af3154cf51d08316648a35792}} 
void \hyperlink{a08068_a6129d07af3154cf51d08316648a35792}{apply\+Screen\+Aligned} (\hyperlink{a07452}{G\+L\+State} \&\+\_\+state)
\begin{DoxyCompactList}\small\item\em modifies \+\_\+state so that the modelviewmatrix will be screenaligned. remember to call \char`\"{}\+\_\+state.\+pop\+\_\+modelview\+\_\+matrix();\char`\"{} twice \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08068_a2f1c8207af03a138a40d271dd3f109b2}\label{a08068_a2f1c8207af03a138a40d271dd3f109b2}} 
static quint32 \hyperlink{a08068_a2f1c8207af03a138a40d271dd3f109b2}{nearest\+Power\+Of\+Two} (quint32 num)
\begin{DoxyCompactList}\small\item\em returns the nearest greater power of 2 to num \end{DoxyCompactList}\item 
static std\+::map$<$ char, std\+::pair$<$ unsigned int, unsigned int $>$ $>$ \hyperlink{a08068_ae95dcaa87dbc0078a420ffab3f99ab13}{create\+Map} ()
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08068_a71ea893d44fb311f99849b99dc4fee42}\label{a08068_a71ea893d44fb311f99849b99dc4fee42}} 
double \hyperlink{a08068_a71ea893d44fb311f99849b99dc4fee42}{size\+\_\+}
\begin{DoxyCompactList}\small\item\em scaling factor by which the quads in \hyperlink{a08068_a2a79969cd449ddd9d63d12eae00a7324}{vbo\+\_\+} are scaled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a7e1a2ac70a0900876d12f0d8286c5cf6}\label{a08068_a7e1a2ac70a0900876d12f0d8286c5cf6}} 
unsigned \hyperlink{a08068_a7e1a2ac70a0900876d12f0d8286c5cf6}{pixel\+Size\+\_\+}
\begin{DoxyCompactList}\small\item\em pixel\+Size of the text for the S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE mode \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ae217a2a6dfc6f41b1f2d41addeead893}\label{a08068_ae217a2a6dfc6f41b1f2d41addeead893}} 
std\+::string \hyperlink{a08068_ae217a2a6dfc6f41b1f2d41addeead893}{text\+\_\+}
\begin{DoxyCompactList}\small\item\em text to be displayed on quads in \hyperlink{a08068_a2a79969cd449ddd9d63d12eae00a7324}{vbo\+\_\+} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a30c91e0061f1a717b82403a3a674420e}\label{a08068_a30c91e0061f1a717b82403a3a674420e}} 
\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode} \hyperlink{a08068_a30c91e0061f1a717b82403a3a674420e}{text\+Mode\+\_\+}
\begin{DoxyCompactList}\small\item\em current display mode of \hyperlink{a08068_ae217a2a6dfc6f41b1f2d41addeead893}{text\+\_\+} (S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED, S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE or O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED) \end{DoxyCompactList}\item 
G\+Luint \hyperlink{a08068_a2a79969cd449ddd9d63d12eae00a7324}{vbo\+\_\+}
\item 
\mbox{\Hypertarget{a08068_a2526ed025b1a6bdb9c5c8f9a276053c9}\label{a08068_a2526ed025b1a6bdb9c5c8f9a276053c9}} 
std\+::vector$<$ G\+Lfloat $>$ \hyperlink{a08068_a2526ed025b1a6bdb9c5c8f9a276053c9}{vertex\+Buffer\+\_\+}
\begin{DoxyCompactList}\small\item\em buffer of vertex coordinates and texture coordinates of the quads \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a951cc90957fa566ba5f42e7d7d5191bb}\label{a08068_a951cc90957fa566ba5f42e7d7d5191bb}} 
size\+\_\+t {\bfseries old\+Vbo\+Size\+\_\+}
\item 
\mbox{\Hypertarget{a08068_a2b20cd43cdd0599404dc67ec59527717}\label{a08068_a2b20cd43cdd0599404dc67ec59527717}} 
bool \hyperlink{a08068_a2b20cd43cdd0599404dc67ec59527717}{blend\+Enabled\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if G\+L\+\_\+\+B\+L\+E\+ND was enabled on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a51764f343bf170ed9e678ad3ceef8beb}\label{a08068_a51764f343bf170ed9e678ad3ceef8beb}} 
bool \hyperlink{a08068_a51764f343bf170ed9e678ad3ceef8beb}{texture2d\+Enabled\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if G\+L\+\_\+\+T\+E\+X\+T\+U\+R\+E\+\_\+2D was enabled on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a2157c7737238d958c1716bdcad3f5b89}\label{a08068_a2157c7737238d958c1716bdcad3f5b89}} 
bool \hyperlink{a08068_a2157c7737238d958c1716bdcad3f5b89}{cull\+Face\+Enabled\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if G\+L\+\_\+\+C\+U\+L\+L\+\_\+\+F\+A\+CE was enabled on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a99134558cdc7049b7f032c3d4f6f3b7d}\label{a08068_a99134558cdc7049b7f032c3d4f6f3b7d}} 
bool \hyperlink{a08068_a99134558cdc7049b7f032c3d4f6f3b7d}{depth\+Enabled\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if G\+L\+\_\+\+D\+E\+P\+T\+H\+\_\+\+T\+E\+ST was enabled on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ac000bebe49fc9e0c36b5e21b89ba52a4}\label{a08068_ac000bebe49fc9e0c36b5e21b89ba52a4}} 
bool \hyperlink{a08068_ac000bebe49fc9e0c36b5e21b89ba52a4}{always\+On\+Top\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if text should be drawn always on top \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_abeca35f74ae6c5aae44de5705e2eb905}\label{a08068_abeca35f74ae6c5aae44de5705e2eb905}} 
bool \hyperlink{a08068_abeca35f74ae6c5aae44de5705e2eb905}{alpha\+Test\+\_\+}
\begin{DoxyCompactList}\small\item\em stores if the alpha test was enabled \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a2e7e0dc5891167cec5b00b9d8f1d7d65}\label{a08068_a2e7e0dc5891167cec5b00b9d8f1d7d65}} 
float \hyperlink{a08068_a2e7e0dc5891167cec5b00b9d8f1d7d65}{alpha\+Test\+Value\+\_\+}
\begin{DoxyCompactList}\small\item\em stores the alpha value used for alpha test \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a269c56214e2f98dd439e88188fed8af4}\label{a08068_a269c56214e2f98dd439e88188fed8af4}} 
G\+Lenum \hyperlink{a08068_a269c56214e2f98dd439e88188fed8af4}{alpha\+Test\+Func\+\_\+}
\begin{DoxyCompactList}\small\item\em stores alpha test comparison function \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ab81085654274effc16efc041ecdf3654}\label{a08068_ab81085654274effc16efc041ecdf3654}} 
G\+Lint \hyperlink{a08068_ab81085654274effc16efc041ecdf3654}{blend\+Src\+\_\+}
\begin{DoxyCompactList}\small\item\em stores the sfactor parameter of gl\+Blend\+Func on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a92fd7bf483e28e2ff8dc7991fde53bd0}\label{a08068_a92fd7bf483e28e2ff8dc7991fde53bd0}} 
G\+Lint \hyperlink{a08068_a92fd7bf483e28e2ff8dc7991fde53bd0}{blend\+Dest\+\_\+}
\begin{DoxyCompactList}\small\item\em stores the dfactor parameter of gl\+Blend\+Func on entering \hyperlink{a08068}{Text\+Node} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a91d295a6755b4569af4865c0eb28be37}\label{a08068_a91d295a6755b4569af4865c0eb28be37}} 
\hyperlink{a07596}{A\+C\+G\+::\+Vertex\+Declaration} \hyperlink{a08068_a91d295a6755b4569af4865c0eb28be37}{vertex\+Decl\+\_\+}
\begin{DoxyCompactList}\small\item\em stores the vertex declaration \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ad235fdcba85363f2cf9b533ffff426ea}\label{a08068_ad235fdcba85363f2cf9b533ffff426ea}} 
float \hyperlink{a08068_ad235fdcba85363f2cf9b533ffff426ea}{last\+Scale\+\_\+}
\begin{DoxyCompactList}\small\item\em stores the last scaling factor the text computed to S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a08068_ae960f2493630375d7036b73157c97712}\label{a08068_ae960f2493630375d7036b73157c97712}} 
static std\+::map$<$ char, std\+::pair$<$ unsigned int, unsigned int $>$ $>$ \hyperlink{a08068_ae960f2493630375d7036b73157c97712}{char\+To\+Index\+\_\+} = \hyperlink{a08068_ae95dcaa87dbc0078a420ffab3f99ab13}{Text\+Node\+::create\+Map}()
\begin{DoxyCompactList}\small\item\em maps most readable characters to indices for texture coordinate calculation in \hyperlink{a08068_ac41ee440bfa6b3dc1b9cda3d246ffd97}{update\+V\+B\+O()} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a2603ad4ae419aad68290f61130754025}\label{a08068_a2603ad4ae419aad68290f61130754025}} 
static Q\+Font \hyperlink{a08068_a2603ad4ae419aad68290f61130754025}{qfont\+\_\+} = Q\+Font(\char`\"{}Helvetica\char`\"{}, 30)
\begin{DoxyCompactList}\small\item\em font that is used to generate the texture in \hyperlink{a08068_ac3a32354a5c3a5a2e217044dd098cd47}{update\+Font()} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a4635beab2951af1f136f61495869ebce}\label{a08068_a4635beab2951af1f136f61495869ebce}} 
static G\+Luint \hyperlink{a08068_a4635beab2951af1f136f61495869ebce}{texture\+\_\+} = 0
\begin{DoxyCompactList}\small\item\em handle for the texture into which characters from \hyperlink{a08068_a2603ad4ae419aad68290f61130754025}{qfont\+\_\+} are painted in \hyperlink{a08068_ac3a32354a5c3a5a2e217044dd098cd47}{update\+Font()} \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_afbbe8a5355a56b9e86e500d857cb79d1}\label{a08068_afbbe8a5355a56b9e86e500d857cb79d1}} 
static int \hyperlink{a08068_afbbe8a5355a56b9e86e500d857cb79d1}{image\+Width\+\_\+} = 0
\begin{DoxyCompactList}\small\item\em width of the generated texture \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a4792b33e1f267dc01334902cedd712c2}\label{a08068_a4792b33e1f267dc01334902cedd712c2}} 
static int \hyperlink{a08068_a4792b33e1f267dc01334902cedd712c2}{image\+Height\+\_\+} = 0
\begin{DoxyCompactList}\small\item\em height of the generated texture \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ac3a226fed5200c68a2ddef1c8278ee2e}\label{a08068_ac3a226fed5200c68a2ddef1c8278ee2e}} 
static qreal \hyperlink{a08068_ac3a226fed5200c68a2ddef1c8278ee2e}{max\+Font\+Width\+\_\+} = 0.\+0
\begin{DoxyCompactList}\small\item\em max width of qfont \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a507cdfd558f4e6f8c3c746cb6f8b390a}\label{a08068_a507cdfd558f4e6f8c3c746cb6f8b390a}} 
static const int \hyperlink{a08068_a507cdfd558f4e6f8c3c746cb6f8b390a}{number\+Of\+Chars\+\_\+} = 94
\begin{DoxyCompactList}\small\item\em number of characters that are drawn into the texture \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ae42177a254ae0798279460bc05ce9814}\label{a08068_ae42177a254ae0798279460bc05ce9814}} 
static const unsigned int \hyperlink{a08068_ae42177a254ae0798279460bc05ce9814}{rows\+\_\+} = 10
\begin{DoxyCompactList}\small\item\em number of rows of characters in the texture \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_ad0ca704ec777eaf9f6b609941c061cf0}\label{a08068_ad0ca704ec777eaf9f6b609941c061cf0}} 
static const unsigned int \hyperlink{a08068_ad0ca704ec777eaf9f6b609941c061cf0}{columns\+\_\+} = 10
\begin{DoxyCompactList}\small\item\em number of columns of characters in the texture \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_a82b42dc13a472cfec3caef7c6b51362e}\label{a08068_a82b42dc13a472cfec3caef7c6b51362e}} 
static bool \hyperlink{a08068_a82b42dc13a472cfec3caef7c6b51362e}{initialised\+\_\+} = false
\begin{DoxyCompactList}\small\item\em this is used to ensure that the texture is only generated once when necessary \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a08068_aa899879094ca0325e6638578033131ce}\label{a08068_aa899879094ca0325e6638578033131ce}} 
static Q\+Color \hyperlink{a08068_aa899879094ca0325e6638578033131ce}{color\+\_\+} = Q\+Color(255, 0, 0)
\begin{DoxyCompactList}\small\item\em color that is used to draw the characters into the texture in \hyperlink{a08068_ac3a32354a5c3a5a2e217044dd098cd47}{update\+Font()} \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{a07780}{Coordsys\+Node} renders A coordinate system.

T\+O\+DO\+: Den Fall mode\+\_\+ == P\+O\+S\+I\+T\+I\+ON implementieren. 25.\+11.\+08

\hyperlink{a08068}{Text\+Node} can be used to display a string on quads in Open\+GL. This string can be set with \hyperlink{a08068_ab074b86dcd8e79d8dca32de68f1a47a3}{set\+Text(std\+::string \+\_\+text)}. A \hyperlink{a08068}{Text\+Node} can be attached to a parent node by using the function \hyperlink{a07044_aeff14b8f67bddf92ea8a9a6d0cd73e7e}{Base\+Object\+Data\+::add\+Additional\+Node}. The quads can then be set to align to the parent (O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED) via the \hyperlink{a08068_ac4b53a591ff384cefa0c908d7efa08bd}{set\+Rendering\+Mode(\+Text\+Mode \+\_\+text\+Mode)} function. Alternatively the quads can be aligned to the screen (S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED). The font that is used to display text on the screen can be set with the \hyperlink{a08068_ae3d7e7d0a926e3c90fec7f2a804e3432}{set\+Font(const Q\+Font\& \+\_\+font)} function. Finally the quads can be scaled via the \hyperlink{a08068_a6337bc01c821267acfa2356f814360c6}{set\+Size(double \+\_\+size)} function. 

Definition at line 87 of file Text\+Node.\+hh.



\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}\label{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!Text\+Mode@{Text\+Mode}}
\index{Text\+Mode@{Text\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{Text\+Mode}{TextMode}}
{\footnotesize\ttfamily enum \hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::\+Text\+Mode}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE@{S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE@{S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE}}}\mbox{\Hypertarget{a08068_a5fc659880ff80fa64c317fa9a4a4eb36a6a9acc007c4519e5d572d73dce1a0a4b}\label{a08068_a5fc659880ff80fa64c317fa9a4a4eb36a6a9acc007c4519e5d572d73dce1a0a4b}} 
S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE&Text will always stay parallel to screen. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED@{O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED@{O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED}}}\mbox{\Hypertarget{a08068_a5fc659880ff80fa64c317fa9a4a4eb36af278f8cf8584c617ea11c00f52b0b059}\label{a08068_a5fc659880ff80fa64c317fa9a4a4eb36af278f8cf8584c617ea11c00f52b0b059}} 
O\+B\+J\+E\+C\+T\+\_\+\+A\+L\+I\+G\+N\+ED&Text will always stay parallel to screen (like S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+ED) and text has static size, independent of the camera position. Text will be transformed and projected by Modelview and projection matrix \\
\hline

\end{DoxyEnumFields}


Definition at line 91 of file Text\+Node.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a08068_a3e2c163e1f2c7ec5dcdb203d5e5e83ed}\label{a08068_a3e2c163e1f2c7ec5dcdb203d5e5e83ed}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!Text\+Node@{Text\+Node}}
\index{Text\+Node@{Text\+Node}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{Text\+Node()}{TextNode()}}
{\footnotesize\ttfamily A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::\+Text\+Node (\begin{DoxyParamCaption}\item[{\hyperlink{a07748}{Base\+Node} $\ast$}]{\+\_\+parent = {\ttfamily 0},  }\item[{const std\+::string \&}]{\+\_\+name = {\ttfamily \char`\"{}$<$TextNode$>$\char`\"{}},  }\item[{\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode}}]{\+\_\+text\+Mode = {\ttfamily SCREEN\+\_\+ALIGNED},  }\item[{bool}]{\+\_\+always\+On\+Top = {\ttfamily false} }\end{DoxyParamCaption})}

default constructor 
\begin{DoxyParams}{Parameters}
{\em \+\_\+parent} & Define the parent Node this node gets attached to \\
\hline
{\em \+\_\+name} & Name of this Node \\
\hline
{\em \+\_\+text\+Mode} & Define the text rendering style ( see \hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Node\+::\+Text\+Mode} ) \\
\hline
{\em \+\_\+always\+On\+Top} & Draw text on top of everything else? \\
\hline
\end{DoxyParams}


Definition at line 91 of file Text\+Node.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a08068_ae95dcaa87dbc0078a420ffab3f99ab13}\label{a08068_ae95dcaa87dbc0078a420ffab3f99ab13}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!create\+Map@{create\+Map}}
\index{create\+Map@{create\+Map}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{create\+Map()}{createMap()}}
{\footnotesize\ttfamily std\+::map$<$ char, std\+::pair$<$ unsigned int, unsigned int $>$ $>$ A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::create\+Map (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}

Creates a map \hyperlink{a08068_ae960f2493630375d7036b73157c97712}{char\+To\+Index\+\_\+} from most characters to an incrementing set of indices. These indices are used to create the texture coordinates in \hyperlink{a08068_ac41ee440bfa6b3dc1b9cda3d246ffd97}{update\+V\+B\+O()}. 

Definition at line 225 of file Text\+Node.\+cc.

\mbox{\Hypertarget{a08068_ada2c2641359a614519ff347908a4a09d}\label{a08068_ada2c2641359a614519ff347908a4a09d}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!last\+Scale@{last\+Scale}}
\index{last\+Scale@{last\+Scale}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{last\+Scale()}{lastScale()}}
{\footnotesize\ttfamily float A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::last\+Scale (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns the scaling factor for screen aligned text the text. returns 0, if textmode is not S\+C\+R\+E\+E\+N\+\_\+\+A\+L\+I\+G\+N\+E\+D\+\_\+\+S\+T\+A\+T\+I\+C\+\_\+\+S\+I\+ZE 

screen aligned static size text will be scaled up/down in 3d space to achieve the static size in screen space last\+Scale returns the last scaling factor where the text was multiplied, to compute e.\+g. a distance which is also static in screen space 

Definition at line 165 of file Text\+Node.\+hh.

\mbox{\Hypertarget{a08068_ac4b53a591ff384cefa0c908d7efa08bd}\label{a08068_ac4b53a591ff384cefa0c908d7efa08bd}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!set\+Rendering\+Mode@{set\+Rendering\+Mode}}
\index{set\+Rendering\+Mode@{set\+Rendering\+Mode}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{set\+Rendering\+Mode()}{setRenderingMode()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::set\+Rendering\+Mode (\begin{DoxyParamCaption}\item[{\hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Mode}}]{\+\_\+text\+Mode }\end{DoxyParamCaption})}

Set the rendering mode ( see \hyperlink{a08068_a5fc659880ff80fa64c317fa9a4a4eb36}{Text\+Node\+::\+Text\+Mode} ) 

Definition at line 162 of file Text\+Node.\+cc.

\mbox{\Hypertarget{a08068_ac3a32354a5c3a5a2e217044dd098cd47}\label{a08068_ac3a32354a5c3a5a2e217044dd098cd47}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!update\+Font@{update\+Font}}
\index{update\+Font@{update\+Font}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{update\+Font()}{updateFont()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::update\+Font (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}

Generates a texture by drawing most characters into one texture. This texture is then used to draw single characters onto quads 

Definition at line 361 of file Text\+Node.\+cc.

\mbox{\Hypertarget{a08068_ac41ee440bfa6b3dc1b9cda3d246ffd97}\label{a08068_ac41ee440bfa6b3dc1b9cda3d246ffd97}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!update\+V\+BO@{update\+V\+BO}}
\index{update\+V\+BO@{update\+V\+BO}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{update\+V\+B\+O()}{updateVBO()}}
{\footnotesize\ttfamily void A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::update\+V\+BO (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

generates a quad for each character in \hyperlink{a08068_ae217a2a6dfc6f41b1f2d41addeead893}{text\+\_\+} and also calculates the texture coordinates for each quad\textquotesingle{}s character 

Definition at line 424 of file Text\+Node.\+cc.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{a08068_a2a79969cd449ddd9d63d12eae00a7324}\label{a08068_a2a79969cd449ddd9d63d12eae00a7324}} 
\index{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}!vbo\+\_\+@{vbo\+\_\+}}
\index{vbo\+\_\+@{vbo\+\_\+}!A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node@{A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node}}
\subsubsection{\texorpdfstring{vbo\+\_\+}{vbo\_}}
{\footnotesize\ttfamily G\+Luint A\+C\+G\+::\+Scene\+Graph\+::\+Text\+Node\+::vbo\+\_\+\hspace{0.3cm}{\ttfamily [private]}}

handle to the vertex buffer object, containing the quads on which the characters in \hyperlink{a08068_ae217a2a6dfc6f41b1f2d41addeead893}{text\+\_\+} are rendered 

Definition at line 217 of file Text\+Node.\+hh.



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