\hypertarget{classglViewer}{}\section{gl\+Viewer Class Reference}
\label{classglViewer}\index{gl\+Viewer@{gl\+Viewer}}


{\ttfamily \#include $<$Open\+Flipper/widgets/gl\+Widget/\+Qt\+Base\+Viewer.\+hh$>$}

Inheritance diagram for gl\+Viewer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classglViewer}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{Projection\+Mode} \{ \hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10ade297f12b9ffb4273aafdc6c817bc347}{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}, 
\hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10a79422bc64c445223b76b06ab4d729914}{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}
 \}\begin{DoxyCompactList}\small\item\em projection mode \end{DoxyCompactList}
\item 
enum \hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57}{Navigation\+Mode} \{ \hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57aa786e9574eb166f22a2162dda3336625}{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}, 
\hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57ac3f29e29b2a593884be18ebcee385aeb}{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}
 \}\begin{DoxyCompactList}\small\item\em Navigation mode. \end{DoxyCompactList}
\item 
enum \hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}{Normals\+Mode} \{ \hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fca1be493a002b76cae55a430acb6ad46dc}{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS}, 
\hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fca55f7de2ad77cd04402094e5f6b62d771}{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS}
 \}\begin{DoxyCompactList}\small\item\em Automatically normalize normals? \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a24818991e6804b48e6c4a12109da19fb}\label{classglViewer_a24818991e6804b48e6c4a12109da19fb}} 
virtual void \hyperlink{classglViewer_a24818991e6804b48e6c4a12109da19fb}{update\+GL} ()
\begin{DoxyCompactList}\small\item\em Redraw scene. Triggers paint event for updating the view (cf. draw\+Now()). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a5e86fc0e8248bcfac7ef9c0aaac7d36a}\label{classglViewer_a5e86fc0e8248bcfac7ef9c0aaac7d36a}} 
virtual void \hyperlink{classglViewer_a5e86fc0e8248bcfac7ef9c0aaac7d36a}{set\+Home} ()
\begin{DoxyCompactList}\small\item\em set home position \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_afad20e7d26d32a5d7f4a775c389418ac}\label{classglViewer_afad20e7d26d32a5d7f4a775c389418ac}} 
virtual void \hyperlink{classglViewer_afad20e7d26d32a5d7f4a775c389418ac}{home} ()
\begin{DoxyCompactList}\small\item\em go to home pos \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a916e56338ded6e740746e806db8e9a28}\label{classglViewer_a916e56338ded6e740746e806db8e9a28}} 
virtual void \hyperlink{classglViewer_a916e56338ded6e740746e806db8e9a28}{view\+All} ()
\begin{DoxyCompactList}\small\item\em view the whole scene \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a832c32182b7803d7a6fc599e3113bfbc}\label{classglViewer_a832c32182b7803d7a6fc599e3113bfbc}} 
virtual void \hyperlink{classglViewer_a832c32182b7803d7a6fc599e3113bfbc}{perspective\+Projection} ()
\begin{DoxyCompactList}\small\item\em set perspective view (projection\+Mode(\+P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N)) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af7a7cd1f49fecd1190e34aa3ea174395}\label{classglViewer_af7a7cd1f49fecd1190e34aa3ea174395}} 
virtual void \hyperlink{classglViewer_af7a7cd1f49fecd1190e34aa3ea174395}{orthographic\+Projection} ()
\begin{DoxyCompactList}\small\item\em set orthographic view (projection\+Mode(\+O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N)) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a4c79b3661f49e815c7e94b1dd7e581ee}\label{classglViewer_a4c79b3661f49e815c7e94b1dd7e581ee}} 
virtual void \hyperlink{classglViewer_a4c79b3661f49e815c7e94b1dd7e581ee}{toggle\+Projection\+Mode} ()
\begin{DoxyCompactList}\small\item\em toggle projection mode \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a122867f6c0229dc5948e939c8e8a22b8}\label{classglViewer_a122867f6c0229dc5948e939c8e8a22b8}} 
virtual void \hyperlink{classglViewer_a122867f6c0229dc5948e939c8e8a22b8}{toggle\+Navigation\+Mode} ()
\begin{DoxyCompactList}\small\item\em toggle navigation mode \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a7f5586ba0113ce1b5765786f8c674c10}\label{classglViewer_a7f5586ba0113ce1b5765786f8c674c10}} 
virtual void \hyperlink{classglViewer_a7f5586ba0113ce1b5765786f8c674c10}{set\+F\+O\+VY} (double \+\_\+fovy)
\begin{DoxyCompactList}\small\item\em Set fovy. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9ee5f113d217408a147710be4eb21b81}\label{classglViewer_a9ee5f113d217408a147710be4eb21b81}} 
virtual void \hyperlink{classglViewer_a9ee5f113d217408a147710be4eb21b81}{set\+View} (const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&\+\_\+modelview, const \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&\+\_\+inverse\+\_\+modelview)
\begin{DoxyCompactList}\small\item\em set view, used for synchronizing \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a4080043b98badf413670bc0b445c27c7}{action\+Paste\+View} (Q\+Size $\ast$\+\_\+window\+Size=N\+U\+LL, int $\ast$\+\_\+splitter\+Width=N\+U\+LL)
\item 
void \hyperlink{classglViewer_a0312c68e5d7a4d3a908c38fe33c498c2}{action\+Copy\+View} (const Q\+Size \&\+\_\+window\+Size=Q\+Size(-\/1,-\/1), const int \+\_\+splitter\+Width=-\/1, const bool \+\_\+make\+\_\+c\+\_\+string=false)
\item 
\mbox{\Hypertarget{classglViewer_a23e3b580cf44b06ca3cc7375c60beefc}\label{classglViewer_a23e3b580cf44b06ca3cc7375c60beefc}} 
void {\bfseries action\+Set\+View} (Q\+String view)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Snapshots}\par
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classglViewer_a530882bc9a660045ab1f3637883fced6}{snapshot} (int \+\_\+width=0, int \+\_\+height=0, bool \+\_\+alpha=false, bool \+\_\+hide\+Coordsys=false, int samples=1)
\item 
\mbox{\Hypertarget{classglViewer_a451893e648fb28cb09565d1652f100a9}\label{classglViewer_a451893e648fb28cb09565d1652f100a9}} 
virtual void \hyperlink{classglViewer_a451893e648fb28cb09565d1652f100a9}{snapshot} (Q\+Image \&\+\_\+image, int \+\_\+width=0, int \+\_\+height=0, bool \+\_\+alpha=false, bool \+\_\+hide\+Coordsys=false, int samples=1)
\begin{DoxyCompactList}\small\item\em Take a snapshot and store it in the given image. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a0cdfbe2a1de94d34888ff174a33ff478}\label{classglViewer_a0cdfbe2a1de94d34888ff174a33ff478}} 
void {\bfseries function\+Menu\+Update} ()
\item 
\mbox{\Hypertarget{classglViewer_ad45c2fc10c67e625d559c7d3a8a1d1bc}\label{classglViewer_ad45c2fc10c67e625d559c7d3a8a1d1bc}} 
void {\bfseries status\+Message} (const Q\+String \&message, int timeout=0)
\item 
\mbox{\Hypertarget{classglViewer_a057711652ef62fafa7d84e0371bba8c8}\label{classglViewer_a057711652ef62fafa7d84e0371bba8c8}} 
void {\bfseries projection\+Mode\+Changed} (bool \+\_\+ortho)
\item 
\mbox{\Hypertarget{classglViewer_a5ed09ad4f4c05762136b5db9048329dd}\label{classglViewer_a5ed09ad4f4c05762136b5db9048329dd}} 
void {\bfseries navigation\+Mode\+Changed} (bool \+\_\+normal)
\item 
void \hyperlink{classglViewer_aa87c11591840eab0a4fe21947b0f219f}{signal\+Mouse\+Event} (Q\+Mouse\+Event $\ast$, const std\+::string \&)
\item 
\mbox{\Hypertarget{classglViewer_a3dec380630eb571f7fafe5b0c7a66664}\label{classglViewer_a3dec380630eb571f7fafe5b0c7a66664}} 
void \hyperlink{classglViewer_a3dec380630eb571f7fafe5b0c7a66664}{signal\+Mouse\+Event} (Q\+Mouse\+Event $\ast$)
\begin{DoxyCompactList}\small\item\em This signal does not send the pick mode and is kept for compatibility. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_afb6949194894261df0716e0267b2dc67}\label{classglViewer_afb6949194894261df0716e0267b2dc67}} 
void \hyperlink{classglViewer_afb6949194894261df0716e0267b2dc67}{signal\+Wheel\+Event} (Q\+Wheel\+Event $\ast$, const std\+::string \&)
\begin{DoxyCompactList}\small\item\em Emitted in Pick mode. Uses pick mode. \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_aa7a0233b9b04661ee7ee3423077cbab2}{signal\+Mouse\+Event\+Identify} (Q\+Mouse\+Event $\ast$)
\item 
void \hyperlink{classglViewer_aebfc5f4da2b7ed4ad6f54503445cdfa2}{signal\+Mouse\+Event\+Light} (Q\+Mouse\+Event $\ast$)
\item 
\mbox{\Hypertarget{classglViewer_ae06c270eef78abd328a37c79bbf143da}\label{classglViewer_ae06c270eef78abd328a37c79bbf143da}} 
void \hyperlink{classglViewer_ae06c270eef78abd328a37c79bbf143da}{signal\+Scene\+Graph\+Changed} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+root)
\begin{DoxyCompactList}\small\item\em scene graph has changed \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_ac89941b582ee1eecb70afc64c0935f6d}{signal\+Mouse\+Event\+Click} (Q\+Mouse\+Event $\ast$, bool \+\_\+double)
\item 
void \hyperlink{classglViewer_af7d40857f258091128fe9172dbd96236}{signal\+Custom\+Context\+Menu\+Requested} (const Q\+Point \&)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ view handling}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_ade24436154963b44ad612528de4d7ad4}\label{classglViewer_ade24436154963b44ad612528de4d7ad4}} 
void \hyperlink{classglViewer_ade24436154963b44ad612528de4d7ad4}{view\+Updated} ()
\begin{DoxyCompactList}\small\item\em This signal is emitted when the scene is repainted due to any event. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a3c56a96004e39b31a39a3ae4eae1ded7}\label{classglViewer_a3c56a96004e39b31a39a3ae4eae1ded7}} 
void \hyperlink{classglViewer_a3c56a96004e39b31a39a3ae4eae1ded7}{view\+Changed} ()
\begin{DoxyCompactList}\small\item\em This signal is emitted whenever the view is changed by the user. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a21b0f313bb05f10956b7f88e26ea92b7}\label{classglViewer_a21b0f313bb05f10956b7f88e26ea92b7}} 
void \hyperlink{classglViewer_a21b0f313bb05f10956b7f88e26ea92b7}{signal\+Make\+Active} ()
\begin{DoxyCompactList}\small\item\em make this widget active \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classglViewer_ad73b25e713785eff9bb3781e249b422d}{gl\+Viewer} (Q\+Graphics\+Scene $\ast$\+\_\+scene, O\+F\+G\+L\+Widget $\ast$\+\_\+gl\+Widget, \hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} \&\+\_\+properties, Q\+Graphics\+Widget $\ast$\+\_\+parent=0)
\item 
\mbox{\Hypertarget{classglViewer_a9c31464f316965958b2b3a45c06ea8cf}\label{classglViewer_a9c31464f316965958b2b3a45c06ea8cf}} 
virtual \hyperlink{classglViewer_a9c31464f316965958b2b3a45c06ea8cf}{$\sim$gl\+Viewer} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a003e4066701ae292c8102af4c27f5730}\label{classglViewer_a003e4066701ae292c8102af4c27f5730}} 
virtual void \hyperlink{classglViewer_a003e4066701ae292c8102af4c27f5730}{make\+Current} ()
\begin{DoxyCompactList}\small\item\em Makes this widget the current widget for Open\+GL operations. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a42d0ee8d7b2b12601229f39e03c95e4e}\label{classglViewer_a42d0ee8d7b2b12601229f39e03c95e4e}} 
virtual void \hyperlink{classglViewer_a42d0ee8d7b2b12601229f39e03c95e4e}{swap\+Buffers} ()
\begin{DoxyCompactList}\small\item\em Swaps the screen contents with the off-\/screen buffer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a629706c05138e2dd46c76f5324255190}\label{classglViewer_a629706c05138e2dd46c76f5324255190}} 
void \hyperlink{classglViewer_a629706c05138e2dd46c76f5324255190}{lock\+Projection\+Update} (void)
\begin{DoxyCompactList}\small\item\em Lock update of projection matrix. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a5aac6542217b081831d504314b7cb44f}\label{classglViewer_a5aac6542217b081831d504314b7cb44f}} 
void \hyperlink{classglViewer_a5aac6542217b081831d504314b7cb44f}{unlock\+Projection\+Update} (void)
\begin{DoxyCompactList}\small\item\em Unlock update of projection matrix. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a111d4749bf6cc3b98ccd9d1cb786b2c8}\label{classglViewer_a111d4749bf6cc3b98ccd9d1cb786b2c8}} 
void \hyperlink{classglViewer_a111d4749bf6cc3b98ccd9d1cb786b2c8}{track\+Mouse} (bool \+\_\+track)
\begin{DoxyCompactList}\small\item\em Enable/disable mouse tracking (move events with no button press) \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a16e80212c8a66bcdc282436e49c02ac1}{scene\+Graph} (\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+root, unsigned int \+\_\+max\+Passes, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+bbmin, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \+\_\+bbmax, const bool \+\_\+reset\+Track\+Ball=false)
\item 
\mbox{\Hypertarget{classglViewer_a81bd7d788711d21bc91b0cdf2a99b6dd}\label{classglViewer_a81bd7d788711d21bc91b0cdf2a99b6dd}} 
void \hyperlink{classglViewer_a81bd7d788711d21bc91b0cdf2a99b6dd}{projection\+Mode} (\hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{Projection\+Mode} \+\_\+p)
\begin{DoxyCompactList}\small\item\em Changes the projection mode and updates the projection matrix. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a823b1346e6b8512423a32a9dfed6e432}\label{classglViewer_a823b1346e6b8512423a32a9dfed6e432}} 
\hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{Projection\+Mode} \hyperlink{classglViewer_a823b1346e6b8512423a32a9dfed6e432}{projection\+Mode} () const
\begin{DoxyCompactList}\small\item\em get current projection mode \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a88abfc3b443da18203d463b500d4560d}\label{classglViewer_a88abfc3b443da18203d463b500d4560d}} 
void \hyperlink{classglViewer_a88abfc3b443da18203d463b500d4560d}{navigation\+Mode} (\hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57}{Navigation\+Mode} \+\_\+n)
\begin{DoxyCompactList}\small\item\em Changes the navigation mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ae570a24a5f4d6db2326640f3fbd96ddc}\label{classglViewer_ae570a24a5f4d6db2326640f3fbd96ddc}} 
\hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57}{Navigation\+Mode} \hyperlink{classglViewer_ae570a24a5f4d6db2326640f3fbd96ddc}{navigation\+Mode} () const
\begin{DoxyCompactList}\small\item\em get current navigation mode \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_ab0248fa345d594824f6672c206be8a40}{set\+Scene\+Pos} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center, double \+\_\+radius, const bool \+\_\+reset\+Track\+Ball=false)
\item 
\mbox{\Hypertarget{classglViewer_a58752cbd503d9e014c577f4b206f1b42}\label{classglViewer_a58752cbd503d9e014c577f4b206f1b42}} 
void \hyperlink{classglViewer_a58752cbd503d9e014c577f4b206f1b42}{viewing\+Direction} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+dir, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+up)
\begin{DoxyCompactList}\small\item\em set the viewing direction \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9b81e7eb410896542af627f8ed7c86cf}\label{classglViewer_a9b81e7eb410896542af627f8ed7c86cf}} 
void \hyperlink{classglViewer_a9b81e7eb410896542af627f8ed7c86cf}{look\+At} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+eye, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+up)
\begin{DoxyCompactList}\small\item\em Set look at transformation directly. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af7cbae18b60e8c5279db7180c0c66754}\label{classglViewer_af7cbae18b60e8c5279db7180c0c66754}} 
void \hyperlink{classglViewer_af7cbae18b60e8c5279db7180c0c66754}{normals\+Mode} (\hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}{Normals\+Mode} \+\_\+mode)
\begin{DoxyCompactList}\small\item\em set treatment of normals \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ad99538955066737c21fac95b12b23ef6}\label{classglViewer_ad99538955066737c21fac95b12b23ef6}} 
\hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}{Normals\+Mode} \hyperlink{classglViewer_ad99538955066737c21fac95b12b23ef6}{normals\+Mode} () const
\begin{DoxyCompactList}\small\item\em get treatment of normals \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aafb3a04dd5fa1d800d0815776e5dff42}\label{classglViewer_aafb3a04dd5fa1d800d0815776e5dff42}} 
void \hyperlink{classglViewer_aafb3a04dd5fa1d800d0815776e5dff42}{copy\+To\+Image} (Q\+Image \&\+\_\+image, G\+Lenum \+\_\+buffer=G\+L\+\_\+\+B\+A\+CK)
\begin{DoxyCompactList}\small\item\em copy current framebuffer to an Q\+Image \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a56c6f5eec36d3c32a74c84705e5a66e1}\label{classglViewer_a56c6f5eec36d3c32a74c84705e5a66e1}} 
void \hyperlink{classglViewer_a56c6f5eec36d3c32a74c84705e5a66e1}{copy\+To\+Image} (Q\+Image \&\+\_\+image, unsigned int \+\_\+left, unsigned int \+\_\+top, unsigned int \+\_\+width, unsigned int \+\_\+height, G\+Lenum \+\_\+buffer)
\begin{DoxyCompactList}\small\item\em copy current framebuffer to an Q\+Image \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9787a6e042cad126f99d9e27f618f78f}\label{classglViewer_a9787a6e042cad126f99d9e27f618f78f}} 
unsigned int \hyperlink{classglViewer_a9787a6e042cad126f99d9e27f618f78f}{gl\+Width} () const
\begin{DoxyCompactList}\small\item\em get width of Q\+G\+L\+Widget \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9338081ee84f380fb8992bae5555635d}\label{classglViewer_a9338081ee84f380fb8992bae5555635d}} 
unsigned int \hyperlink{classglViewer_a9338081ee84f380fb8992bae5555635d}{gl\+Height} () const
\begin{DoxyCompactList}\small\item\em get height of Q\+G\+L\+Widget \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a7b8464a41bb8edae695a8182b144d3b5}\label{classglViewer_a7b8464a41bb8edae695a8182b144d3b5}} 
Q\+Size \hyperlink{classglViewer_a7b8464a41bb8edae695a8182b144d3b5}{gl\+Size} () const
\begin{DoxyCompactList}\small\item\em get size of Q\+G\+L\+W\+Idget \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab76b4b3b7b46eefea3db138b25d535b5}\label{classglViewer_ab76b4b3b7b46eefea3db138b25d535b5}} 
Q\+Point \hyperlink{classglViewer_ab76b4b3b7b46eefea3db138b25d535b5}{gl\+Map\+From\+Global} (const Q\+Point \&\+\_\+pos) const
\begin{DoxyCompactList}\small\item\em map global to glarea coords \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af472d077ffd5766f3d0814e2ed5610b5}\label{classglViewer_af472d077ffd5766f3d0814e2ed5610b5}} 
Q\+Point \hyperlink{classglViewer_af472d077ffd5766f3d0814e2ed5610b5}{gl\+Map\+To\+Global} (const Q\+Point \&\+\_\+pos) const
\begin{DoxyCompactList}\small\item\em map glarea coords to global coords \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab6efd53345fee456d03b3d66caec84d2}\label{classglViewer_ab6efd53345fee456d03b3d66caec84d2}} 
double {\bfseries field\+\_\+of\+\_\+view\+\_\+vertical} () const
\item 
\mbox{\Hypertarget{classglViewer_a6e0f944ebaa59b35a28f09784ce557a4}\label{classglViewer_a6e0f944ebaa59b35a28f09784ce557a4}} 
double \hyperlink{classglViewer_a6e0f944ebaa59b35a28f09784ce557a4}{aspect\+\_\+ratio} () const
\begin{DoxyCompactList}\small\item\em Returns the viewer\textquotesingle{}s aspect ratio. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af85225754e7cd813afd9f3401a23c6e6}\label{classglViewer_af85225754e7cd813afd9f3401a23c6e6}} 
double \hyperlink{classglViewer_af85225754e7cd813afd9f3401a23c6e6}{near\+\_\+plane} () const
\begin{DoxyCompactList}\small\item\em Returns a chili cheese burger. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a8a0d085f9c117f65e6b5110eec062a10}\label{classglViewer_a8a0d085f9c117f65e6b5110eec062a10}} 
double \hyperlink{classglViewer_a8a0d085f9c117f65e6b5110eec062a10}{far\+\_\+plane} () const
\begin{DoxyCompactList}\small\item\em Returns a peanut butter sandwich. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ac984481c525bf12a87724c06a464a29a}\label{classglViewer_ac984481c525bf12a87724c06a464a29a}} 
double \hyperlink{classglViewer_ac984481c525bf12a87724c06a464a29a}{ortho\+\_\+width} () const
\begin{DoxyCompactList}\small\item\em Get width of the gl scene in orthogonal projection mode. \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a0340f00ac2eefca03531481d663180fd}{encode\+View} (Q\+String \&\+\_\+view, const Q\+Size \&\+\_\+window\+Size=Q\+Size(-\/1,-\/1), const int \+\_\+tool\+Bar\+Width=-\/1, const bool \+\_\+make\+\_\+c\+\_\+string=false)
\item 
bool \hyperlink{classglViewer_a502b4799e7509dfdd6760e91d51e7b36}{decode\+View} (const Q\+String \&\+\_\+view, Q\+Size $\ast$\+\_\+window\+Size=N\+U\+LL, int $\ast$\+\_\+tool\+Bar\+Width=N\+U\+LL, Q\+Size $\ast$\+\_\+viewport\+Size=N\+U\+LL)
\item 
\mbox{\Hypertarget{classglViewer_a632c7f6e2f5443fcebf418107133c06e}\label{classglViewer_a632c7f6e2f5443fcebf418107133c06e}} 
void \hyperlink{classglViewer_a632c7f6e2f5443fcebf418107133c06e}{init\+Modelview\+Matrix} ()
\begin{DoxyCompactList}\small\item\em initialize modelview matrix to identity \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a927d0d7ec8a8db5e4cb718d0e7862674}\label{classglViewer_a927d0d7ec8a8db5e4cb718d0e7862674}} 
void \hyperlink{classglViewer_a927d0d7ec8a8db5e4cb718d0e7862674}{grab\+G\+L\+Area} ()
\begin{DoxyCompactList}\small\item\em get all Mouse \& Key Events for Gl\+Widget \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9bbe625cf2970316e364e9473936e137}\label{classglViewer_a9bbe625cf2970316e364e9473936e137}} 
void \hyperlink{classglViewer_a9bbe625cf2970316e364e9473936e137}{release\+G\+L\+Area} ()
\begin{DoxyCompactList}\small\item\em undo grabbing G\+L\+Area \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a52c553a9c1cc8301a5e04e7ac9fd068a}\label{classglViewer_a52c553a9c1cc8301a5e04e7ac9fd068a}} 
void \hyperlink{classglViewer_a52c553a9c1cc8301a5e04e7ac9fd068a}{translate} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&trans)
\begin{DoxyCompactList}\small\item\em translate the scene and update modelview matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab388bab4401e34c8550c7176960999e5}\label{classglViewer_ab388bab4401e34c8550c7176960999e5}} 
void \hyperlink{classglViewer_ab388bab4401e34c8550c7176960999e5}{rotate} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&axis, double angle)
\begin{DoxyCompactList}\small\item\em rotate the scene (around its center) and update modelview matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_acaef294fb3953261a12e8d7b496e57b4}\label{classglViewer_acaef294fb3953261a12e8d7b496e57b4}} 
void \hyperlink{classglViewer_acaef294fb3953261a12e8d7b496e57b4}{rotate} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&axis, double angle, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center)
\begin{DoxyCompactList}\small\item\em rotate the scene and update modelview matrix \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a76d8b239d6e969e4308346c2c403721c}\label{classglViewer_a76d8b239d6e969e4308346c2c403721c}} 
void \hyperlink{classglViewer_a76d8b239d6e969e4308346c2c403721c}{set\+Cursor\+Painter} (\hyperlink{classCursorPainter}{Cursor\+Painter} $\ast$\+\_\+cursor\+Painter)
\begin{DoxyCompactList}\small\item\em sets the current cursor painter \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af7dc0c0d89c57298dad1a3f2464c2e63}\label{classglViewer_af7dc0c0d89c57298dad1a3f2464c2e63}} 
void \hyperlink{classglViewer_af7dc0c0d89c57298dad1a3f2464c2e63}{update\+Cursor\+Position} (Q\+PointF \+\_\+scene\+Pos)
\begin{DoxyCompactList}\small\item\em will be called from \hyperlink{classCursorPainter}{Cursor\+Painter} to inform the viewer that the cursor position changed \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a05301ac175a8c434db7b12ed9bfbabe5}\label{classglViewer_a05301ac175a8c434db7b12ed9bfbabe5}} 
void \hyperlink{classglViewer_a05301ac175a8c434db7b12ed9bfbabe5}{move\+Forward} ()
\begin{DoxyCompactList}\small\item\em First person navigation\+: Move forward. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ada73bee9c382d20938d0b7fcb156d6ac}\label{classglViewer_ada73bee9c382d20938d0b7fcb156d6ac}} 
void \hyperlink{classglViewer_ada73bee9c382d20938d0b7fcb156d6ac}{move\+Back} ()
\begin{DoxyCompactList}\small\item\em First person navigation\+: Move back. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a3c7a1847d9e27ebc165f31ed5f6947e2}\label{classglViewer_a3c7a1847d9e27ebc165f31ed5f6947e2}} 
void \hyperlink{classglViewer_a3c7a1847d9e27ebc165f31ed5f6947e2}{strafe\+Left} ()
\begin{DoxyCompactList}\small\item\em First person navigation\+: Strafe left. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a39a7374c71d90f4b637564bda0ee2880}\label{classglViewer_a39a7374c71d90f4b637564bda0ee2880}} 
void \hyperlink{classglViewer_a39a7374c71d90f4b637564bda0ee2880}{strafe\+Right} ()
\begin{DoxyCompactList}\small\item\em First person navigation\+: Strafe Right. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Projection settings}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classglViewer_ab4e799684b1f4569e5a16b0dcdd2bde5}{set\+Scene\+Center} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center)
\item 
void \hyperlink{classglViewer_aeeb590fd0692795d169887b700323da3}{set\+Track\+Ball\+Center} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center)
\begin{DoxyCompactList}\small\item\em Set Trackball Center point of scene. \end{DoxyCompactList}\item 
const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a5a45b44f1e0a7a7d17e80c9e65768055}{track\+Ball\+Center} ()
\begin{DoxyCompactList}\small\item\em Get Trackball Center point of scene. \end{DoxyCompactList}\item 
const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a94e604ed2026f53da0ecfcd429f613f0}{scene\+\_\+center} () const
\item 
double \hyperlink{classglViewer_ab993dee78238659e3af3fb18916fa604}{scene\+\_\+radius} () const
\item 
void \hyperlink{classglViewer_a0d4e534896312afed05ff97f641509d6}{set\+Scene\+Radius} (double \+\_\+radius)
\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static bool \hyperlink{classglViewer_a063fef342a369b30a750cb2ec3b6dd26}{decode\+View} (const Q\+String \&\+\_\+view, \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&m, \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&p, int \&p\+Mode, double \&\hyperlink{classglViewer_ac984481c525bf12a87724c06a464a29a}{ortho\+\_\+width}, Q\+Size $\ast$\+\_\+window\+Size=N\+U\+LL, int $\ast$\+\_\+splitter\+Width=N\+U\+LL, Q\+Size $\ast$\+\_\+viewport\+Size=N\+U\+LL)
\end{DoxyCompactItemize}
\subsection*{Protected Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_ac83763336ca57153b416b7ce46e99679}\label{classglViewer_ac83763336ca57153b416b7ce46e99679}} 
virtual void \hyperlink{classglViewer_ac83763336ca57153b416b7ce46e99679}{slot\+WheelX} (double \+\_\+d\+Angle)
\begin{DoxyCompactList}\small\item\em process signals from wheel\+X\+\_\+ \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a97914c75c475fd83ea9ca7917c0a5f17}\label{classglViewer_a97914c75c475fd83ea9ca7917c0a5f17}} 
virtual void \hyperlink{classglViewer_a97914c75c475fd83ea9ca7917c0a5f17}{slot\+WheelY} (double \+\_\+d\+Angle)
\begin{DoxyCompactList}\small\item\em process signals from wheel\+X\+\_\+ \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aaba207a41fd6c100129571f9fe1a3855}\label{classglViewer_aaba207a41fd6c100129571f9fe1a3855}} 
virtual void \hyperlink{classglViewer_aaba207a41fd6c100129571f9fe1a3855}{slot\+WheelZ} (double \+\_\+dist)
\begin{DoxyCompactList}\small\item\em process signals from wheel\+Z\+\_\+ \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a13e16fa2dd25b59b9c5687e2459448dc}\label{classglViewer_a13e16fa2dd25b59b9c5687e2459448dc}} 
virtual void \hyperlink{classglViewer_a13e16fa2dd25b59b9c5687e2459448dc}{cleanup\+Event\+Filter} ()
\begin{DoxyCompactList}\small\item\em correct ??? (same function as in qt src) \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a587308100005d0800bdeb6dbd3fc5464}\label{classglViewer_a587308100005d0800bdeb6dbd3fc5464}} 
void \hyperlink{classglViewer_a587308100005d0800bdeb6dbd3fc5464}{process\+G\+L\+Debug\+Message} (const Q\+Open\+G\+L\+Debug\+Message \&msg)
\begin{DoxyCompactList}\small\item\em process opengl debug messages \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{classglViewer_ae496c7f46e2001020468aa04ccd43609}{initialize\+GL} ()
\begin{DoxyCompactList}\small\item\em Return a resonable size hint. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab7db2f9911dbfef6518b17cf86019689}\label{classglViewer_ab7db2f9911dbfef6518b17cf86019689}} 
virtual void \hyperlink{classglViewer_ab7db2f9911dbfef6518b17cf86019689}{paint\+GL} (double \+\_\+aspect=0.\+0)
\begin{DoxyCompactList}\small\item\em draw the scene. Triggered by \hyperlink{classglViewer_a24818991e6804b48e6c4a12109da19fb}{update\+G\+L()}. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a5d0dd2173cbd6dcd4abb01db1e52c2b0}\label{classglViewer_a5d0dd2173cbd6dcd4abb01db1e52c2b0}} 
virtual void \hyperlink{classglViewer_a5d0dd2173cbd6dcd4abb01db1e52c2b0}{resize\+Event} (Q\+Graphics\+Scene\+Resize\+Event $\ast$\+\_\+e)
\begin{DoxyCompactList}\small\item\em handle resize events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a9f77b53640eeaa7d2cba609c2aefecf7}\label{classglViewer_a9f77b53640eeaa7d2cba609c2aefecf7}} 
virtual void \hyperlink{classglViewer_a9f77b53640eeaa7d2cba609c2aefecf7}{move\+Event} (Q\+Graphics\+Scene\+Move\+Event $\ast$\+\_\+e)
\begin{DoxyCompactList}\small\item\em handle move events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a7772521340e2761b6c812d9bc470df8a}\label{classglViewer_a7772521340e2761b6c812d9bc470df8a}} 
virtual void \hyperlink{classglViewer_a7772521340e2761b6c812d9bc470df8a}{mouse\+Press\+Event} (Q\+Graphics\+Scene\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse press events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a58d0f6e54cc7a9ee5ac0de70e4dd8a45}\label{classglViewer_a58d0f6e54cc7a9ee5ac0de70e4dd8a45}} 
virtual void \hyperlink{classglViewer_a58d0f6e54cc7a9ee5ac0de70e4dd8a45}{mouse\+Double\+Click\+Event} (Q\+Graphics\+Scene\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse double click events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a77eed27ee43ac94788ad2ace157dca19}\label{classglViewer_a77eed27ee43ac94788ad2ace157dca19}} 
virtual void \hyperlink{classglViewer_a77eed27ee43ac94788ad2ace157dca19}{mouse\+Move\+Event} (Q\+Graphics\+Scene\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse move events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ad67f0661e7639d3540c5fb112b5c4c6c}\label{classglViewer_ad67f0661e7639d3540c5fb112b5c4c6c}} 
virtual void \hyperlink{classglViewer_ad67f0661e7639d3540c5fb112b5c4c6c}{mouse\+Release\+Event} (Q\+Graphics\+Scene\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse release events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a103432b69e8507d613af66b763b833f5}\label{classglViewer_a103432b69e8507d613af66b763b833f5}} 
virtual void \hyperlink{classglViewer_a103432b69e8507d613af66b763b833f5}{wheel\+Event} (Q\+Graphics\+Scene\+Wheel\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse wheel events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a54fefb36ba9ec5c1440bc0265f269ee1}\label{classglViewer_a54fefb36ba9ec5c1440bc0265f269ee1}} 
virtual void \hyperlink{classglViewer_a54fefb36ba9ec5c1440bc0265f269ee1}{context\+Menu\+Event} (Q\+Graphics\+Scene\+Context\+Menu\+Event $\ast$\+\_\+e)
\begin{DoxyCompactList}\small\item\em handle mouse press events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a003655d5cf214c2c1b25ec23745422d7}\label{classglViewer_a003655d5cf214c2c1b25ec23745422d7}} 
void \hyperlink{classglViewer_a003655d5cf214c2c1b25ec23745422d7}{view\+Mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em specialized viewer\+: hande mouse events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a4763dde17ec77eb451c16353c88e91dc}\label{classglViewer_a4763dde17ec77eb451c16353c88e91dc}} 
void \hyperlink{classglViewer_a4763dde17ec77eb451c16353c88e91dc}{view\+Wheel\+Event} (Q\+Wheel\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em specialized viewer\+: handle wheel events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aa91f00f196cf31444247a9ae9ef7b99c}\label{classglViewer_aa91f00f196cf31444247a9ae9ef7b99c}} 
void \hyperlink{classglViewer_aa91f00f196cf31444247a9ae9ef7b99c}{view\+Key\+Event} (Q\+Key\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em specialized viewer\+: hande key events \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aff63e80134c22a0163af9ef10365da19}\label{classglViewer_aff63e80134c22a0163af9ef10365da19}} 
void \hyperlink{classglViewer_aff63e80134c22a0163af9ef10365da19}{update\+Projection\+Matrix} (double \+\_\+aspect=0.\+0)
\begin{DoxyCompactList}\small\item\em updates projection matrix \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a5c3bc8459f255917177f028d5d830513}\label{classglViewer_a5c3bc8459f255917177f028d5d830513}} 
bool {\bfseries is\+Rotating\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a30dec8194d0ce63212b3f7b68de14095}\label{classglViewer_a30dec8194d0ce63212b3f7b68de14095}} 
bool {\bfseries look\+Around\+\_\+}
\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_ae7c99f85c612eb1eb62a4bbd8336ce88}\label{classglViewer_ae7c99f85c612eb1eb62a4bbd8336ce88}} 
void \hyperlink{classglViewer_ae7c99f85c612eb1eb62a4bbd8336ce88}{slot\+Click\+Timeout} ()
\begin{DoxyCompactList}\small\item\em Handle click timeout. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a5e0cfdf762eabf4ddf897de5039acaa0}\label{classglViewer_a5e0cfdf762eabf4ddf897de5039acaa0}} 
\hyperlink{classglViewer_a5e0cfdf762eabf4ddf897de5039acaa0}{gl\+Viewer} (const \hyperlink{classglViewer}{gl\+Viewer} \&)
\begin{DoxyCompactList}\small\item\em Copy constructor. Never used! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a22c16bc98678f02859c25e0c91ef58bf}\label{classglViewer_a22c16bc98678f02859c25e0c91ef58bf}} 
\hyperlink{classglViewer}{gl\+Viewer} \& \hyperlink{classglViewer_a22c16bc98678f02859c25e0c91ef58bf}{operator=} (const \hyperlink{classglViewer}{gl\+Viewer} \&)
\begin{DoxyCompactList}\small\item\em Assignment operator. Never used! \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a1afab830fbcc8b4451c4b9655f9672d3}\label{classglViewer_a1afab830fbcc8b4451c4b9655f9672d3}} 
void {\bfseries create\+Widgets} ()
\item 
\mbox{\Hypertarget{classglViewer_a02f8ba755afe69ee0ed660e2a647b82d}\label{classglViewer_a02f8ba755afe69ee0ed660e2a647b82d}} 
void {\bfseries draw\+Scene} (double \+\_\+aspect=0.\+0)
\item 
\mbox{\Hypertarget{classglViewer_ac4264b22ac7383a35e0a8b8344de1ed3}\label{classglViewer_ac4264b22ac7383a35e0a8b8344de1ed3}} 
void {\bfseries draw\+Scene\+\_\+mono} ()
\item 
\mbox{\Hypertarget{classglViewer_a48054e450da340bf6958b6e231ea5433}\label{classglViewer_a48054e450da340bf6958b6e231ea5433}} 
void \hyperlink{classglViewer_a48054e450da340bf6958b6e231ea5433}{set\+Coord\+Sys\+Projection} (\hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{gl\+Viewer\+::\+Projection\+Mode} \+\_\+mode)
\begin{DoxyCompactList}\small\item\em helper function for setting the projection mode of the coordinate system node \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab45d07c1d3c9ff14f633bbb916acae99}\label{classglViewer_ab45d07c1d3c9ff14f633bbb916acae99}} 
void \hyperlink{classglViewer_ab45d07c1d3c9ff14f633bbb916acae99}{draw\+Cursor} ()
\begin{DoxyCompactList}\small\item\em draw the cursor \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a092a724d6ec60329ba37e8da6f4b46a1}\label{classglViewer_a092a724d6ec60329ba37e8da6f4b46a1}} 
void {\bfseries start\+G\+L\+Debug\+Logger} ()
\item 
\mbox{\Hypertarget{classglViewer_a163b3c7bf16b1d0127f47c5a7f31a9f3}\label{classglViewer_a163b3c7bf16b1d0127f47c5a7f31a9f3}} 
void {\bfseries delete\+G\+L\+Debug\+Logger} ()
\item 
\mbox{\Hypertarget{classglViewer_a6eb3bef89f49f531ad6b8284fdddd3cf}\label{classglViewer_a6eb3bef89f49f531ad6b8284fdddd3cf}} 
void {\bfseries make\+Widget\+Current} ()
\item 
\mbox{\Hypertarget{classglViewer_a3ada131eaf7a649829077eb7c7eccba5}\label{classglViewer_a3ada131eaf7a649829077eb7c7eccba5}} 
bool {\bfseries create\+Q\+F\+BO} (Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\&\+\_\+ptr, G\+Luint $\ast$\+\_\+handle, int \+\_\+width, int \+\_\+height, int $\ast$\+\_\+samples)
\item 
\mbox{\Hypertarget{classglViewer_a656387d345c977ac1c1d1506801e0375}\label{classglViewer_a656387d345c977ac1c1d1506801e0375}} 
bool {\bfseries bind\+Q\+F\+BO} (Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\+\_\+ptr)
\item 
\mbox{\Hypertarget{classglViewer_aba9b359d7745bcdb2887fd9f9ffd3ee3}\label{classglViewer_aba9b359d7745bcdb2887fd9f9ffd3ee3}} 
bool {\bfseries Q\+F\+B\+O\+Resized} (Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\+\_\+ptr)
\item 
\mbox{\Hypertarget{classglViewer_a78e9dad7bdf4791ef4e01f1347e46803}\label{classglViewer_a78e9dad7bdf4791ef4e01f1347e46803}} 
void {\bfseries blit\+Q\+F\+BO} (Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\+\_\+ptr1, const Q\+Rect \&\+\_\+size1, Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\+\_\+ptr2, const Q\+Rect \&\+\_\+size2)
\item 
\mbox{\Hypertarget{classglViewer_a38831c56f1f57bf629e1d1c13ded9349}\label{classglViewer_a38831c56f1f57bf629e1d1c13ded9349}} 
void {\bfseries delete\+Q\+F\+BO} (Q\+Open\+G\+L\+Framebuffer\+Object $\ast$\+\_\+ptr)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Stereo rendering}\par
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classglViewer_a1485e0d04812f5b57f4dbc77982d878f}{compute\+Proj\+Stereo} (int \+\_\+width, int \+\_\+height, \hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} \&\+\_\+properties, \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} $\ast$\+\_\+out\+Left, \hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} $\ast$\+\_\+out\+Right)
\begin{DoxyCompactList}\small\item\em Compute left and right eye projection matrix for stereo rendering. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a1739023c9ebb66dda710e0700b8c8319}\label{classglViewer_a1739023c9ebb66dda710e0700b8c8319}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} {\bfseries home\+\_\+center\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aaf5300288859a5373f1a2784690fb13d}\label{classglViewer_aaf5300288859a5373f1a2784690fb13d}} 
double {\bfseries home\+\_\+radius\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a4e5b1b5742878566310d3d0dbd9cbebf}\label{classglViewer_a4e5b1b5742878566310d3d0dbd9cbebf}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} {\bfseries home\+\_\+modelview\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aaa38d2a9eb8ef89110f1e5c79c3bd189}\label{classglViewer_aaa38d2a9eb8ef89110f1e5c79c3bd189}} 
\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} {\bfseries home\+\_\+inverse\+\_\+modelview\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_ab19a60338e6ba34ab59fe25bd1274248}\label{classglViewer_ab19a60338e6ba34ab59fe25bd1274248}} 
double {\bfseries home\+Ortho\+Width\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aadc25f7abae3617d48f86374d6d410e4}\label{classglViewer_aadc25f7abae3617d48f86374d6d410e4}} 
\hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}{Normals\+Mode} {\bfseries normals\+Mode\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_af8568246dd2f9db01e9e03fc6065181e}\label{classglViewer_af8568246dd2f9db01e9e03fc6065181e}} 
\hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{Projection\+Mode} {\bfseries projection\+Mode\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_ae0efbd47b9fda786599f9072d8ac5948}\label{classglViewer_ae0efbd47b9fda786599f9072d8ac5948}} 
\hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57}{Navigation\+Mode} {\bfseries navigation\+Mode\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a08de6f306773b5ad3cc8cb789dcca71d}\label{classglViewer_a08de6f306773b5ad3cc8cb789dcca71d}} 
bool {\bfseries track\+Mouse\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a82b268bb05dc7e02201de139c06d3bca}\label{classglViewer_a82b268bb05dc7e02201de139c06d3bca}} 
bool {\bfseries glarea\+Grabbed\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a21c40c7d69d88cd9c420b9a0e3528c9d}\label{classglViewer_a21c40c7d69d88cd9c420b9a0e3528c9d}} 
double {\bfseries frame\+\_\+time\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aa06dcb6574da54fe191cb17d0f48a850}\label{classglViewer_aa06dcb6574da54fe191cb17d0f48a850}} 
\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$ {\bfseries scene\+Graph\+Root\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a4dbf3a87a38e4e4576fc313d65cb8c9b}\label{classglViewer_a4dbf3a87a38e4e4576fc313d65cb8c9b}} 
bool {\bfseries projection\+Update\+Locked\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_ac41899d34c14157e831bf7d947832d76}\label{classglViewer_ac41899d34c14157e831bf7d947832d76}} 
Q\+Graphics\+Scene $\ast$ {\bfseries gl\+Scene\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_ad75da905c20bdae6cbe04c05885c9bfd}\label{classglViewer_ad75da905c20bdae6cbe04c05885c9bfd}} 
O\+F\+G\+L\+Widget $\ast$ {\bfseries gl\+Widget\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_a8b40e82a551d8ead382769aaef6f16cd}\label{classglViewer_a8b40e82a551d8ead382769aaef6f16cd}} 
\hyperlink{classQtGLViewerLayout}{Qt\+G\+L\+Viewer\+Layout} $\ast$ {\bfseries gl\+Base\+Layout\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_af02f00a06049f1834182d5bfac144b22}\label{classglViewer_af02f00a06049f1834182d5bfac144b22}} 
std\+::vector$<$ Q\+Action $\ast$$>$ {\bfseries draw\+Menu\+Actions\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_ad9541ae0c0d2eb851e0b97256839fe87}\label{classglViewer_ad9541ae0c0d2eb851e0b97256839fe87}} 
Q\+Time {\bfseries redraw\+Time\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aea0f1521442b5c7ea541af99568f0834}\label{classglViewer_aea0f1521442b5c7ea541af99568f0834}} 
\hyperlink{classACG_1_1VertexArrayObject}{A\+C\+G\+::\+Vertex\+Array\+Object} {\bfseries default\+V\+A\+O\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_af57968fd10a6560c5c5648a444135b4f}\label{classglViewer_af57968fd10a6560c5c5648a444135b4f}} 
Q\+Open\+G\+L\+Debug\+Logger $\ast$ {\bfseries gl\+Debug\+Logger\+\_\+}
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Post Processing}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_afd25f9df57af15647f342682921ba825}\label{classglViewer_afd25f9df57af15647f342682921ba825}} 
\hyperlink{classPostProcessing}{Post\+Processing} $\ast$ \hyperlink{classglViewer_afd25f9df57af15647f342682921ba825}{postproc\+\_\+}
\begin{DoxyCompactList}\small\item\em Post-\/\+Processing executor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_ad9f8454cbfc6c3545a60f8aaad41f34b}\label{classglViewer_ad9f8454cbfc6c3545a60f8aaad41f34b}} 
class {\bfseries Qt\+G\+L\+Graphics\+Scene}
\item 
\mbox{\Hypertarget{classglViewer_ac423eeff0deccb167e6b7802ca962a37}\label{classglViewer_ac423eeff0deccb167e6b7802ca962a37}} 
class {\bfseries Simple\+G\+L\+Graphics\+Scene}
\item 
\mbox{\Hypertarget{classglViewer_aa24555e8027e8185a689c90d12788f2d}\label{classglViewer_aa24555e8027e8185a689c90d12788f2d}} 
class {\bfseries Qt\+G\+L\+Graphics\+View}
\end{DoxyCompactItemize}
\subsection*{Wheels}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a44878f1de9090b69efc048d427e3431b}\label{classglViewer_a44878f1de9090b69efc048d427e3431b}} 
\hyperlink{classACG_1_1QtWidgets_1_1QtWheel}{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Wheel} $\ast$ {\bfseries wheel\+X\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aece8b2ddcb87cf2a3bec5ee673623bfc}\label{classglViewer_aece8b2ddcb87cf2a3bec5ee673623bfc}} 
\hyperlink{classACG_1_1QtWidgets_1_1QtWheel}{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Wheel} $\ast$ {\bfseries wheel\+Y\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aa8955ed54d3997766c68344c99cbddd4}\label{classglViewer_aa8955ed54d3997766c68344c99cbddd4}} 
\hyperlink{classACG_1_1QtWidgets_1_1QtWheel}{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Wheel} $\ast$ {\bfseries wheel\+Z\+\_\+}
\item 
\mbox{\Hypertarget{classglViewer_aa32b28073960b038612a57d6c8d161d5}\label{classglViewer_aa32b28073960b038612a57d6c8d161d5}} 
bool {\bfseries wheels\+Visible} ()
\item 
\mbox{\Hypertarget{classglViewer_ac29b3a2b80077c7f212d6f462276965a}\label{classglViewer_ac29b3a2b80077c7f212d6f462276965a}} 
void {\bfseries slot\+Show\+Wheels} ()
\item 
\mbox{\Hypertarget{classglViewer_aec6b518912ef9aa171458d2c59b928e7}\label{classglViewer_aec6b518912ef9aa171458d2c59b928e7}} 
void {\bfseries slot\+Hide\+Wheels} ()
\end{DoxyCompactItemize}
\subsection*{Key handling}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classglViewer_a46b1def1a4c0b415f6590410e9ef553e}{signal\+Key\+Press\+Event} (Q\+Key\+Event $\ast$)
\begin{DoxyCompactList}\small\item\em Key Event received. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_ae374e0892f03f013bd61025845f6f17b}{key\+Press\+Event} (Q\+Key\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Get key\+Press events from the gl\+Area. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_ab9cf2f9b2c44c136f11da2244ba7ac2d}{key\+Release\+Event} (Q\+Key\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Get key\+Release events from the gl\+Area. \end{DoxyCompactList}\item 
virtual bool \hyperlink{classglViewer_aa35d841027bd3ea68363b037b7e1ee09}{view\+Key\+Press\+Event} (Q\+Key\+Event $\ast$)
\begin{DoxyCompactList}\small\item\em Handle key events in view mode. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Drag and Drop}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_acbf88b37ee977196bb465cfea66b690c}\label{classglViewer_acbf88b37ee977196bb465cfea66b690c}} 
virtual void \hyperlink{classglViewer_acbf88b37ee977196bb465cfea66b690c}{drag\+Enter\+Event} (Q\+Graphics\+Scene\+Drag\+Drop\+Event $\ast$\+\_\+e)
\begin{DoxyCompactList}\small\item\em drag \& drop for modelview copying \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_afe3f0abf667d3dc4bd835ee992c253bd}\label{classglViewer_afe3f0abf667d3dc4bd835ee992c253bd}} 
virtual void \hyperlink{classglViewer_afe3f0abf667d3dc4bd835ee992c253bd}{drop\+Event} (Q\+Graphics\+Scene\+Drag\+Drop\+Event $\ast$\+\_\+e)
\begin{DoxyCompactList}\small\item\em drag \& drop for modelview copying \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a6eb7c7867eea5eea34a424cda5206f2b}{start\+Drag\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
void \hyperlink{classglViewer_aacc76abe69982fcd9df74fdfb4cc951c}{drag\+Enter\+Event} (Q\+Drag\+Enter\+Event $\ast$\+\_\+event)
\item 
void \hyperlink{classglViewer_af46ab2ec34f01c28cc3ccc44d76a2ffa}{drop\+Event} (Q\+Drop\+Event $\ast$\+\_\+event)
\end{DoxyCompactItemize}
\subsection*{Picking}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a44946589b3b8344296da01a52668d390}\label{classglViewer_a44946589b3b8344296da01a52668d390}} 
typedef Q\+Open\+G\+L\+Framebuffer\+Object\+Format \hyperlink{classglViewer_a44946589b3b8344296da01a52668d390}{Q\+Framebuffer\+Object\+Format}
\begin{DoxyCompactList}\small\item\em Framebuffer object that holds the pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a94f2e73a6196b2e0e50c11cce56aee7e}\label{classglViewer_a94f2e73a6196b2e0e50c11cce56aee7e}} 
typedef Q\+Open\+G\+L\+Framebuffer\+Object \hyperlink{classglViewer_a94f2e73a6196b2e0e50c11cce56aee7e}{Q\+Framebuffer\+Object}
\begin{DoxyCompactList}\small\item\em Framebuffer object that holds the pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af6a361f8c880ce3211b17040a731c642}\label{classglViewer_af6a361f8c880ce3211b17040a731c642}} 
\hyperlink{classglViewer_a94f2e73a6196b2e0e50c11cce56aee7e}{Q\+Framebuffer\+Object} $\ast$ \hyperlink{classglViewer_af6a361f8c880ce3211b17040a731c642}{pick\+Cache\+\_\+}
\begin{DoxyCompactList}\small\item\em Framebuffer object that holds the pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a73f1067b844f2b84e0f4d6ec799858cd}\label{classglViewer_a73f1067b844f2b84e0f4d6ec799858cd}} 
\hyperlink{classglViewer_a94f2e73a6196b2e0e50c11cce56aee7e}{Q\+Framebuffer\+Object} $\ast$ \hyperlink{classglViewer_a73f1067b844f2b84e0f4d6ec799858cd}{mouse\+Cache\+\_\+}
\begin{DoxyCompactList}\small\item\em Framebuffer object that holds the pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af340f26d688fb57942d6558e9958793b}\label{classglViewer_af340f26d688fb57942d6558e9958793b}} 
bool \hyperlink{classglViewer_af340f26d688fb57942d6558e9958793b}{update\+Pick\+Cache\+\_\+}
\begin{DoxyCompactList}\small\item\em Should the pick cache be updated. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a4ef5e756c5a471753a408f5521ed724c}\label{classglViewer_a4ef5e756c5a471753a408f5521ed724c}} 
\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \hyperlink{classglViewer_a4ef5e756c5a471753a408f5521ed724c}{pick\+Cache\+Target\+\_\+}
\begin{DoxyCompactList}\small\item\em Pick target stored in pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ae24b175c20bb624afd2a48d96d4b22a8}\label{classglViewer_ae24b175c20bb624afd2a48d96d4b22a8}} 
bool \hyperlink{classglViewer_ae24b175c20bb624afd2a48d96d4b22a8}{pick\+Cache\+Supported\+\_\+}
\begin{DoxyCompactList}\small\item\em Is pick caching supported. \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_a03ace25bcdc8b182c6a32ab576269e1e}{pick} (\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+pick\+Target, const Q\+Point \&\+\_\+mouse\+Pos, size\+\_\+t \&\+\_\+node\+Idx, size\+\_\+t \&\+\_\+target\+Idx, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $\ast$\+\_\+hit\+Point\+Ptr=0)
\item 
bool \hyperlink{classglViewer_a2541fa04f54511a7dd18c232b1e6e265}{pick\+\_\+region} (\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+pick\+Target, const Q\+Region \&\+\_\+region, Q\+List$<$ Q\+Pair$<$ size\+\_\+t, size\+\_\+t $>$ $>$ \&\+\_\+list, Q\+Vector$<$ float $>$ $\ast$\+\_\+depths=0, Q\+Vector$<$ \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $>$ $\ast$\+\_\+points=0)
\begin{DoxyCompactList}\small\item\em Perform picking action n a whole region. \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_af062e1ff98e412324d8b473442452ffb}{fast\+\_\+pick} (const Q\+Point \&\+\_\+mouse\+Pos, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+hit\+Point)
\item 
\mbox{\Hypertarget{classglViewer_a611e2b7ce5efd37950272af322b3761f}\label{classglViewer_a611e2b7ce5efd37950272af322b3761f}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a611e2b7ce5efd37950272af322b3761f}{unproject} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&pt)
\begin{DoxyCompactList}\small\item\em Framebuffer object that holds the pick cache. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_adeb86315527074bf98c91a49035553c8}\label{classglViewer_adeb86315527074bf98c91a49035553c8}} 
int \hyperlink{classglViewer_adeb86315527074bf98c91a49035553c8}{pick\+Color} (\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+pick\+Target, const Q\+Point \&\+\_\+mouse\+Pos, size\+\_\+t \&\+\_\+node\+Idx, size\+\_\+t \&\+\_\+target\+Idx, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $\ast$\+\_\+hit\+Point\+Ptr=0)
\begin{DoxyCompactList}\small\item\em pick using colors \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aad083f54e0fb5fc05514563cae5ff7d2}\label{classglViewer_aad083f54e0fb5fc05514563cae5ff7d2}} 
int \hyperlink{classglViewer_aad083f54e0fb5fc05514563cae5ff7d2}{pick\+From\+Cache} (\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+pick\+Target, const Q\+Point \&\+\_\+mouse\+Pos, size\+\_\+t \&\+\_\+node\+Idx, size\+\_\+t \&\+\_\+target\+Idx, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $\ast$\+\_\+hit\+Point\+Ptr=0)
\begin{DoxyCompactList}\small\item\em pick from cache \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Merge from examiner}
\begin{DoxyCompactItemize}
\item 
Q\+Point \hyperlink{classglViewer_a00446950f8b6d47d8acd31636e43f51b}{last\+Point2\+D\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
float \hyperlink{classglViewer_ad6f6b273c6c9e91da8c46c91bba17b02}{start\+Depth\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction depth \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_aa2b83d75bf45d04b422df9ed9b66b039}{last\+Point3\+D\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_a9db33b61abd6b84c46ede4fa75a1a246}{last\+Point\+\_\+hit\+Sphere\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_a22941ad7c7da19057c029940dd4e763b}{allow\+Rotation\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a5a4e5688ae7163cd2b8e8496b4ad67ee}{last\+Rotation\+Axis\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a0c793a7c60bb05c66aa423844f123956}{constrained\+Rotation\+Axis\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
double \hyperlink{classglViewer_a19ac1c6a32492ab833ad7ede3f5e8e89}{last\+Rotation\+Angle\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
Q\+Time \hyperlink{classglViewer_aa2ee419cea934d78372d486a2ae084cf}{last\+Move\+Time\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
Q\+Timer $\ast$ \hyperlink{classglViewer_a2e95cbe21947cfdf06f1f46178c740e2}{timer\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
double \hyperlink{classglViewer_ab4feb33df3206ae3ed25ad60330eb80b}{fovy\+Modifier\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
Q\+Timer \hyperlink{classglViewer_a25d4c5b2ba5791e06855126379aa6d16}{click\+Timer\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
Q\+Time \hyperlink{classglViewer_a1f4b8802288ea73628a4c2de5693998f}{click\+Time\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
Q\+Mouse\+Event \hyperlink{classglViewer_a1d781d27d4d2db8b690eaac3c810021f}{click\+Event\+\_\+}
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a3d054f546c2fa9b94f00634edeffcb63}\label{classglViewer_a3d054f546c2fa9b94f00634edeffcb63}} 
void \hyperlink{classglViewer_a3d054f546c2fa9b94f00634edeffcb63}{allow\+Rotation} (bool \+\_\+mode)
\begin{DoxyCompactList}\small\item\em Lock scene rotation. \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_a9afb9f2d575ca39dfb581034b9d9f769}{allow\+Rotation} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a0df4cfddb5f1c59e0cee0b0e699612ad}{allow\+Constrained\+Rotation} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&axis)
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
bool \hyperlink{classglViewer_a342871e9b5f7af53f4a8338c53442cdb}{allow\+Constrained\+Rotation} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \& \hyperlink{classglViewer_a5b91c7d6b19081fc697cc2d41e64bd69}{get\+Constrained\+Rotation\+Axis} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_add4daaa5c8c93278f552890187fe95e8}{disallow\+Constrained\+Rotation} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_ad78a4a09c6c91b91d38a799dd60eeff9}{invalidate\+Pick\+Cache} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a581ff3dcb5ff643572f1bd740ea91c9d}{slot\+Animation} ()
\begin{DoxyCompactList}\small\item\em mouse interaction position \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a656fae1bd13c44702337189b12f467f6}\label{classglViewer_a656fae1bd13c44702337189b12f467f6}} 
bool \hyperlink{classglViewer_a656fae1bd13c44702337189b12f467f6}{map\+To\+Sphere} (const Q\+Point \&\+\_\+p, \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+result) const
\begin{DoxyCompactList}\small\item\em virtual trackball\+: map 2D screen point to unit sphere \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a770d0fc610cbc08c0497b4c30ba11b40}\label{classglViewer_a770d0fc610cbc08c0497b4c30ba11b40}} 
void \hyperlink{classglViewer_a770d0fc610cbc08c0497b4c30ba11b40}{handle\+First\+Person\+Navigation} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Navigate through scene if first person mode has been selected. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a539aefc393eab6761775ba725f34fa7e}\label{classglViewer_a539aefc393eab6761775ba725f34fa7e}} 
void \hyperlink{classglViewer_a539aefc393eab6761775ba725f34fa7e}{handle\+Normal\+Navigation} (Q\+Mouse\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em Navigate through scene if normal mode has been selected. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Viewer State}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_aa9ce09d920545983b8fe8f439f866ce9}\label{classglViewer_aa9ce09d920545983b8fe8f439f866ce9}} 
\hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} \& \hyperlink{classglViewer_aa9ce09d920545983b8fe8f439f866ce9}{properties\+\_\+}
\begin{DoxyCompactList}\small\item\em All properties for this viewer. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a973f1239106e8ab29f3d6f17cd29e23a}\label{classglViewer_a973f1239106e8ab29f3d6f17cd29e23a}} 
\hyperlink{classACG_1_1GLState}{A\+C\+G\+::\+G\+L\+State} $\ast$ \hyperlink{classglViewer_a973f1239106e8ab29f3d6f17cd29e23a}{glstate\+\_\+}
\begin{DoxyCompactList}\small\item\em Gl State. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a1e5722c4f532b90ea0e4ec8ab8e2ce72}\label{classglViewer_a1e5722c4f532b90ea0e4ec8ab8e2ce72}} 
bool \hyperlink{classglViewer_a1e5722c4f532b90ea0e4ec8ab8e2ce72}{initialized\+\_\+}
\begin{DoxyCompactList}\small\item\em Have the viewer gl properties been initalized. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a196247d4b997aeafdd42dfecc0bea987}\label{classglViewer_a196247d4b997aeafdd42dfecc0bea987}} 
\hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} $\ast$ \hyperlink{classglViewer_a196247d4b997aeafdd42dfecc0bea987}{properties} ()
\begin{DoxyCompactList}\small\item\em Returns a pointer to the Viewer Status. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ac865c049b209a98da5336d5dd554562e}\label{classglViewer_ac865c049b209a98da5336d5dd554562e}} 
const \hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} $\ast$ \hyperlink{classglViewer_ac865c049b209a98da5336d5dd554562e}{properties} () const
\begin{DoxyCompactList}\small\item\em All properties for this viewer. \end{DoxyCompactList}\item 
void \hyperlink{classglViewer_a447cb4cd04c778ae72dacd1e165f06f8}{slot\+Properties\+Updated} ()
\item 
void \hyperlink{classglViewer_ab625defb1e20d9a9c00e48c252a32943}{apply\+Properties} ()
\end{DoxyCompactItemize}
\subsection*{Flying animation properties}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classglViewer_a6245504c91f518d005b210f58a2b4f35}\label{classglViewer_a6245504c91f518d005b210f58a2b4f35}} 
Q\+Property\+Animation $\ast$ \hyperlink{classglViewer_a6245504c91f518d005b210f58a2b4f35}{fly\+Animation\+Perspective\+\_\+}
\begin{DoxyCompactList}\small\item\em The animation object for fly\+To. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a7b9a9d98fdf850df160c7f5bbc268f78}\label{classglViewer_a7b9a9d98fdf850df160c7f5bbc268f78}} 
Q\+Property\+Animation $\ast$ \hyperlink{classglViewer_a7b9a9d98fdf850df160c7f5bbc268f78}{fly\+Animation\+Orthogonal\+\_\+}
\begin{DoxyCompactList}\small\item\em The animation object for fly\+To. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_affe925649029e02a69efbf83781cd67a}\label{classglViewer_affe925649029e02a69efbf83781cd67a}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_affe925649029e02a69efbf83781cd67a}{fly\+Translation\+\_\+}
\begin{DoxyCompactList}\small\item\em Full translation between start and ed of animation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab0c759ea5cef46826f0e30c084bedd2f}\label{classglViewer_ab0c759ea5cef46826f0e30c084bedd2f}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_ab0c759ea5cef46826f0e30c084bedd2f}{fly\+Axis\+\_\+}
\begin{DoxyCompactList}\small\item\em The rotation axis for fly to animation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aa6d9339d5d838ee09eecc56d790c4671}\label{classglViewer_aa6d9339d5d838ee09eecc56d790c4671}} 
double \hyperlink{classglViewer_aa6d9339d5d838ee09eecc56d790c4671}{fly\+Angle\+\_\+}
\begin{DoxyCompactList}\small\item\em The rotation angle (full angle) for fly to animation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a2a9fd4683176f174aa04c5696b23e47d}\label{classglViewer_a2a9fd4683176f174aa04c5696b23e47d}} 
double \hyperlink{classglViewer_a2a9fd4683176f174aa04c5696b23e47d}{last\+Animation\+Pos\+\_\+}
\begin{DoxyCompactList}\small\item\em The last position of the animation to compute the difference vector. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_acd52c1ba4244985f46333717a6bc3a74}\label{classglViewer_acd52c1ba4244985f46333717a6bc3a74}} 
double \hyperlink{classglViewer_acd52c1ba4244985f46333717a6bc3a74}{current\+Animation\+Pos\+\_\+}
\begin{DoxyCompactList}\small\item\em The property that is animated by fly\+To. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a679f07803530ba229b02f036f32a50cd}\label{classglViewer_a679f07803530ba229b02f036f32a50cd}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a679f07803530ba229b02f036f32a50cd}{fly\+Center\+\_\+}
\begin{DoxyCompactList}\small\item\em The new center after the fly\+To animation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a548b82fa57e9cc07dffda3932eb3f78f}\label{classglViewer_a548b82fa57e9cc07dffda3932eb3f78f}} 
\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \hyperlink{classglViewer_a548b82fa57e9cc07dffda3932eb3f78f}{fly\+Position\+\_\+}
\begin{DoxyCompactList}\small\item\em The new position after the fly\+To animation. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a58cd844c22b5735d0b34380faea69b64}\label{classglViewer_a58cd844c22b5735d0b34380faea69b64}} 
double \hyperlink{classglViewer_a58cd844c22b5735d0b34380faea69b64}{fly\+Ortho\+Width\+Original\+\_\+}
\begin{DoxyCompactList}\small\item\em Original orthogonal width during fly\+To in orthogonal mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_abf51c9169d5d30a68fe94be09c73f6c3}\label{classglViewer_abf51c9169d5d30a68fe94be09c73f6c3}} 
bool \hyperlink{classglViewer_abf51c9169d5d30a68fe94be09c73f6c3}{fly\+Move\+Back\+\_\+}
\begin{DoxyCompactList}\small\item\em Flag for fly in orthogonal mode if we move back or forward. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af80a58727bbbaac582f17c1b2ffb998d}\label{classglViewer_af80a58727bbbaac582f17c1b2ffb998d}} 
double \hyperlink{classglViewer_af80a58727bbbaac582f17c1b2ffb998d}{current\+Animation\+Position}
\begin{DoxyCompactList}\small\item\em The animation object for fly\+To. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_aa5343e61522e7b71c99b6ab74454f432}\label{classglViewer_aa5343e61522e7b71c99b6ab74454f432}} 
void \hyperlink{classglViewer_aa5343e61522e7b71c99b6ab74454f432}{current\+Animation\+Pos\+Changed} (double \+\_\+current\+Animation\+Pos)
\begin{DoxyCompactList}\small\item\em Emitted when the current\+Animation\+Position changed. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_ae420bd6e3f132f6de27faa93d5df1f55}{fly\+To} (const Q\+Point \&\+\_\+pos, bool \+\_\+move\+Back)
\begin{DoxyCompactList}\small\item\em Animated flight to or away from a given point. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_ac13823fc6d7c827633a5ad434892ad00}{fly\+To} (const Q\+Point \&\+\_\+pos)
\begin{DoxyCompactList}\small\item\em Animated flight. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_afa7e2db85d8d707e4c4909ebfafdd562}{fly\+From} (const Q\+Point \&\+\_\+pos)
\begin{DoxyCompactList}\small\item\em Animated flight. \end{DoxyCompactList}\item 
virtual void \hyperlink{classglViewer_a55792e262df903fbadced74b83084237}{fly\+To} (const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+position, const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center, int \+\_\+time=1000)
\item 
\mbox{\Hypertarget{classglViewer_a5e1a8b88530f04b95078acadc18878d7}\label{classglViewer_a5e1a8b88530f04b95078acadc18878d7}} 
void \hyperlink{classglViewer_a5e1a8b88530f04b95078acadc18878d7}{fly\+Animation\+Perspective} (Q\+Variant \+\_\+pos)
\begin{DoxyCompactList}\small\item\em Slot called during fly\+To Animation in perspective mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af4dadc5636c85ee5181b6095eedc21f6}\label{classglViewer_af4dadc5636c85ee5181b6095eedc21f6}} 
void \hyperlink{classglViewer_af4dadc5636c85ee5181b6095eedc21f6}{fly\+Animation\+Orthogonal} (Q\+Variant \+\_\+pos)
\begin{DoxyCompactList}\small\item\em Slot called during fly\+To Animation in orthogonal mode. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_af4229bbfb972f149519bf807f4c51a2c}\label{classglViewer_af4229bbfb972f149519bf807f4c51a2c}} 
void \hyperlink{classglViewer_af4229bbfb972f149519bf807f4c51a2c}{fly\+Animation\+Perspective\+Finished} ()
\begin{DoxyCompactList}\small\item\em Slot called when fly\+To perspective Animation finished. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_ab62fa6cbba469c4e1336b153b4b0ad52}\label{classglViewer_ab62fa6cbba469c4e1336b153b4b0ad52}} 
void \hyperlink{classglViewer_ab62fa6cbba469c4e1336b153b4b0ad52}{fly\+Animation\+Orthogonal\+Finished} ()
\begin{DoxyCompactList}\small\item\em Slot called when fly\+To orthogonal Animation finished. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_a04490397da74a0ab848a57b7667b5c56}\label{classglViewer_a04490397da74a0ab848a57b7667b5c56}} 
double \hyperlink{classglViewer_a04490397da74a0ab848a57b7667b5c56}{current\+Animation\+Pos} ()
\begin{DoxyCompactList}\small\item\em Getter for afly\+To\+Animation\+Position. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classglViewer_acc59ea60d7360831dbea2fda25701602}\label{classglViewer_acc59ea60d7360831dbea2fda25701602}} 
void \hyperlink{classglViewer_acc59ea60d7360831dbea2fda25701602}{current\+Animation\+Pos} (double \+\_\+current\+Animation\+Pos)
\begin{DoxyCompactList}\small\item\em Setter for afly\+To\+Animation\+Position. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base Viewer Widget\+: All viewers are derived from this one. Implements Mouse \& Keyboard Events. 

Definition at line 126 of file Qt\+Base\+Viewer.\+hh.



\subsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classglViewer_a811de4b9a4151af7255e085014f8bb57}\label{classglViewer_a811de4b9a4151af7255e085014f8bb57}} 
\index{gl\+Viewer@{gl\+Viewer}!Navigation\+Mode@{Navigation\+Mode}}
\index{Navigation\+Mode@{Navigation\+Mode}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{Navigation\+Mode}{NavigationMode}}
{\footnotesize\ttfamily enum \hyperlink{classglViewer_a811de4b9a4151af7255e085014f8bb57}{gl\+Viewer\+::\+Navigation\+Mode}}



Navigation mode. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON@{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON@{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}}}\mbox{\Hypertarget{classglViewer_a811de4b9a4151af7255e085014f8bb57aa786e9574eb166f22a2162dda3336625}\label{classglViewer_a811de4b9a4151af7255e085014f8bb57aa786e9574eb166f22a2162dda3336625}} 
N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON&Normal mode. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON@{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON@{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON}}}\mbox{\Hypertarget{classglViewer_a811de4b9a4151af7255e085014f8bb57ac3f29e29b2a593884be18ebcee385aeb}\label{classglViewer_a811de4b9a4151af7255e085014f8bb57ac3f29e29b2a593884be18ebcee385aeb}} 
F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+ON&First person mode. \\
\hline

\end{DoxyEnumFields}


Definition at line 202 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}\label{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}} 
\index{gl\+Viewer@{gl\+Viewer}!Normals\+Mode@{Normals\+Mode}}
\index{Normals\+Mode@{Normals\+Mode}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{Normals\+Mode}{NormalsMode}}
{\footnotesize\ttfamily enum \hyperlink{classglViewer_aadec7bceb301564e3ec6dfdba72334fc}{gl\+Viewer\+::\+Normals\+Mode}}



Automatically normalize normals? 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS@{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS@{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS}}}\mbox{\Hypertarget{classglViewer_aadec7bceb301564e3ec6dfdba72334fca1be493a002b76cae55a430acb6ad46dc}\label{classglViewer_aadec7bceb301564e3ec6dfdba72334fca1be493a002b76cae55a430acb6ad46dc}} 
D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+LS&use provided normals as is \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS@{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS@{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS}}}\mbox{\Hypertarget{classglViewer_aadec7bceb301564e3ec6dfdba72334fca55f7de2ad77cd04402094e5f6b62d771}\label{classglViewer_aadec7bceb301564e3ec6dfdba72334fca55f7de2ad77cd04402094e5f6b62d771}} 
N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+LS&Automatically normalize normals. Input normals are not normalized {\itshape or} the transformation matrix does scaling or shearing. \\
\hline

\end{DoxyEnumFields}


Definition at line 230 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}\label{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}} 
\index{gl\+Viewer@{gl\+Viewer}!Projection\+Mode@{Projection\+Mode}}
\index{Projection\+Mode@{Projection\+Mode}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{Projection\+Mode}{ProjectionMode}}
{\footnotesize\ttfamily enum \hyperlink{classglViewer_a410894db0a91cbe0db227fdfd1d7de10}{gl\+Viewer\+::\+Projection\+Mode}}



projection mode 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON@{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON@{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}}}\mbox{\Hypertarget{classglViewer_a410894db0a91cbe0db227fdfd1d7de10ade297f12b9ffb4273aafdc6c817bc347}\label{classglViewer_a410894db0a91cbe0db227fdfd1d7de10ade297f12b9ffb4273aafdc6c817bc347}} 
O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON&orthographic \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON@{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}!gl\+Viewer@{gl\+Viewer}}\index{gl\+Viewer@{gl\+Viewer}!P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON@{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON}}}\mbox{\Hypertarget{classglViewer_a410894db0a91cbe0db227fdfd1d7de10a79422bc64c445223b76b06ab4d729914}\label{classglViewer_a410894db0a91cbe0db227fdfd1d7de10a79422bc64c445223b76b06ab4d729914}} 
P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+ON&perspective \\
\hline

\end{DoxyEnumFields}


Definition at line 196 of file Qt\+Base\+Viewer.\+hh.



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classglViewer_ad73b25e713785eff9bb3781e249b422d}\label{classglViewer_ad73b25e713785eff9bb3781e249b422d}} 
\index{gl\+Viewer@{gl\+Viewer}!gl\+Viewer@{gl\+Viewer}}
\index{gl\+Viewer@{gl\+Viewer}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{gl\+Viewer()}{glViewer()}}
{\footnotesize\ttfamily gl\+Viewer\+::gl\+Viewer (\begin{DoxyParamCaption}\item[{Q\+Graphics\+Scene $\ast$}]{\+\_\+scene,  }\item[{O\+F\+G\+L\+Widget $\ast$}]{\+\_\+gl\+Widget,  }\item[{\hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} \&}]{\+\_\+properties,  }\item[{Q\+Graphics\+Widget $\ast$}]{\+\_\+parent = {\ttfamily 0} }\end{DoxyParamCaption})}

Create a \hyperlink{classglViewer}{gl\+Viewer}.


\begin{DoxyParams}{Parameters}
{\em \+\_\+scene} & The graphics scene that will be the parent of this widget \\
\hline
{\em \+\_\+gl\+Widget} & A pointer to the underlying gl widget \\
\hline
{\em \+\_\+properties} & viewer\+Options controlled by \hyperlink{namespacePluginFunctions}{Plugin\+Functions} \\
\hline
{\em \+\_\+parent} & The parent graphicswidget \\
\hline
\end{DoxyParams}


Definition at line 120 of file Qt\+Base\+Viewer.\+cc.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classglViewer_a0312c68e5d7a4d3a908c38fe33c498c2}\label{classglViewer_a0312c68e5d7a4d3a908c38fe33c498c2}} 
\index{gl\+Viewer@{gl\+Viewer}!action\+Copy\+View@{action\+Copy\+View}}
\index{action\+Copy\+View@{action\+Copy\+View}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{action\+Copy\+View}{actionCopyView}}
{\footnotesize\ttfamily void gl\+Viewer\+::action\+Copy\+View (\begin{DoxyParamCaption}\item[{const Q\+Size \&}]{\+\_\+window\+Size = {\ttfamily QSize(-\/1,-\/1)},  }\item[{const int}]{\+\_\+splitter\+Width = {\ttfamily -\/1},  }\item[{const bool}]{\+\_\+make\+\_\+c\+\_\+string = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}

if you want to save the window\+Size, use the parameter \begin{DoxyNote}{Note}
Q\+Size(0,0) indicates that the window is maximized 
\end{DoxyNote}


Definition at line 1323 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a4080043b98badf413670bc0b445c27c7}\label{classglViewer_a4080043b98badf413670bc0b445c27c7}} 
\index{gl\+Viewer@{gl\+Viewer}!action\+Paste\+View@{action\+Paste\+View}}
\index{action\+Paste\+View@{action\+Paste\+View}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{action\+Paste\+View}{actionPasteView}}
{\footnotesize\ttfamily void gl\+Viewer\+::action\+Paste\+View (\begin{DoxyParamCaption}\item[{Q\+Size $\ast$}]{\+\_\+window\+Size = {\ttfamily NULL},  }\item[{int $\ast$}]{\+\_\+splitter\+Width = {\ttfamily NULL} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [slot]}}

you get the older window size (if saved) back \begin{DoxyNote}{Note}
Q\+Size(0,0) indicates that the window is maximized. 

\+\_\+splitter\+Width is -\/1 if no splitter\+Width was saved 
\end{DoxyNote}


Definition at line 1335 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a0df4cfddb5f1c59e0cee0b0e699612ad}\label{classglViewer_a0df4cfddb5f1c59e0cee0b0e699612ad}} 
\index{gl\+Viewer@{gl\+Viewer}!allow\+Constrained\+Rotation@{allow\+Constrained\+Rotation}}
\index{allow\+Constrained\+Rotation@{allow\+Constrained\+Rotation}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{allow\+Constrained\+Rotation()}{allowConstrainedRotation()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void gl\+Viewer\+::allow\+Constrained\+Rotation (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{axis }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 903 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a342871e9b5f7af53f4a8338c53442cdb}\label{classglViewer_a342871e9b5f7af53f4a8338c53442cdb}} 
\index{gl\+Viewer@{gl\+Viewer}!allow\+Constrained\+Rotation@{allow\+Constrained\+Rotation}}
\index{allow\+Constrained\+Rotation@{allow\+Constrained\+Rotation}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{allow\+Constrained\+Rotation()}{allowConstrainedRotation()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool gl\+Viewer\+::allow\+Constrained\+Rotation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 906 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a9afb9f2d575ca39dfb581034b9d9f769}\label{classglViewer_a9afb9f2d575ca39dfb581034b9d9f769}} 
\index{gl\+Viewer@{gl\+Viewer}!allow\+Rotation@{allow\+Rotation}}
\index{allow\+Rotation@{allow\+Rotation}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{allow\+Rotation()}{allowRotation()}}
{\footnotesize\ttfamily bool gl\+Viewer\+::allow\+Rotation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 901 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ab625defb1e20d9a9c00e48c252a32943}\label{classglViewer_ab625defb1e20d9a9c00e48c252a32943}} 
\index{gl\+Viewer@{gl\+Viewer}!apply\+Properties@{apply\+Properties}}
\index{apply\+Properties@{apply\+Properties}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{apply\+Properties()}{applyProperties()}}
{\footnotesize\ttfamily void gl\+Viewer\+::apply\+Properties (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}

This will apply all properties without redrawing You have to set the context yourself! 

Definition at line 2219 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a1485e0d04812f5b57f4dbc77982d878f}\label{classglViewer_a1485e0d04812f5b57f4dbc77982d878f}} 
\index{gl\+Viewer@{gl\+Viewer}!compute\+Proj\+Stereo@{compute\+Proj\+Stereo}}
\index{compute\+Proj\+Stereo@{compute\+Proj\+Stereo}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{compute\+Proj\+Stereo()}{computeProjStereo()}}
{\footnotesize\ttfamily void gl\+Viewer\+::compute\+Proj\+Stereo (\begin{DoxyParamCaption}\item[{int}]{\+\_\+width,  }\item[{int}]{\+\_\+height,  }\item[{\hyperlink{classViewer_1_1ViewerProperties}{Viewer\+::\+Viewer\+Properties} \&}]{\+\_\+properties,  }\item[{\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} $\ast$}]{\+\_\+out\+Left,  }\item[{\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} $\ast$}]{\+\_\+out\+Right }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Compute left and right eye projection matrix for stereo rendering. 


\begin{DoxyParams}{Parameters}
{\em \+\_\+width} & viewport width \\
\hline
{\em \+\_\+height} & viewport height \\
\hline
{\em \+\_\+properties} & viewer props \\
\hline
{\em \+\_\+out\+Left} & \mbox{[}out\mbox{]} projection matrix for left eye \\
\hline
{\em \+\_\+out\+Right} & \mbox{[}out\mbox{]} projection matrix for right eye \\
\hline
\end{DoxyParams}


Definition at line 2585 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a063fef342a369b30a750cb2ec3b6dd26}\label{classglViewer_a063fef342a369b30a750cb2ec3b6dd26}} 
\index{gl\+Viewer@{gl\+Viewer}!decode\+View@{decode\+View}}
\index{decode\+View@{decode\+View}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{decode\+View()}{decodeView()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool gl\+Viewer\+::decode\+View (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{\+\_\+view,  }\item[{\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&}]{m,  }\item[{\hyperlink{namespaceACG_a574eaee6f4eff166845ff5c654b0b852}{A\+C\+G\+::\+G\+L\+Matrixd} \&}]{p,  }\item[{int \&}]{p\+Mode,  }\item[{double \&}]{ortho\+\_\+width,  }\item[{Q\+Size $\ast$}]{\+\_\+window\+Size = {\ttfamily NULL},  }\item[{int $\ast$}]{\+\_\+splitter\+Width = {\ttfamily NULL},  }\item[{Q\+Size $\ast$}]{\+\_\+viewport\+Size = {\ttfamily NULL} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

Decode text representation of view encoded by \hyperlink{classglViewer_a0340f00ac2eefca03531481d663180fd}{encode\+View()} into the supplied output parameters.

If {\ttfamily \+\_\+view} was successfully decoded {\ttfamily true} is returned, {\ttfamily false} is returned otherwise.

You can save the current Window size via parameter \+\_\+window\+Size and one splitter size via \+\_\+splitterwidth

\begin{DoxyNote}{Note}
Q\+Size(0,0) indicates that the window was maximized. 

\+\_\+splitter\+Width is -\/1 if no splitter\+Width was saved 
\end{DoxyNote}


Definition at line 1182 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a502b4799e7509dfdd6760e91d51e7b36}\label{classglViewer_a502b4799e7509dfdd6760e91d51e7b36}} 
\index{gl\+Viewer@{gl\+Viewer}!decode\+View@{decode\+View}}
\index{decode\+View@{decode\+View}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{decode\+View()}{decodeView()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool gl\+Viewer\+::decode\+View (\begin{DoxyParamCaption}\item[{const Q\+String \&}]{\+\_\+view,  }\item[{Q\+Size $\ast$}]{\+\_\+window\+Size = {\ttfamily NULL},  }\item[{int $\ast$}]{\+\_\+tool\+Bar\+Width = {\ttfamily NULL},  }\item[{Q\+Size $\ast$}]{\+\_\+viewport\+Size = {\ttfamily NULL} }\end{DoxyParamCaption})}

Decode and apply text representation of view encoded by \hyperlink{classglViewer_a0340f00ac2eefca03531481d663180fd}{encode\+View()}. If {\ttfamily \+\_\+view} was successfully decoded it will immediately be applied and {\ttfamily true} is returned, {\ttfamily false} is returned else.

You can save the current Window size via parameter \+\_\+window\+Size and one splitter size via \+\_\+splitterwidth These values will not be applied immediately. \begin{DoxyNote}{Note}
Q\+Size(0,0) indicates that the window was maximized. 

\+\_\+splitter\+Width is -\/1 if no splitter\+Width was saved 
\end{DoxyNote}


Definition at line 1286 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_add4daaa5c8c93278f552890187fe95e8}\label{classglViewer_add4daaa5c8c93278f552890187fe95e8}} 
\index{gl\+Viewer@{gl\+Viewer}!disallow\+Constrained\+Rotation@{disallow\+Constrained\+Rotation}}
\index{disallow\+Constrained\+Rotation@{disallow\+Constrained\+Rotation}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{disallow\+Constrained\+Rotation()}{disallowConstrainedRotation()}}
{\footnotesize\ttfamily void gl\+Viewer\+::disallow\+Constrained\+Rotation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 912 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aacc76abe69982fcd9df74fdfb4cc951c}\label{classglViewer_aacc76abe69982fcd9df74fdfb4cc951c}} 
\index{gl\+Viewer@{gl\+Viewer}!drag\+Enter\+Event@{drag\+Enter\+Event}}
\index{drag\+Enter\+Event@{drag\+Enter\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{drag\+Enter\+Event}{dragEnterEvent}}
{\footnotesize\ttfamily void gl\+Viewer\+::drag\+Enter\+Event (\begin{DoxyParamCaption}\item[{Q\+Drag\+Enter\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Signal is emitted only if in external\+Drag\+Mode ( see set\+External\+Drag ) It will be send if a drag enters the gl widget. \mbox{\Hypertarget{classglViewer_af46ab2ec34f01c28cc3ccc44d76a2ffa}\label{classglViewer_af46ab2ec34f01c28cc3ccc44d76a2ffa}} 
\index{gl\+Viewer@{gl\+Viewer}!drop\+Event@{drop\+Event}}
\index{drop\+Event@{drop\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{drop\+Event}{dropEvent}}
{\footnotesize\ttfamily void gl\+Viewer\+::drop\+Event (\begin{DoxyParamCaption}\item[{Q\+Drop\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Signal is emitted only if in external\+Drag\+Mode ( see set\+External\+Drag ) It will be send if a drop occurs in the gl widget. \mbox{\Hypertarget{classglViewer_a0340f00ac2eefca03531481d663180fd}\label{classglViewer_a0340f00ac2eefca03531481d663180fd}} 
\index{gl\+Viewer@{gl\+Viewer}!encode\+View@{encode\+View}}
\index{encode\+View@{encode\+View}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{encode\+View()}{encodeView()}}
{\footnotesize\ttfamily void gl\+Viewer\+::encode\+View (\begin{DoxyParamCaption}\item[{Q\+String \&}]{\+\_\+view,  }\item[{const Q\+Size \&}]{\+\_\+window\+Size = {\ttfamily QSize(-\/1,-\/1)},  }\item[{const int}]{\+\_\+tool\+Bar\+Width = {\ttfamily -\/1},  }\item[{const bool}]{\+\_\+make\+\_\+c\+\_\+string = {\ttfamily false} }\end{DoxyParamCaption})}

convert current view to text representation if saved, the old window size will be written into \+\_\+window\+Size \begin{DoxyNote}{Note}
Q\+Size(0,0) indicates that the window is maximized. 
\end{DoxyNote}


Definition at line 1139 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_af062e1ff98e412324d8b473442452ffb}\label{classglViewer_af062e1ff98e412324d8b473442452ffb}} 
\index{gl\+Viewer@{gl\+Viewer}!fast\+\_\+pick@{fast\+\_\+pick}}
\index{fast\+\_\+pick@{fast\+\_\+pick}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fast\+\_\+pick()}{fast\_pick()}}
{\footnotesize\ttfamily bool gl\+Viewer\+::fast\+\_\+pick (\begin{DoxyParamCaption}\item[{const Q\+Point \&}]{\+\_\+mouse\+Pos,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+hit\+Point }\end{DoxyParamCaption})}

get the coordinates of the picked point by z-\/buffer re-\/projection 
\begin{DoxyParams}{Parameters}
{\em \+\_\+mouse\+Pos} & The position to pick \\
\hline
{\em \+\_\+hit\+Point} & The point returned by the reprojection \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 623 of file Qt\+Base\+Viewer\+Picking.\+cc.

\mbox{\Hypertarget{classglViewer_afa7e2db85d8d707e4c4909ebfafdd562}\label{classglViewer_afa7e2db85d8d707e4c4909ebfafdd562}} 
\index{gl\+Viewer@{gl\+Viewer}!fly\+From@{fly\+From}}
\index{fly\+From@{fly\+From}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fly\+From}{flyFrom}}
{\footnotesize\ttfamily virtual void gl\+Viewer\+::fly\+From (\begin{DoxyParamCaption}\item[{const Q\+Point \&}]{\+\_\+pos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [slot]}}



Animated flight. 

Animated flight away from the given point. 

Definition at line 1031 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ae420bd6e3f132f6de27faa93d5df1f55}\label{classglViewer_ae420bd6e3f132f6de27faa93d5df1f55}} 
\index{gl\+Viewer@{gl\+Viewer}!fly\+To@{fly\+To}}
\index{fly\+To@{fly\+To}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fly\+To}{flyTo}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily void gl\+Viewer\+::fly\+To (\begin{DoxyParamCaption}\item[{const Q\+Point \&}]{\+\_\+pos,  }\item[{bool}]{\+\_\+move\+Back }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}



Animated flight to or away from a given point. 

Animated flight to or away from a given point.


\begin{DoxyParams}{Parameters}
{\em \+\_\+pos} & Point defining direction of flight (eye-\/point) \\
\hline
{\em \+\_\+move\+Back} & To or away from point? \\
\hline
\end{DoxyParams}


Definition at line 65 of file Qt\+Base\+Viewer\+Fly\+Animation.\+cc.

\mbox{\Hypertarget{classglViewer_ac13823fc6d7c827633a5ad434892ad00}\label{classglViewer_ac13823fc6d7c827633a5ad434892ad00}} 
\index{gl\+Viewer@{gl\+Viewer}!fly\+To@{fly\+To}}
\index{fly\+To@{fly\+To}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fly\+To}{flyTo}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily virtual void gl\+Viewer\+::fly\+To (\begin{DoxyParamCaption}\item[{const Q\+Point \&}]{\+\_\+pos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [slot]}}



Animated flight. 

Animated flight into the direction of the given point. 

Definition at line 1023 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a55792e262df903fbadced74b83084237}\label{classglViewer_a55792e262df903fbadced74b83084237}} 
\index{gl\+Viewer@{gl\+Viewer}!fly\+To@{fly\+To}}
\index{fly\+To@{fly\+To}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fly\+To}{flyTo}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void gl\+Viewer\+::fly\+To (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+position,  }\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center,  }\item[{int}]{\+\_\+time = {\ttfamily 1000} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}

Fly to point and set new viewing direction (animated). 
\begin{DoxyParams}{Parameters}
{\em \+\_\+position} & New viewer position ( the new eye point of the viewer ) \\
\hline
{\em \+\_\+center} & The new scene center ( the point we are looking at ) \\
\hline
{\em \+\_\+time} & Animation time in ms \\
\hline
\end{DoxyParams}


Definition at line 221 of file Qt\+Base\+Viewer\+Fly\+Animation.\+cc.

\mbox{\Hypertarget{classglViewer_a5b91c7d6b19081fc697cc2d41e64bd69}\label{classglViewer_a5b91c7d6b19081fc697cc2d41e64bd69}} 
\index{gl\+Viewer@{gl\+Viewer}!get\+Constrained\+Rotation\+Axis@{get\+Constrained\+Rotation\+Axis}}
\index{get\+Constrained\+Rotation\+Axis@{get\+Constrained\+Rotation\+Axis}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{get\+Constrained\+Rotation\+Axis()}{getConstrainedRotationAxis()}}
{\footnotesize\ttfamily const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}\& gl\+Viewer\+::get\+Constrained\+Rotation\+Axis (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 909 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ae496c7f46e2001020468aa04ccd43609}\label{classglViewer_ae496c7f46e2001020468aa04ccd43609}} 
\index{gl\+Viewer@{gl\+Viewer}!initialize\+GL@{initialize\+GL}}
\index{initialize\+GL@{initialize\+GL}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{initialize\+G\+L()}{initializeGL()}}
{\footnotesize\ttfamily void gl\+Viewer\+::initialize\+GL (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}



Return a resonable size hint. 

initialize Open\+GL states 

Definition at line 968 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_ad78a4a09c6c91b91d38a799dd60eeff9}\label{classglViewer_ad78a4a09c6c91b91d38a799dd60eeff9}} 
\index{gl\+Viewer@{gl\+Viewer}!invalidate\+Pick\+Cache@{invalidate\+Pick\+Cache}}
\index{invalidate\+Pick\+Cache@{invalidate\+Pick\+Cache}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{invalidate\+Pick\+Cache()}{invalidatePickCache()}}
{\footnotesize\ttfamily void gl\+Viewer\+::invalidate\+Pick\+Cache (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 915 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ae374e0892f03f013bd61025845f6f17b}\label{classglViewer_ae374e0892f03f013bd61025845f6f17b}} 
\index{gl\+Viewer@{gl\+Viewer}!key\+Press\+Event@{key\+Press\+Event}}
\index{key\+Press\+Event@{key\+Press\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{key\+Press\+Event()}{keyPressEvent()}}
{\footnotesize\ttfamily virtual void gl\+Viewer\+::key\+Press\+Event (\begin{DoxyParamCaption}\item[{Q\+Key\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}



Get key\+Press events from the gl\+Area. 

This function is called by the internal gl widget when receiving a key press event. 

Definition at line 726 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ab9cf2f9b2c44c136f11da2244ba7ac2d}\label{classglViewer_ab9cf2f9b2c44c136f11da2244ba7ac2d}} 
\index{gl\+Viewer@{gl\+Viewer}!key\+Release\+Event@{key\+Release\+Event}}
\index{key\+Release\+Event@{key\+Release\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{key\+Release\+Event()}{keyReleaseEvent()}}
{\footnotesize\ttfamily virtual void gl\+Viewer\+::key\+Release\+Event (\begin{DoxyParamCaption}\item[{Q\+Key\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}



Get key\+Release events from the gl\+Area. 

This function is called by the internal gl widget when receiving a key release event. Here these events are simply passed to the parent widget. 

Definition at line 734 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a03ace25bcdc8b182c6a32ab576269e1e}\label{classglViewer_a03ace25bcdc8b182c6a32ab576269e1e}} 
\index{gl\+Viewer@{gl\+Viewer}!pick@{pick}}
\index{pick@{pick}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{pick()}{pick()}}
{\footnotesize\ttfamily bool gl\+Viewer\+::pick (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target}}]{\+\_\+pick\+Target,  }\item[{const Q\+Point \&}]{\+\_\+mouse\+Pos,  }\item[{size\+\_\+t \&}]{\+\_\+node\+Idx,  }\item[{size\+\_\+t \&}]{\+\_\+target\+Idx,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $\ast$}]{\+\_\+hit\+Point\+Ptr = {\ttfamily 0} }\end{DoxyParamCaption})}

Apply pick action. ~\newline
 Information about the picked primitive is stored in the provided pointers. No information is stored if 0-\/pointers are given. Resulting values are defined only if {\ttfamily true} has been returned!~\newline



\begin{DoxyParams}{Parameters}
{\em \+\_\+pick\+Target} & Select what should be picked\+: Faces/\+Vertices/... \\
\hline
{\em \+\_\+mouse\+Pos} & The position to be used for picking \\
\hline
{\em \+\_\+node\+Idx} & If picking is successful this will contain the id of the scenegraph node picked. \\
\hline
{\em \+\_\+target\+Idx} & Special index defined by the picked Node. E.\+g. Facehandle/\+Vertex\+Handle/.. for Mesh\+Nodes \\
\hline
{\em \+\_\+hit\+Point\+Ptr} & Pointer to 3D point from picking \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 71 of file Qt\+Base\+Viewer\+Picking.\+cc.

\mbox{\Hypertarget{classglViewer_a2541fa04f54511a7dd18c232b1e6e265}\label{classglViewer_a2541fa04f54511a7dd18c232b1e6e265}} 
\index{gl\+Viewer@{gl\+Viewer}!pick\+\_\+region@{pick\+\_\+region}}
\index{pick\+\_\+region@{pick\+\_\+region}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{pick\+\_\+region()}{pick\_region()}}
{\footnotesize\ttfamily bool gl\+Viewer\+::pick\+\_\+region (\begin{DoxyParamCaption}\item[{\hyperlink{namespaceACG_1_1SceneGraph_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target}}]{\+\_\+pick\+Target,  }\item[{const Q\+Region \&}]{\+\_\+region,  }\item[{Q\+List$<$ Q\+Pair$<$ size\+\_\+t, size\+\_\+t $>$ $>$ \&}]{\+\_\+list,  }\item[{Q\+Vector$<$ float $>$ $\ast$}]{\+\_\+depths = {\ttfamily 0},  }\item[{Q\+Vector$<$ \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} $>$ $\ast$}]{\+\_\+points = {\ttfamily 0} }\end{DoxyParamCaption})}



Perform picking action n a whole region. 

Apply pick action. ~\newline
 Picks all objects in the given Region. Information about the picked primitives is stored in the provided list. Resulting values are defined only if {\ttfamily true} has been returned!


\begin{DoxyParams}{Parameters}
{\em \+\_\+pick\+Target} & Select what should be picked\+: Faces/\+Vertices/... \\
\hline
{\em \+\_\+region} & Area for picking \\
\hline
{\em \+\_\+list} & List of found scenegraph objects (node/target pairs) \\
\hline
{\em \+\_\+depths} & depths \mbox{[}0,1\mbox{]} (Only provided, if requested) \\
\hline
{\em \+\_\+points} & back projected 3d points (Only provided, if requested) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successful? 
\end{DoxyReturn}


Definition at line 424 of file Qt\+Base\+Viewer\+Picking.\+cc.

\mbox{\Hypertarget{classglViewer_a94e604ed2026f53da0ecfcd429f613f0}\label{classglViewer_a94e604ed2026f53da0ecfcd429f613f0}} 
\index{gl\+Viewer@{gl\+Viewer}!scene\+\_\+center@{scene\+\_\+center}}
\index{scene\+\_\+center@{scene\+\_\+center}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{scene\+\_\+center()}{scene\_center()}}
{\footnotesize\ttfamily const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} gl\+Viewer\+::scene\+\_\+center (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Get scene\textquotesingle{}s center \begin{DoxySeeAlso}{See also}
\hyperlink{classglViewer_ab0248fa345d594824f6672c206be8a40}{set\+Scene\+Pos()} 
\end{DoxySeeAlso}


Definition at line 696 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ab993dee78238659e3af3fb18916fa604}\label{classglViewer_ab993dee78238659e3af3fb18916fa604}} 
\index{gl\+Viewer@{gl\+Viewer}!scene\+\_\+radius@{scene\+\_\+radius}}
\index{scene\+\_\+radius@{scene\+\_\+radius}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{scene\+\_\+radius()}{scene\_radius()}}
{\footnotesize\ttfamily double gl\+Viewer\+::scene\+\_\+radius (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

Get scene\textquotesingle{}s radius 

Definition at line 699 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a16e80212c8a66bcdc282436e49c02ac1}\label{classglViewer_a16e80212c8a66bcdc282436e49c02ac1}} 
\index{gl\+Viewer@{gl\+Viewer}!scene\+Graph@{scene\+Graph}}
\index{scene\+Graph@{scene\+Graph}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{scene\+Graph()}{sceneGraph()}}
{\footnotesize\ttfamily void gl\+Viewer\+::scene\+Graph (\begin{DoxyParamCaption}\item[{\hyperlink{classACG_1_1SceneGraph_1_1BaseNode}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$}]{\+\_\+root,  }\item[{unsigned int}]{\+\_\+max\+Passes,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}}]{\+\_\+bbmin,  }\item[{\hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d}}]{\+\_\+bbmax,  }\item[{const bool}]{\+\_\+reset\+Track\+Ball = {\ttfamily false} }\end{DoxyParamCaption})}

Set scene graph. Sets the scene graph to the the graph rooted at {\ttfamily \+\_\+root}. Recomputes Scene center and resets the trackball center if specified. The {\ttfamily scene\+Graph\+Toched()} signal will be emitted (even if {\ttfamily \+\_\+root} does not actually change). Use the \hyperlink{namespaceACG_1_1SceneGraph_a8f51719ad75f81a4e74d97d64bbf6c2f}{A\+C\+G\+::\+Scene\+Graph\+::analyze\+Scene\+Graph()} function to get the required bounding box and pass information.


\begin{DoxyParams}{Parameters}
{\em \+\_\+root} & The root node of the scene graph \\
\hline
{\em \+\_\+max\+Passes} & The maximal number of passes required to render the scenegraph \\
\hline
{\em \+\_\+bbmin} & Lower left of the scenegraph bounding box \\
\hline
{\em \+\_\+bbmax} & Upper right of the scenegraph bounding box \\
\hline
{\em \+\_\+reset\+Track\+Ball} & Reset the trackball center? \\
\hline
\end{DoxyParams}


Definition at line 248 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_ab4e799684b1f4569e5a16b0dcdd2bde5}\label{classglViewer_ab4e799684b1f4569e5a16b0dcdd2bde5}} 
\index{gl\+Viewer@{gl\+Viewer}!set\+Scene\+Center@{set\+Scene\+Center}}
\index{set\+Scene\+Center@{set\+Scene\+Center}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{set\+Scene\+Center()}{setSceneCenter()}}
{\footnotesize\ttfamily void gl\+Viewer\+::set\+Scene\+Center (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set new center point of scene 

Definition at line 679 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ab0248fa345d594824f6672c206be8a40}\label{classglViewer_ab0248fa345d594824f6672c206be8a40}} 
\index{gl\+Viewer@{gl\+Viewer}!set\+Scene\+Pos@{set\+Scene\+Pos}}
\index{set\+Scene\+Pos@{set\+Scene\+Pos}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{set\+Scene\+Pos()}{setScenePos()}}
{\footnotesize\ttfamily void gl\+Viewer\+::set\+Scene\+Pos (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center,  }\item[{double}]{\+\_\+radius,  }\item[{const bool}]{\+\_\+reset\+Track\+Ball = {\ttfamily false} }\end{DoxyParamCaption})}

Sets the center and dimension of the whole scene. This point is used as fixpoint for rotations and to set the eye point far enough from the scene so that the whole scene is visible. 

Definition at line 433 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a0d4e534896312afed05ff97f641509d6}\label{classglViewer_a0d4e534896312afed05ff97f641509d6}} 
\index{gl\+Viewer@{gl\+Viewer}!set\+Scene\+Radius@{set\+Scene\+Radius}}
\index{set\+Scene\+Radius@{set\+Scene\+Radius}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{set\+Scene\+Radius()}{setSceneRadius()}}
{\footnotesize\ttfamily void gl\+Viewer\+::set\+Scene\+Radius (\begin{DoxyParamCaption}\item[{double}]{\+\_\+radius }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set new center point of scene 

Definition at line 701 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aeeb590fd0692795d169887b700323da3}\label{classglViewer_aeeb590fd0692795d169887b700323da3}} 
\index{gl\+Viewer@{gl\+Viewer}!set\+Track\+Ball\+Center@{set\+Track\+Ball\+Center}}
\index{set\+Track\+Ball\+Center@{set\+Track\+Ball\+Center}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{set\+Track\+Ball\+Center()}{setTrackBallCenter()}}
{\footnotesize\ttfamily void gl\+Viewer\+::set\+Track\+Ball\+Center (\begin{DoxyParamCaption}\item[{const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Set Trackball Center point of scene. 

The scene is rotated around the trackball center when using the mouse 

Definition at line 685 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_af7d40857f258091128fe9172dbd96236}\label{classglViewer_af7d40857f258091128fe9172dbd96236}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Custom\+Context\+Menu\+Requested@{signal\+Custom\+Context\+Menu\+Requested}}
\index{signal\+Custom\+Context\+Menu\+Requested@{signal\+Custom\+Context\+Menu\+Requested}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Custom\+Context\+Menu\+Requested}{signalCustomContextMenuRequested}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Custom\+Context\+Menu\+Requested (\begin{DoxyParamCaption}\item[{const Q\+Point \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

If popups are disabled context menu mode is set to custom \hyperlink{classMenu}{Menu} and the signal is passed from the Q\+G\+L\+Widget to this signal. You can use map\+To\+Global for mapping this point to global coords. \mbox{\Hypertarget{classglViewer_a46b1def1a4c0b415f6590410e9ef553e}\label{classglViewer_a46b1def1a4c0b415f6590410e9ef553e}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Key\+Press\+Event@{signal\+Key\+Press\+Event}}
\index{signal\+Key\+Press\+Event@{signal\+Key\+Press\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Key\+Press\+Event}{signalKeyPressEvent}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Key\+Press\+Event (\begin{DoxyParamCaption}\item[{Q\+Key\+Event $\ast$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}



Key Event received. 

This signal is emitted if a Key press event is received which is not handled by the widget itself. If internal key handling is disabled the events are passed to the parent of this widget. \mbox{\Hypertarget{classglViewer_aa87c11591840eab0a4fe21947b0f219f}\label{classglViewer_aa87c11591840eab0a4fe21947b0f219f}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Mouse\+Event@{signal\+Mouse\+Event}}
\index{signal\+Mouse\+Event@{signal\+Mouse\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Mouse\+Event}{signalMouseEvent}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Mouse\+Event (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{,  }\item[{const std\+::string \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

A signal for giving mouse events to the application. This is done if the Pick-\/\+Button (top-\/most button of the toolbar) is activated. Connect to this signal to implement application specific handling of mouse events.~\newline
 {\itshape Notes\+:} \begin{DoxyItemize}
\item You have to test for the Q\+Mouse\+Event\+::type() of the event yourself (press/release/move)! \item \hyperlink{classglViewer_aa7a0233b9b04661ee7ee3423077cbab2}{signal\+Mouse\+Event\+Identify()} is emitted on button press if action\+Mode()==Question. \end{DoxyItemize}
\mbox{\Hypertarget{classglViewer_ac89941b582ee1eecb70afc64c0935f6d}\label{classglViewer_ac89941b582ee1eecb70afc64c0935f6d}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Mouse\+Event\+Click@{signal\+Mouse\+Event\+Click}}
\index{signal\+Mouse\+Event\+Click@{signal\+Mouse\+Event\+Click}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Mouse\+Event\+Click}{signalMouseEventClick}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Mouse\+Event\+Click (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{,  }\item[{bool}]{\+\_\+double }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Emitted if a (double) mouse click is performed in action\+Mode()==Examine\+Mode \mbox{\Hypertarget{classglViewer_aa7a0233b9b04661ee7ee3423077cbab2}\label{classglViewer_aa7a0233b9b04661ee7ee3423077cbab2}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Mouse\+Event\+Identify@{signal\+Mouse\+Event\+Identify}}
\index{signal\+Mouse\+Event\+Identify@{signal\+Mouse\+Event\+Identify}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Mouse\+Event\+Identify}{signalMouseEventIdentify}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Mouse\+Event\+Identify (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Emitted instead of \hyperlink{classglViewer_aa87c11591840eab0a4fe21947b0f219f}{signal\+Mouse\+Event()} if action\+Mode()==Question and {\ttfamily \+\_\+event} is a mouse press event. \mbox{\Hypertarget{classglViewer_aebfc5f4da2b7ed4ad6f54503445cdfa2}\label{classglViewer_aebfc5f4da2b7ed4ad6f54503445cdfa2}} 
\index{gl\+Viewer@{gl\+Viewer}!signal\+Mouse\+Event\+Light@{signal\+Mouse\+Event\+Light}}
\index{signal\+Mouse\+Event\+Light@{signal\+Mouse\+Event\+Light}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{signal\+Mouse\+Event\+Light}{signalMouseEventLight}}
{\footnotesize\ttfamily void gl\+Viewer\+::signal\+Mouse\+Event\+Light (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Emitted instead of \hyperlink{classglViewer_aa87c11591840eab0a4fe21947b0f219f}{signal\+Mouse\+Event()} if action\+Mode()==Light and {\ttfamily \+\_\+event} is a mouse press event. \mbox{\Hypertarget{classglViewer_a581ff3dcb5ff643572f1bd740ea91c9d}\label{classglViewer_a581ff3dcb5ff643572f1bd740ea91c9d}} 
\index{gl\+Viewer@{gl\+Viewer}!slot\+Animation@{slot\+Animation}}
\index{slot\+Animation@{slot\+Animation}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{slot\+Animation}{slotAnimation}}
{\footnotesize\ttfamily void gl\+Viewer\+::slot\+Animation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 2197 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a447cb4cd04c778ae72dacd1e165f06f8}\label{classglViewer_a447cb4cd04c778ae72dacd1e165f06f8}} 
\index{gl\+Viewer@{gl\+Viewer}!slot\+Properties\+Updated@{slot\+Properties\+Updated}}
\index{slot\+Properties\+Updated@{slot\+Properties\+Updated}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{slot\+Properties\+Updated}{slotPropertiesUpdated}}
{\footnotesize\ttfamily void gl\+Viewer\+::slot\+Properties\+Updated (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [slot]}}

Called when properties for the viewer require a redraw The slot will trigger the redraw after setting the right properties. 

Definition at line 2245 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a530882bc9a660045ab1f3637883fced6}\label{classglViewer_a530882bc9a660045ab1f3637883fced6}} 
\index{gl\+Viewer@{gl\+Viewer}!snapshot@{snapshot}}
\index{snapshot@{snapshot}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{snapshot}{snapshot}}
{\footnotesize\ttfamily void gl\+Viewer\+::snapshot (\begin{DoxyParamCaption}\item[{int}]{\+\_\+width = {\ttfamily 0},  }\item[{int}]{\+\_\+height = {\ttfamily 0},  }\item[{bool}]{\+\_\+alpha = {\ttfamily false},  }\item[{bool}]{\+\_\+hide\+Coordsys = {\ttfamily false},  }\item[{int}]{samples = {\ttfamily 1} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}

Trigger a snapshot and increase the snapshot counter. Save snapshot to file determined by snapshot\+Base\+File\+Name() and the current snapshot counter. The {\itshape back} buffer will be saved. 

Definition at line 2384 of file Qt\+Base\+Viewer.\+cc.

\mbox{\Hypertarget{classglViewer_a6eb7c7867eea5eea34a424cda5206f2b}\label{classglViewer_a6eb7c7867eea5eea34a424cda5206f2b}} 
\index{gl\+Viewer@{gl\+Viewer}!start\+Drag\+Event@{start\+Drag\+Event}}
\index{start\+Drag\+Event@{start\+Drag\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{start\+Drag\+Event}{startDragEvent}}
{\footnotesize\ttfamily void gl\+Viewer\+::start\+Drag\+Event (\begin{DoxyParamCaption}\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [signal]}}

Signal is emitted when Control modifier is pressed and mouse moded. It will only be emitted if in external\+Drag\+Mode ( see set\+External\+Drag ) \mbox{\Hypertarget{classglViewer_a5a45b44f1e0a7a7d17e80c9e65768055}\label{classglViewer_a5a45b44f1e0a7a7d17e80c9e65768055}} 
\index{gl\+Viewer@{gl\+Viewer}!track\+Ball\+Center@{track\+Ball\+Center}}
\index{track\+Ball\+Center@{track\+Ball\+Center}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{track\+Ball\+Center()}{trackBallCenter()}}
{\footnotesize\ttfamily const \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} gl\+Viewer\+::track\+Ball\+Center (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Get Trackball Center point of scene. 

The scene is rotated around the trackball center when using the mouse 

Definition at line 691 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aa35d841027bd3ea68363b037b7e1ee09}\label{classglViewer_aa35d841027bd3ea68363b037b7e1ee09}} 
\index{gl\+Viewer@{gl\+Viewer}!view\+Key\+Press\+Event@{view\+Key\+Press\+Event}}
\index{view\+Key\+Press\+Event@{view\+Key\+Press\+Event}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{view\+Key\+Press\+Event()}{viewKeyPressEvent()}}
{\footnotesize\ttfamily virtual bool gl\+Viewer\+::view\+Key\+Press\+Event (\begin{DoxyParamCaption}\item[{Q\+Key\+Event $\ast$}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}



Handle key events in view mode. 

This function is called by the Base\+Viewer if a key press event occured in view mode. This function has to be implemented by every viewer!

\begin{DoxyReturn}{Returns}
If the derived class handled the event it has to return true otherwise false 
\end{DoxyReturn}


Definition at line 743 of file Qt\+Base\+Viewer.\+hh.



\subsection{Member Data Documentation}
\mbox{\Hypertarget{classglViewer_a22941ad7c7da19057c029940dd4e763b}\label{classglViewer_a22941ad7c7da19057c029940dd4e763b}} 
\index{gl\+Viewer@{gl\+Viewer}!allow\+Rotation\+\_\+@{allow\+Rotation\+\_\+}}
\index{allow\+Rotation\+\_\+@{allow\+Rotation\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{allow\+Rotation\+\_\+}{allowRotation\_}}
{\footnotesize\ttfamily bool gl\+Viewer\+::allow\+Rotation\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 952 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a1d781d27d4d2db8b690eaac3c810021f}\label{classglViewer_a1d781d27d4d2db8b690eaac3c810021f}} 
\index{gl\+Viewer@{gl\+Viewer}!click\+Event\+\_\+@{click\+Event\+\_\+}}
\index{click\+Event\+\_\+@{click\+Event\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{click\+Event\+\_\+}{clickEvent\_}}
{\footnotesize\ttfamily Q\+Mouse\+Event gl\+Viewer\+::click\+Event\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 964 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a1f4b8802288ea73628a4c2de5693998f}\label{classglViewer_a1f4b8802288ea73628a4c2de5693998f}} 
\index{gl\+Viewer@{gl\+Viewer}!click\+Time\+\_\+@{click\+Time\+\_\+}}
\index{click\+Time\+\_\+@{click\+Time\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{click\+Time\+\_\+}{clickTime\_}}
{\footnotesize\ttfamily Q\+Time gl\+Viewer\+::click\+Time\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 963 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a25d4c5b2ba5791e06855126379aa6d16}\label{classglViewer_a25d4c5b2ba5791e06855126379aa6d16}} 
\index{gl\+Viewer@{gl\+Viewer}!click\+Timer\+\_\+@{click\+Timer\+\_\+}}
\index{click\+Timer\+\_\+@{click\+Timer\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{click\+Timer\+\_\+}{clickTimer\_}}
{\footnotesize\ttfamily Q\+Timer gl\+Viewer\+::click\+Timer\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 962 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a0c793a7c60bb05c66aa423844f123956}\label{classglViewer_a0c793a7c60bb05c66aa423844f123956}} 
\index{gl\+Viewer@{gl\+Viewer}!constrained\+Rotation\+Axis\+\_\+@{constrained\+Rotation\+Axis\+\_\+}}
\index{constrained\+Rotation\+Axis\+\_\+@{constrained\+Rotation\+Axis\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{constrained\+Rotation\+Axis\+\_\+}{constrainedRotationAxis\_}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} gl\+Viewer\+::constrained\+Rotation\+Axis\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 956 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ab4feb33df3206ae3ed25ad60330eb80b}\label{classglViewer_ab4feb33df3206ae3ed25ad60330eb80b}} 
\index{gl\+Viewer@{gl\+Viewer}!fovy\+Modifier\+\_\+@{fovy\+Modifier\+\_\+}}
\index{fovy\+Modifier\+\_\+@{fovy\+Modifier\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{fovy\+Modifier\+\_\+}{fovyModifier\_}}
{\footnotesize\ttfamily double gl\+Viewer\+::fovy\+Modifier\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 960 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aa2ee419cea934d78372d486a2ae084cf}\label{classglViewer_aa2ee419cea934d78372d486a2ae084cf}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Move\+Time\+\_\+@{last\+Move\+Time\+\_\+}}
\index{last\+Move\+Time\+\_\+@{last\+Move\+Time\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Move\+Time\+\_\+}{lastMoveTime\_}}
{\footnotesize\ttfamily Q\+Time gl\+Viewer\+::last\+Move\+Time\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 958 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a00446950f8b6d47d8acd31636e43f51b}\label{classglViewer_a00446950f8b6d47d8acd31636e43f51b}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Point2\+D\+\_\+@{last\+Point2\+D\+\_\+}}
\index{last\+Point2\+D\+\_\+@{last\+Point2\+D\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Point2\+D\+\_\+}{lastPoint2D\_}}
{\footnotesize\ttfamily Q\+Point gl\+Viewer\+::last\+Point2\+D\+\_\+\hspace{0.3cm}{\ttfamily [protected]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 929 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_aa2b83d75bf45d04b422df9ed9b66b039}\label{classglViewer_aa2b83d75bf45d04b422df9ed9b66b039}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Point3\+D\+\_\+@{last\+Point3\+D\+\_\+}}
\index{last\+Point3\+D\+\_\+@{last\+Point3\+D\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Point3\+D\+\_\+}{lastPoint3D\_}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} gl\+Viewer\+::last\+Point3\+D\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 950 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a9db33b61abd6b84c46ede4fa75a1a246}\label{classglViewer_a9db33b61abd6b84c46ede4fa75a1a246}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Point\+\_\+hit\+Sphere\+\_\+@{last\+Point\+\_\+hit\+Sphere\+\_\+}}
\index{last\+Point\+\_\+hit\+Sphere\+\_\+@{last\+Point\+\_\+hit\+Sphere\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Point\+\_\+hit\+Sphere\+\_\+}{lastPoint\_hitSphere\_}}
{\footnotesize\ttfamily bool gl\+Viewer\+::last\+Point\+\_\+hit\+Sphere\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 951 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a19ac1c6a32492ab833ad7ede3f5e8e89}\label{classglViewer_a19ac1c6a32492ab833ad7ede3f5e8e89}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Rotation\+Angle\+\_\+@{last\+Rotation\+Angle\+\_\+}}
\index{last\+Rotation\+Angle\+\_\+@{last\+Rotation\+Angle\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Rotation\+Angle\+\_\+}{lastRotationAngle\_}}
{\footnotesize\ttfamily double gl\+Viewer\+::last\+Rotation\+Angle\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 957 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a5a4e5688ae7163cd2b8e8496b4ad67ee}\label{classglViewer_a5a4e5688ae7163cd2b8e8496b4ad67ee}} 
\index{gl\+Viewer@{gl\+Viewer}!last\+Rotation\+Axis\+\_\+@{last\+Rotation\+Axis\+\_\+}}
\index{last\+Rotation\+Axis\+\_\+@{last\+Rotation\+Axis\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{last\+Rotation\+Axis\+\_\+}{lastRotationAxis\_}}
{\footnotesize\ttfamily \hyperlink{namespaceACG_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} gl\+Viewer\+::last\+Rotation\+Axis\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 955 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_ad6f6b273c6c9e91da8c46c91bba17b02}\label{classglViewer_ad6f6b273c6c9e91da8c46c91bba17b02}} 
\index{gl\+Viewer@{gl\+Viewer}!start\+Depth\+\_\+@{start\+Depth\+\_\+}}
\index{start\+Depth\+\_\+@{start\+Depth\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{start\+Depth\+\_\+}{startDepth\_}}
{\footnotesize\ttfamily float gl\+Viewer\+::start\+Depth\+\_\+\hspace{0.3cm}{\ttfamily [protected]}}



mouse interaction depth 

This variable stores the depth when the user started a mouse interaction. 

Definition at line 935 of file Qt\+Base\+Viewer.\+hh.

\mbox{\Hypertarget{classglViewer_a2e95cbe21947cfdf06f1f46178c740e2}\label{classglViewer_a2e95cbe21947cfdf06f1f46178c740e2}} 
\index{gl\+Viewer@{gl\+Viewer}!timer\+\_\+@{timer\+\_\+}}
\index{timer\+\_\+@{timer\+\_\+}!gl\+Viewer@{gl\+Viewer}}
\subsubsection{\texorpdfstring{timer\+\_\+}{timer\_}}
{\footnotesize\ttfamily Q\+Timer$\ast$ gl\+Viewer\+::timer\+\_\+\hspace{0.3cm}{\ttfamily [private]}}



mouse interaction position 

This variable stores the last mouse position during mouse interaction. 

Definition at line 959 of file Qt\+Base\+Viewer.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Open\+Flipper/widgets/gl\+Widget/Qt\+Base\+Viewer.\+hh\item 
Open\+Flipper/widgets/gl\+Widget/Qt\+Base\+Viewer.\+cc\item 
Open\+Flipper/widgets/gl\+Widget/Qt\+Base\+Viewer\+\_\+qt.\+cc\item 
Open\+Flipper/widgets/gl\+Widget/Qt\+Base\+Viewer\+Fly\+Animation.\+cc\item 
Open\+Flipper/widgets/gl\+Widget/Qt\+Base\+Viewer\+Picking.\+cc\end{DoxyCompactItemize}
