\hypertarget{a01061}{\section{A\+C\+G\+:\+:Qt\+Widgets\+:\+:Qt\+Base\+Viewer Class Reference}
\label{a01061}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
}


{\ttfamily \#include $<$A\+C\+G/\+Qt\+Widgets/\+Qt\+Base\+Viewer.\+hh$>$}

Inheritance diagram for A\+C\+G\+:\+:Qt\+Widgets\+:\+:Qt\+Base\+Viewer\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{a01061}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00959}{Pick\+Mode}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{a01061_a5c2169f4a127ced296868767411d6e00}{Options} \{ \\*
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00af6695d865fc938ff971e5a1b620c6d92}{Nothing} =0, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00ac719a264fbd7abacf862ef9398b23d40}{Show\+Private\+Status\+Bar} =1, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a70a7979dff2798f99208e6d61b65afa7}{Show\+Tool\+Bar} =2, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a3940fc4a3aeb560be92ebcd1fa19763d}{Show\+Pick\+Button} =4, 
\\*
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a0a995424b40f197677e93158a9e4e576}{Show\+Lasso\+Button} =8, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00af02c1bf597e64967659ed33ca5e47f93}{Show\+Question\+Button} =0x10, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a82c63d1adab5818ed60ef0809413705e}{Show\+Wheel\+X} =0x20, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00ad7bd2cee275824537ac1ecf8678eb7b9}{Show\+Wheel\+Y} =0x40, 
\\*
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00afeec065cd3d916175620ba4fd36d1c65}{Show\+Wheel\+Z} =0x80, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00aa99068ee733003c0c59ef267887ab785}{Show\+Wheels} =0xe0, 
\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a616c7c301a2b9c33f7fa76c82eef6199}{Default\+Options} = 0xffff \& ($\sim$\+Show\+Private\+Status\+Bar)
 \}
\item 
enum \hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486f}{Navigation\+Mode} \{ \hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486fa802c7b1231f634280f7c6794625e568b}{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}, 
\hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486faa53da9540a2ced9f832175f2b660e08e}{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}
 \}
\begin{DoxyCompactList}\small\item\em Navigation mode. \end{DoxyCompactList}\item 
enum \hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5}{Projection\+Mode} \{ \hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5af49b33fc1b8b945aae5168a6cc24b842}{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}, 
\hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5aaeb15ff5e5e080639274b3485be52d8c}{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}
 \}
\begin{DoxyCompactList}\small\item\em projection mode \end{DoxyCompactList}\item 
enum \hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode} \{ {\bfseries Examine\+Mode}, 
\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583a974c1377a3b8f68cdccdcf86250d44fb}{Picking\+Mode}, 
{\bfseries Question\+Mode}, 
{\bfseries Light\+Mode}
 \}
\begin{DoxyCompactList}\small\item\em How to react on mouse events? \end{DoxyCompactList}\item 
enum \hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17c}{Face\+Orientation} \{ \hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17ca55426e0544b068b8fb32de1257ac06d6}{C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}, 
\hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17ca7a840ef6f054222f95a30bab5ee023b6}{C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}
 \}
\begin{DoxyCompactList}\small\item\em orientation of the faces \end{DoxyCompactList}\item 
enum \hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921}{Normals\+Mode} \{ \hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921a1bc9dfd4e3381994a951813992a9db63}{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S}, 
\hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921afa25a9fd365fabc040fae207d4e9937a}{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S}
 \}
\begin{DoxyCompactList}\small\item\em Automatically normalize normals? \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
virtual void \hyperlink{a01061_ac7010095997294b0dd51ae581e09bf71}{draw\+Now} ()
\item 
\hypertarget{a01061_a70d160e435f0c314d532234d50823f3e}{virtual void \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L} ()}\label{a01061_a70d160e435f0c314d532234d50823f3e}

\begin{DoxyCompactList}\small\item\em Redraw scene. Triggers paint event for updating the view (cf. \hyperlink{a01061_ac7010095997294b0dd51ae581e09bf71}{draw\+Now()}). \end{DoxyCompactList}\item 
\hypertarget{a01061_a92b807e60fc14888ceda0068d881d50a}{virtual void \hyperlink{a01061_a92b807e60fc14888ceda0068d881d50a}{set\+Home} ()}\label{a01061_a92b807e60fc14888ceda0068d881d50a}

\begin{DoxyCompactList}\small\item\em set home position \end{DoxyCompactList}\item 
\hypertarget{a01061_a9cf89639cc5631d0dbe229c01d95dcc5}{virtual void \hyperlink{a01061_a9cf89639cc5631d0dbe229c01d95dcc5}{home} ()}\label{a01061_a9cf89639cc5631d0dbe229c01d95dcc5}

\begin{DoxyCompactList}\small\item\em go to home pos \end{DoxyCompactList}\item 
\hypertarget{a01061_aa1320d9d915b5580a8c11fae98b0cb40}{virtual void \hyperlink{a01061_aa1320d9d915b5580a8c11fae98b0cb40}{view\+All} ()}\label{a01061_aa1320d9d915b5580a8c11fae98b0cb40}

\begin{DoxyCompactList}\small\item\em view the whole scene \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_abdb1b2a35491088620f1ffb39d0f45c5}{fly\+To} (const Q\+Point \&\+\_\+pos, bool \+\_\+move\+\_\+back)
\begin{DoxyCompactList}\small\item\em Fly to. Get closer if {\ttfamily \+\_\+move\+\_\+back={\ttfamily false},} get more distant else. \end{DoxyCompactList}\item 
\hypertarget{a01061_afcaac58819362872620853fd8f88292e}{virtual void \hyperlink{a01061_afcaac58819362872620853fd8f88292e}{fly\+To} (const Q\+Point \&\+\_\+pos)}\label{a01061_afcaac58819362872620853fd8f88292e}

\begin{DoxyCompactList}\small\item\em Fly to, get closer. \end{DoxyCompactList}\item 
\hypertarget{a01061_a8e5bf7334d51544ad7d7bcaf3123759f}{virtual void \hyperlink{a01061_a8e5bf7334d51544ad7d7bcaf3123759f}{fly\+From} (const Q\+Point \&\+\_\+pos)}\label{a01061_a8e5bf7334d51544ad7d7bcaf3123759f}

\begin{DoxyCompactList}\small\item\em Fly to, get more distant. \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_aba9449107a287148920fc80504373ec7}{fly\+To} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+position, const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+center, double \+\_\+time=1000.\+0)
\item 
\hypertarget{a01061_a2cd2de9227db41c4a974ea0951b6723f}{virtual void \hyperlink{a01061_a2cd2de9227db41c4a974ea0951b6723f}{examine\+Mode} ()}\label{a01061_a2cd2de9227db41c4a974ea0951b6723f}

\begin{DoxyCompactList}\small\item\em calls \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()} with {\ttfamily Examine\+Mode} (cf. Action\+Mode) \end{DoxyCompactList}\item 
\hypertarget{a01061_a73f8598c8ed227efb5a621be342ee45b}{virtual void \hyperlink{a01061_a73f8598c8ed227efb5a621be342ee45b}{light\+Mode} ()}\label{a01061_a73f8598c8ed227efb5a621be342ee45b}

\begin{DoxyCompactList}\small\item\em calls \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()} with {\ttfamily Light\+Mode} (cf. Action\+Mode) \end{DoxyCompactList}\item 
\hypertarget{a01061_a4abbc3a6bf46ffa60e9291c77baca0c5}{virtual void \hyperlink{a01061_a4abbc3a6bf46ffa60e9291c77baca0c5}{question\+Mode} ()}\label{a01061_a4abbc3a6bf46ffa60e9291c77baca0c5}

\begin{DoxyCompactList}\small\item\em calls \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()} with {\ttfamily Question\+Mode} (cf. Action\+Mode) \end{DoxyCompactList}\item 
\hypertarget{a01061_a2785b61d60090cf13fe5b9f3385f7b47}{virtual void \hyperlink{a01061_a2785b61d60090cf13fe5b9f3385f7b47}{perspective\+Projection} ()}\label{a01061_a2785b61d60090cf13fe5b9f3385f7b47}

\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 
\hypertarget{a01061_a5f35cfd7baef9af04f97da392c62019b}{virtual void \hyperlink{a01061_a5f35cfd7baef9af04f97da392c62019b}{orthographic\+Projection} ()}\label{a01061_a5f35cfd7baef9af04f97da392c62019b}

\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 
\hypertarget{a01061_acbcfbf7df5cb982501fae2415e5e4493}{virtual void \hyperlink{a01061_acbcfbf7df5cb982501fae2415e5e4493}{toggle\+Projection\+Mode} ()}\label{a01061_acbcfbf7df5cb982501fae2415e5e4493}

\begin{DoxyCompactList}\small\item\em toggle projection mode \end{DoxyCompactList}\item 
\hypertarget{a01061_a9a3eb54f4352ce4a803c80c1f6dc224c}{virtual void \hyperlink{a01061_a9a3eb54f4352ce4a803c80c1f6dc224c}{toggle\+Navigation\+Mode} ()}\label{a01061_a9a3eb54f4352ce4a803c80c1f6dc224c}

\begin{DoxyCompactList}\small\item\em toggle navigation mode \end{DoxyCompactList}\item 
\hypertarget{a01061_a9d854b6a8c2af097ef43575b9fc5d936}{virtual void \hyperlink{a01061_a9d854b6a8c2af097ef43575b9fc5d936}{show\+Scene\+Graph\+Dialog} ()}\label{a01061_a9d854b6a8c2af097ef43575b9fc5d936}

\begin{DoxyCompactList}\small\item\em show scenegraph widget \end{DoxyCompactList}\item 
\hypertarget{a01061_a4bf6909eb6461a31b37d6ac1a163e2ac}{virtual void \hyperlink{a01061_a4bf6909eb6461a31b37d6ac1a163e2ac}{set\+View} (const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+modelview, const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+inverse\+\_\+modelview)}\label{a01061_a4bf6909eb6461a31b37d6ac1a163e2ac}

\begin{DoxyCompactList}\small\item\em set view, used for synchronizing \end{DoxyCompactList}\item 
\hypertarget{a01061_aedef1b289da9f12c7db7ff617514e97e}{void {\bfseries action\+Background} ()}\label{a01061_aedef1b289da9f12c7db7ff617514e97e}

\item 
\hypertarget{a01061_aafcda99d789877feb5c99452a448032c}{void {\bfseries action\+Copy\+View} ()}\label{a01061_aafcda99d789877feb5c99452a448032c}

\item 
\hypertarget{a01061_adca3fd7b1a36b8da313070a09c19ffe4}{void {\bfseries action\+Paste\+View} ()}\label{a01061_adca3fd7b1a36b8da313070a09c19ffe4}

\item 
\hypertarget{a01061_abe7a79f345ad13cce5eb5fa95208b43b}{void {\bfseries action\+Paste\+Drop\+Size} ()}\label{a01061_abe7a79f345ad13cce5eb5fa95208b43b}

\item 
\hypertarget{a01061_a0a562fce70cab9b258110c9a93b4809f}{void {\bfseries action\+Synchronize} ()}\label{a01061_a0a562fce70cab9b258110c9a93b4809f}

\item 
\hypertarget{a01061_a9511dd08144c77bfc8390894c282111e}{void {\bfseries action\+Animation} ()}\label{a01061_a9511dd08144c77bfc8390894c282111e}

\item 
\hypertarget{a01061_a6118c43608615a678c903ca37db54f08}{void {\bfseries action\+Backface\+Culling} ()}\label{a01061_a6118c43608615a678c903ca37db54f08}

\item 
\hypertarget{a01061_a744d6354f983eaa8f0f995bb217deb03}{void {\bfseries action\+Two\+Sided\+Lighting} ()}\label{a01061_a744d6354f983eaa8f0f995bb217deb03}

\item 
\hypertarget{a01061_a3727dacbe2f5eb7faf0b5e8b3460515e}{void {\bfseries action\+Synchronize} (bool \+\_\+enable)}\label{a01061_a3727dacbe2f5eb7faf0b5e8b3460515e}

\item 
\hypertarget{a01061_afbf6fc70219a7536b3f5709fc36f3592}{void {\bfseries action\+Animation} (bool \+\_\+enable)}\label{a01061_afbf6fc70219a7536b3f5709fc36f3592}

\item 
\hypertarget{a01061_ae760b5ba60bd9f3cced1b47b73b51d88}{void {\bfseries action\+Backface\+Culling} (bool \+\_\+enable)}\label{a01061_ae760b5ba60bd9f3cced1b47b73b51d88}

\item 
\hypertarget{a01061_a7b0423b15b36dda1cbba70a0df3885bf}{void {\bfseries action\+Two\+Sided\+Lighting} (bool \+\_\+enable)}\label{a01061_a7b0423b15b36dda1cbba70a0df3885bf}

\item 
\hypertarget{a01061_ac0761fab21e29efac55df261350df775}{void {\bfseries action\+Draw\+Menu} (Q\+Action $\ast$\+\_\+action)}\label{a01061_ac0761fab21e29efac55df261350df775}

\item 
\hypertarget{a01061_ad1901abbfb3fa146c63614c4500449ed}{void {\bfseries action\+Pick\+Menu} (Q\+Action $\ast$\+\_\+action)}\label{a01061_ad1901abbfb3fa146c63614c4500449ed}

\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a76186722b2f9b0be27f7db2e90254552}{void {\bfseries projection\+Mode\+Changed} (bool \+\_\+ortho)}\label{a01061_a76186722b2f9b0be27f7db2e90254552}

\item 
\hypertarget{a01061_a2718ba85369173252508ded54ac41267}{void {\bfseries navigation\+Mode\+Changed} (bool \+\_\+normal)}\label{a01061_a2718ba85369173252508ded54ac41267}

\item 
\hypertarget{a01061_ad1b425648a1065e40bfcc9157a3762a4}{void \hyperlink{a01061_ad1b425648a1065e40bfcc9157a3762a4}{signal\+Initialize\+G\+L} ()}\label{a01061_ad1b425648a1065e40bfcc9157a3762a4}

\begin{DoxyCompactList}\small\item\em emitted when Open\+G\+L stuff can be initialized \end{DoxyCompactList}\item 
void \hyperlink{a01061_ab386432c22336a38dcda4749109bf1d6}{signal\+Mouse\+Event} (Q\+Mouse\+Event $\ast$, const std\+::string \&)
\item 
\hypertarget{a01061_aabd32fdf939990dafa015b2bfae19ca3}{void \hyperlink{a01061_aabd32fdf939990dafa015b2bfae19ca3}{signal\+Mouse\+Event} (Q\+Mouse\+Event $\ast$)}\label{a01061_aabd32fdf939990dafa015b2bfae19ca3}

\begin{DoxyCompactList}\small\item\em This signal does not send the pick mode and is kept for compatibility. \end{DoxyCompactList}\item 
\hypertarget{a01061_af6c65922be6d15f501e5da0438856379}{void \hyperlink{a01061_af6c65922be6d15f501e5da0438856379}{signal\+Wheel\+Event} (Q\+Wheel\+Event $\ast$, const std\+::string \&)}\label{a01061_af6c65922be6d15f501e5da0438856379}

\begin{DoxyCompactList}\small\item\em Emitted in Pick mode. Uses pick mode. \end{DoxyCompactList}\item 
void \hyperlink{a01061_a932bb745aef1acf42665e5d432a36790}{signal\+Mouse\+Event\+Identify} (Q\+Mouse\+Event $\ast$)
\item 
\hypertarget{a01061_a5cf3b17f2f753c225c52d0c5c7e79def}{void \hyperlink{a01061_a5cf3b17f2f753c225c52d0c5c7e79def}{signal\+Set\+View} (const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+modelview, const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+inverse\+\_\+modelview)}\label{a01061_a5cf3b17f2f753c225c52d0c5c7e79def}

\begin{DoxyCompactList}\small\item\em set view, used for synchronizing (cf. slot\+Set\+View()) \end{DoxyCompactList}\item 
\hypertarget{a01061_ab2d730af6b0eabd929002f04f3e70ceb}{void \hyperlink{a01061_ab2d730af6b0eabd929002f04f3e70ceb}{signal\+Scene\+Graph\+Changed} (\hyperlink{a00327}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+root)}\label{a01061_ab2d730af6b0eabd929002f04f3e70ceb}

\begin{DoxyCompactList}\small\item\em scene graph has changed \end{DoxyCompactList}\item 
\hypertarget{a01061_a12583573742820a38c772ecb4d322eb9}{void \hyperlink{a01061_a12583573742820a38c772ecb4d322eb9}{signal\+Node\+Changed} (\hyperlink{a00327}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+node)}\label{a01061_a12583573742820a38c772ecb4d322eb9}

\begin{DoxyCompactList}\small\item\em scene graph has changed \end{DoxyCompactList}\item 
\hypertarget{a01061_a99711ca0663cd739d1ed03323e06a152}{void \hyperlink{a01061_a99711ca0663cd739d1ed03323e06a152}{signal\+Action\+Mode\+Changed} (\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Action\+Mode} \+\_\+m)}\label{a01061_a99711ca0663cd739d1ed03323e06a152}

\begin{DoxyCompactList}\small\item\em action mode was changed \end{DoxyCompactList}\item 
\hypertarget{a01061_a985f7ffadf7935ae19e3e3e8ed549262}{void \hyperlink{a01061_a985f7ffadf7935ae19e3e3e8ed549262}{signal\+Draw\+Scene} (\hyperlink{a00643}{A\+C\+G\+::\+G\+L\+State} $\ast$\+\_\+state)}\label{a01061_a985f7ffadf7935ae19e3e3e8ed549262}

\begin{DoxyCompactList}\small\item\em render callback \end{DoxyCompactList}\item 
void \hyperlink{a01061_a23d00d13b6ba1b3fbbb71b24a61d6ea4}{signal\+Custom\+Context\+Menu\+Requested} (const Q\+Point \&)
\end{DoxyCompactItemize}
\begin{Indent}{\bf view handling}\par
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a5f45d366bb982ff581eb2115e93b1017}{void \hyperlink{a01061_a5f45d366bb982ff581eb2115e93b1017}{view\+Updated} ()}\label{a01061_a5f45d366bb982ff581eb2115e93b1017}

\begin{DoxyCompactList}\small\item\em This signal is emitted when the scene is repainted due to any event. \end{DoxyCompactList}\item 
\hypertarget{a01061_a4e1a70049875c63319a30313f2856013}{void \hyperlink{a01061_a4e1a70049875c63319a30313f2856013}{view\+Changed} ()}\label{a01061_a4e1a70049875c63319a30313f2856013}

\begin{DoxyCompactList}\small\item\em This signal is emitted whenever the view is changed by the user. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a01061_ae6aa6ec164cc8b4705bc5d2b647d8313}{Qt\+Base\+Viewer} (Q\+Widget $\ast$\+\_\+parent=0, const char $\ast$\+\_\+name=0, Q\+Status\+Bar $\ast$\+\_\+status\+Bar=0, const Q\+G\+L\+Format $\ast$\+\_\+format=0, const \hyperlink{a01061}{Qt\+Base\+Viewer} $\ast$\+\_\+share=0, \hyperlink{a01061_a5c2169f4a127ced296868767411d6e00}{Options} \+\_\+options=\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00a616c7c301a2b9c33f7fa76c82eef6199}{Default\+Options})
\item 
\hypertarget{a01061_aa36f0525386ac4b79e9dd4818a5db923}{virtual \hyperlink{a01061_aa36f0525386ac4b79e9dd4818a5db923}{$\sim$\+Qt\+Base\+Viewer} ()}\label{a01061_aa36f0525386ac4b79e9dd4818a5db923}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a01061_a1f6d3b432064db6c04947bc9630a8651}{virtual Q\+Size {\bfseries size\+Hint} () const }\label{a01061_a1f6d3b432064db6c04947bc9630a8651}

\item 
\hypertarget{a01061_ab0539123b39fddd52daf8e62ba697aa8}{Q\+Status\+Bar $\ast$ \hyperlink{a01061_ab0539123b39fddd52daf8e62ba697aa8}{status\+Bar} ()}\label{a01061_ab0539123b39fddd52daf8e62ba697aa8}

\begin{DoxyCompactList}\small\item\em get status bar, guaranteed to be not 0 ({\ttfamily Q\+Status\+Bar} may be invisible) \end{DoxyCompactList}\item 
void \hyperlink{a01061_a7583634fdb8488efecc3709b4bdce7ec}{set\+Status\+Bar} (Q\+Status\+Bar $\ast$\+\_\+sb)
\item 
\hypertarget{a01061_a3121618655cdc45940bc6e99064b88f5}{void \hyperlink{a01061_a3121618655cdc45940bc6e99064b88f5}{apply\+Options} (int \+\_\+options)}\label{a01061_a3121618655cdc45940bc6e99064b88f5}

\begin{DoxyCompactList}\small\item\em Apply O\+Red Options {\ttfamily \+\_\+options}. \end{DoxyCompactList}\item 
\hypertarget{a01061_ae86abf30b8914433b5d732b66b6d37a5}{int \hyperlink{a01061_ae86abf30b8914433b5d732b66b6d37a5}{options} () const }\label{a01061_ae86abf30b8914433b5d732b66b6d37a5}

\begin{DoxyCompactList}\small\item\em get current O\+Red Options \end{DoxyCompactList}\item 
\hypertarget{a01061_a2ff8addb55619efc0a6e63edd31f59ac}{virtual void \hyperlink{a01061_a2ff8addb55619efc0a6e63edd31f59ac}{make\+Current} ()}\label{a01061_a2ff8addb55619efc0a6e63edd31f59ac}

\begin{DoxyCompactList}\small\item\em Makes this widget the current widget for Open\+G\+L operations. \end{DoxyCompactList}\item 
\hypertarget{a01061_a6553bc4b29542d9ffa7f75b456642ca6}{virtual void \hyperlink{a01061_a6553bc4b29542d9ffa7f75b456642ca6}{swap\+Buffers} ()}\label{a01061_a6553bc4b29542d9ffa7f75b456642ca6}

\begin{DoxyCompactList}\small\item\em Swaps the screen contents with the off-\/screen buffer. \end{DoxyCompactList}\item 
\hypertarget{a01061_a0d7a9d20dcfb1bd9c3bbb60ce63b6d9d}{\hyperlink{a00643}{G\+L\+State} \& \hyperlink{a01061_a0d7a9d20dcfb1bd9c3bbb60ce63b6d9d}{gl\+State} ()}\label{a01061_a0d7a9d20dcfb1bd9c3bbb60ce63b6d9d}

\begin{DoxyCompactList}\small\item\em get Open\+G\+L state \end{DoxyCompactList}\item 
void \hyperlink{a01061_a300db576de534475cc7551e00e96addc}{background\+Color} (const \hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \&\+\_\+color)
\item 
\hypertarget{a01061_ab0ce1c265f339c449dcbf7655438700b}{\hyperlink{a03336_a4850d8bd22bf3ccf7088b80adc17c989}{Vec4f} \hyperlink{a01061_ab0ce1c265f339c449dcbf7655438700b}{background\+Color} ()}\label{a01061_ab0ce1c265f339c449dcbf7655438700b}

\begin{DoxyCompactList}\small\item\em get background color \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_a2b4793dd1fcde866a7da476c3c387903}{lock\+Update} ()
\item 
\hypertarget{a01061_a17db98e67b8375f075ba0ac2cdc90fc9}{virtual void \hyperlink{a01061_a17db98e67b8375f075ba0ac2cdc90fc9}{unlock\+Update} ()}\label{a01061_a17db98e67b8375f075ba0ac2cdc90fc9}

\begin{DoxyCompactList}\small\item\em Unlock display locked by update\+Lock(). \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_ae4f3bcf3b692dfdc5f93bb37d6163b00}{unlock\+And\+Update} ()
\item 
bool \hyperlink{a01061_a89c384fa71618b3d47fa3328d5a34e3d}{is\+Update\+Locked} () const 
\item 
\hypertarget{a01061_aa18978abaf68052576ffb8287f0635eb}{void \hyperlink{a01061_aa18978abaf68052576ffb8287f0635eb}{lock\+Projection\+Update} (void)}\label{a01061_aa18978abaf68052576ffb8287f0635eb}

\begin{DoxyCompactList}\small\item\em Lock update of projection matrix. \end{DoxyCompactList}\item 
\hypertarget{a01061_ae2920ca155c277269f2356a14bae6abb}{void \hyperlink{a01061_ae2920ca155c277269f2356a14bae6abb}{unlock\+Projection\+Update} (void)}\label{a01061_ae2920ca155c277269f2356a14bae6abb}

\begin{DoxyCompactList}\small\item\em Unlock update of projection matrix. \end{DoxyCompactList}\item 
\hypertarget{a01061_a1528d4cdb5c67aa19cedcc3a8414638e}{bool \hyperlink{a01061_a1528d4cdb5c67aa19cedcc3a8414638e}{animation} () const }\label{a01061_a1528d4cdb5c67aa19cedcc3a8414638e}

\begin{DoxyCompactList}\small\item\em Is animation enabled? \end{DoxyCompactList}\item 
\hypertarget{a01061_a895ee4f49b4b217373af6efa3da0848f}{void \hyperlink{a01061_a895ee4f49b4b217373af6efa3da0848f}{animation} (bool \+\_\+b)}\label{a01061_a895ee4f49b4b217373af6efa3da0848f}

\begin{DoxyCompactList}\small\item\em Set animation enabled. \end{DoxyCompactList}\item 
\hypertarget{a01061_ac66231ecee88dc392427a4cf5f2610ae}{void \hyperlink{a01061_ac66231ecee88dc392427a4cf5f2610ae}{track\+Mouse} (bool \+\_\+track)}\label{a01061_ac66231ecee88dc392427a4cf5f2610ae}

\begin{DoxyCompactList}\small\item\em Enable/disable mouse tracking (move events with no button press) \end{DoxyCompactList}\item 
\hypertarget{a01061_ac2d25f8ff2046c4c780afbd06dc0c414}{void \hyperlink{a01061_ac2d25f8ff2046c4c780afbd06dc0c414}{enable\+Popup\+Menu} (bool \+\_\+enable)}\label{a01061_ac2d25f8ff2046c4c780afbd06dc0c414}

\begin{DoxyCompactList}\small\item\em Enable/disable right button draw mode menu (default\+: enabled) \end{DoxyCompactList}\item 
\hypertarget{a01061_a9c90973228c9933dbde76c4697db44c2}{\hyperlink{a00327}{Scene\+Graph\+::\+Base\+Node} $\ast$ \hyperlink{a01061_a9c90973228c9933dbde76c4697db44c2}{scene\+Graph} ()}\label{a01061_a9c90973228c9933dbde76c4697db44c2}

\begin{DoxyCompactList}\small\item\em Returns\+: root node of scene graph. \end{DoxyCompactList}\item 
\hypertarget{a01061_a5f4bcd9069ba8ffb4340ebba1348992e}{const \hyperlink{a00327}{Scene\+Graph\+::\+Base\+Node} $\ast$ \hyperlink{a01061_a5f4bcd9069ba8ffb4340ebba1348992e}{scene\+Graph} () const }\label{a01061_a5f4bcd9069ba8ffb4340ebba1348992e}

\begin{DoxyCompactList}\small\item\em same but {\ttfamily const} \end{DoxyCompactList}\item 
void \hyperlink{a01061_af6ffd8a1a7816fcc4a9051de344060dc}{scene\+Graph} (\hyperlink{a00327}{Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+root)
\item 
\hypertarget{a01061_a967b92c488d4ea89a15b2d4971038810}{void \hyperlink{a01061_a967b92c488d4ea89a15b2d4971038810}{projection\+Mode} (\hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5}{Projection\+Mode} \+\_\+p)}\label{a01061_a967b92c488d4ea89a15b2d4971038810}

\begin{DoxyCompactList}\small\item\em Changes the projection mode and updates the projection matrix. \end{DoxyCompactList}\item 
\hypertarget{a01061_ad2e4af4559effc7d5ecab0dc789ad80e}{\hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5}{Projection\+Mode} \hyperlink{a01061_ad2e4af4559effc7d5ecab0dc789ad80e}{projection\+Mode} () const }\label{a01061_ad2e4af4559effc7d5ecab0dc789ad80e}

\begin{DoxyCompactList}\small\item\em get current projection mode \end{DoxyCompactList}\item 
\hypertarget{a01061_a73129b817c4032f94c7341c3ecf91f61}{void \hyperlink{a01061_a73129b817c4032f94c7341c3ecf91f61}{navigation\+Mode} (\hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486f}{Navigation\+Mode} \+\_\+n)}\label{a01061_a73129b817c4032f94c7341c3ecf91f61}

\begin{DoxyCompactList}\small\item\em Changes the navigation mode. \end{DoxyCompactList}\item 
\hypertarget{a01061_ac4e5b4aa5b56ffb0bbde3426a0a935a6}{\hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486f}{Navigation\+Mode} \hyperlink{a01061_ac4e5b4aa5b56ffb0bbde3426a0a935a6}{navigation\+Mode} () const }\label{a01061_ac4e5b4aa5b56ffb0bbde3426a0a935a6}

\begin{DoxyCompactList}\small\item\em get current navigation mode \end{DoxyCompactList}\item 
void \hyperlink{a01061_a463fe1206795e9c776e576c8274b3d82}{set\+Scene\+Pos} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center, double \+\_\+radius, const bool \+\_\+set\+Center=true)
\item 
void \hyperlink{a01061_aced2864567abe435c62fd6b8ebc308e4}{set\+Scene\+Center} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+center)
\item 
const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \& \hyperlink{a01061_af62e1044bed9a64a6ed43099366c7c29}{scene\+\_\+center} () const 
\item 
double \hyperlink{a01061_a9ea0cc46f31b3a609e569b33a1947e94}{scene\+\_\+radius} () const 
\item 
\hypertarget{a01061_af45a73c6ec4af59b14db7bbb88ebf473}{void {\bfseries set\+Scene\+Radius} (double radius)}\label{a01061_af45a73c6ec4af59b14db7bbb88ebf473}

\item 
\hypertarget{a01061_a05e2690841741d9e2e0293cf7a848ae9}{void \hyperlink{a01061_a05e2690841741d9e2e0293cf7a848ae9}{viewing\+Direction} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+dir, const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{A\+C\+G\+::\+Vec3d} \&\+\_\+up)}\label{a01061_a05e2690841741d9e2e0293cf7a848ae9}

\begin{DoxyCompactList}\small\item\em set the viewing direction \end{DoxyCompactList}\item 
\hypertarget{a01061_a67ced404da2c5d90a5cc3d034d63d590}{void \hyperlink{a01061_a67ced404da2c5d90a5cc3d034d63d590}{set\+Fovy} (double \+\_\+fovy)}\label{a01061_a67ced404da2c5d90a5cc3d034d63d590}

\begin{DoxyCompactList}\small\item\em set field of view y \end{DoxyCompactList}\item 
void \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode} (\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode})
\item 
\hypertarget{a01061_a612b5dcd818aa6a2dd1be95cb98833a9}{\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode} \hyperlink{a01061_a612b5dcd818aa6a2dd1be95cb98833a9}{last\+Action\+Mode} ()}\label{a01061_a612b5dcd818aa6a2dd1be95cb98833a9}

\begin{DoxyCompactList}\small\item\em Return the last action mode. \end{DoxyCompactList}\item 
\hypertarget{a01061_a01e885f60161fca9c8fd79ecb7682502}{\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode} \hyperlink{a01061_a01e885f60161fca9c8fd79ecb7682502}{action\+Mode} () const }\label{a01061_a01e885f60161fca9c8fd79ecb7682502}

\begin{DoxyCompactList}\small\item\em get action mode \end{DoxyCompactList}\item 
\hypertarget{a01061_a39a5975d7d02da2c7b5c1c5d7b8f739d}{void \hyperlink{a01061_a39a5975d7d02da2c7b5c1c5d7b8f739d}{face\+Orientation} (\hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17c}{Face\+Orientation})}\label{a01061_a39a5975d7d02da2c7b5c1c5d7b8f739d}

\begin{DoxyCompactList}\small\item\em set face orientation (used for back face culling, \hyperlink{a01061_a682ce57fdbf27eaba6b0110c0c9d2810}{back\+Face\+Culling()}) \end{DoxyCompactList}\item 
\hypertarget{a01061_a03ceca30c0c9f377714642ad8535d171}{\hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17c}{Face\+Orientation} \hyperlink{a01061_a03ceca30c0c9f377714642ad8535d171}{face\+Orientation} () const }\label{a01061_a03ceca30c0c9f377714642ad8535d171}

\begin{DoxyCompactList}\small\item\em get face orientation \end{DoxyCompactList}\item 
\hypertarget{a01061_a682ce57fdbf27eaba6b0110c0c9d2810}{void \hyperlink{a01061_a682ce57fdbf27eaba6b0110c0c9d2810}{back\+Face\+Culling} (bool \+\_\+b)}\label{a01061_a682ce57fdbf27eaba6b0110c0c9d2810}

\begin{DoxyCompactList}\small\item\em set backface culling on/off \end{DoxyCompactList}\item 
\hypertarget{a01061_a1ee9312912b2fa3fd7f7d64c087f924b}{bool \hyperlink{a01061_a1ee9312912b2fa3fd7f7d64c087f924b}{back\+Face\+Culling} () const }\label{a01061_a1ee9312912b2fa3fd7f7d64c087f924b}

\begin{DoxyCompactList}\small\item\em is backface culling enabled? \end{DoxyCompactList}\item 
\hypertarget{a01061_a6b095c1a90dd8c8c70b9b1f90ebfac8b}{void \hyperlink{a01061_a6b095c1a90dd8c8c70b9b1f90ebfac8b}{two\+Sided\+Lighting} (bool \+\_\+b)}\label{a01061_a6b095c1a90dd8c8c70b9b1f90ebfac8b}

\begin{DoxyCompactList}\small\item\em set 2-\/sided lighting on/off \end{DoxyCompactList}\item 
\hypertarget{a01061_a1b4dffffaa7ae8607cdc706b6430cb57}{bool \hyperlink{a01061_a1b4dffffaa7ae8607cdc706b6430cb57}{two\+Sided\+Lighting} () const }\label{a01061_a1b4dffffaa7ae8607cdc706b6430cb57}

\begin{DoxyCompactList}\small\item\em is 2-\/sided lighing enabled? \end{DoxyCompactList}\item 
\hypertarget{a01061_a62ec302971eafdcef1691a2404789392}{void \hyperlink{a01061_a62ec302971eafdcef1691a2404789392}{normals\+Mode} (\hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921}{Normals\+Mode} \+\_\+mode)}\label{a01061_a62ec302971eafdcef1691a2404789392}

\begin{DoxyCompactList}\small\item\em set treatment of normals \end{DoxyCompactList}\item 
\hypertarget{a01061_aeb3de6630336e2f214694f4c7462963c}{\hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921}{Normals\+Mode} \hyperlink{a01061_aeb3de6630336e2f214694f4c7462963c}{normals\+Mode} () const }\label{a01061_aeb3de6630336e2f214694f4c7462963c}

\begin{DoxyCompactList}\small\item\em get treatment of normals \end{DoxyCompactList}\item 
\hypertarget{a01061_a4ca19c0e1c61114cb569ec63561e289b}{\hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \& \hyperlink{a01061_a4ca19c0e1c61114cb569ec63561e289b}{light\+\_\+matrix} ()}\label{a01061_a4ca19c0e1c61114cb569ec63561e289b}

\begin{DoxyCompactList}\small\item\em get light rotation matrix \end{DoxyCompactList}\item 
\hypertarget{a01061_a7e9263b68bb43033af3fa2d5a2d0990c}{void \hyperlink{a01061_a7e9263b68bb43033af3fa2d5a2d0990c}{rotate\+\_\+lights} (\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+axis, double \+\_\+angle)}\label{a01061_a7e9263b68bb43033af3fa2d5a2d0990c}

\begin{DoxyCompactList}\small\item\em rotete light sources \end{DoxyCompactList}\item 
\hypertarget{a01061_a4c013157c1becc3bc9a1087dca8943c4}{void \hyperlink{a01061_a4c013157c1becc3bc9a1087dca8943c4}{update\+\_\+lights} ()}\label{a01061_a4c013157c1becc3bc9a1087dca8943c4}

\begin{DoxyCompactList}\small\item\em update light position \end{DoxyCompactList}\item 
\hypertarget{a01061_ab70a07bde9c13c34aea6d8585a6a672b}{void \hyperlink{a01061_ab70a07bde9c13c34aea6d8585a6a672b}{copy\+To\+Image} (Q\+Image \&\+\_\+image, G\+Lenum \+\_\+buffer=G\+L\+\_\+\+B\+A\+C\+K)}\label{a01061_ab70a07bde9c13c34aea6d8585a6a672b}

\begin{DoxyCompactList}\small\item\em copy current framebuffer to an Q\+Image \end{DoxyCompactList}\item 
\hypertarget{a01061_a6177be33726b678a09464be73ff1b6a7}{void \hyperlink{a01061_a6177be33726b678a09464be73ff1b6a7}{copy\+To\+Image} (Q\+Image \&\+\_\+image, unsigned int \+\_\+left, unsigned int \+\_\+top, unsigned int \+\_\+width, unsigned int \+\_\+height, G\+Lenum \+\_\+buffer)}\label{a01061_a6177be33726b678a09464be73ff1b6a7}

\begin{DoxyCompactList}\small\item\em copy current framebuffer to an Q\+Image \end{DoxyCompactList}\item 
\hypertarget{a01061_a40217d5c814b64486f56daba9301aa20}{unsigned int \hyperlink{a01061_a40217d5c814b64486f56daba9301aa20}{gl\+Width} () const }\label{a01061_a40217d5c814b64486f56daba9301aa20}

\begin{DoxyCompactList}\small\item\em get width of Q\+G\+L\+Widget \end{DoxyCompactList}\item 
\hypertarget{a01061_a47acdae680d5ed7d411b8dbd3611efa1}{unsigned int \hyperlink{a01061_a47acdae680d5ed7d411b8dbd3611efa1}{gl\+Height} () const }\label{a01061_a47acdae680d5ed7d411b8dbd3611efa1}

\begin{DoxyCompactList}\small\item\em get height of Q\+G\+L\+Widget \end{DoxyCompactList}\item 
\hypertarget{a01061_aa52e9e366c619369b9f95e8ef2a38a9a}{Q\+Size \hyperlink{a01061_aa52e9e366c619369b9f95e8ef2a38a9a}{gl\+Size} () const }\label{a01061_aa52e9e366c619369b9f95e8ef2a38a9a}

\begin{DoxyCompactList}\small\item\em get size of Q\+G\+L\+W\+Idget \end{DoxyCompactList}\item 
\hypertarget{a01061_a46ae6843e9facfa665780de212494fdc}{Q\+Point \hyperlink{a01061_a46ae6843e9facfa665780de212494fdc}{gl\+Map\+From\+Global} (const Q\+Point \&\+\_\+pos) const }\label{a01061_a46ae6843e9facfa665780de212494fdc}

\begin{DoxyCompactList}\small\item\em map global to glarea coords \end{DoxyCompactList}\item 
\hypertarget{a01061_afad21ea097e8ff983d92bcb28d72a411}{Q\+Point \hyperlink{a01061_afad21ea097e8ff983d92bcb28d72a411}{gl\+Map\+To\+Global} (const Q\+Point \&\+\_\+pos) const }\label{a01061_afad21ea097e8ff983d92bcb28d72a411}

\begin{DoxyCompactList}\small\item\em map glarea coords to global coords \end{DoxyCompactList}\item 
\hypertarget{a01061_a7cb21b564baa37d9ba11865eccca86f3}{void \hyperlink{a01061_a7cb21b564baa37d9ba11865eccca86f3}{draw\+Mode} (\hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \+\_\+mode)}\label{a01061_a7cb21b564baa37d9ba11865eccca86f3}

\begin{DoxyCompactList}\small\item\em set draw mode (No test if this mode is available!) \end{DoxyCompactList}\item 
\hypertarget{a01061_afb61fc98a83cd6d9ca4eb473a85b45a1}{\hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} \hyperlink{a01061_afb61fc98a83cd6d9ca4eb473a85b45a1}{draw\+Mode} ()}\label{a01061_afb61fc98a83cd6d9ca4eb473a85b45a1}

\begin{DoxyCompactList}\small\item\em get current draw mode \end{DoxyCompactList}\item 
\hypertarget{a01061_ae9a2cd9dd28fd82a00bf7fd89bb62bf8}{void \hyperlink{a01061_ae9a2cd9dd28fd82a00bf7fd89bb62bf8}{encode\+View} (Q\+String \&\+\_\+view)}\label{a01061_ae9a2cd9dd28fd82a00bf7fd89bb62bf8}

\begin{DoxyCompactList}\small\item\em convert current view to text representation \end{DoxyCompactList}\item 
bool \hyperlink{a01061_a8200722502ba1e0059762ecbd779ab17}{decode\+View} (const Q\+String \&\+\_\+view)
\item 
\hypertarget{a01061_aed754ac1ec6dabcc71652d3f810d87ec}{void \hyperlink{a01061_aed754ac1ec6dabcc71652d3f810d87ec}{init\+Modelview\+Matrix} ()}\label{a01061_aed754ac1ec6dabcc71652d3f810d87ec}

\begin{DoxyCompactList}\small\item\em initialize modelview matrix to identity \end{DoxyCompactList}\item 
\hypertarget{a01061_a737127eec66cbac4d6f7f2c1099a07a5}{void {\bfseries grab\+G\+L\+Area} ()}\label{a01061_a737127eec66cbac4d6f7f2c1099a07a5}

\item 
\hypertarget{a01061_aa6eed2437e0537ad61125f62c189b0ec}{void {\bfseries release\+G\+L\+Area} ()}\label{a01061_aa6eed2437e0537ad61125f62c189b0ec}

\item 
\hypertarget{a01061_a5a32f75254ea918ad75775e8b2a9a8c8}{void \hyperlink{a01061_a5a32f75254ea918ad75775e8b2a9a8c8}{draw\+Blended\+Objects} (bool \+\_\+status)}\label{a01061_a5a32f75254ea918ad75775e8b2a9a8c8}

\begin{DoxyCompactList}\small\item\em One or two pass Drawing. \end{DoxyCompactList}\item 
\hypertarget{a01061_a157a30c72292cd7829a5a610d3c04f18}{void \hyperlink{a01061_a157a30c72292cd7829a5a610d3c04f18}{translate} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&trans)}\label{a01061_a157a30c72292cd7829a5a610d3c04f18}

\begin{DoxyCompactList}\small\item\em translate the scene and update modelview matrix \end{DoxyCompactList}\item 
\hypertarget{a01061_a6b3adec01cd7a5b2c289f08e844e1dbf}{void \hyperlink{a01061_a6b3adec01cd7a5b2c289f08e844e1dbf}{rotate} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&axis, double angle)}\label{a01061_a6b3adec01cd7a5b2c289f08e844e1dbf}

\begin{DoxyCompactList}\small\item\em rotate the scene (around its center) and update modelview matrix \end{DoxyCompactList}\item 
\hypertarget{a01061_a1babed84c735b89b9b8f3d6a9ffbfd2c}{void \hyperlink{a01061_a1babed84c735b89b9b8f3d6a9ffbfd2c}{rotate} (const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&axis, double angle, const \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+center)}\label{a01061_a1babed84c735b89b9b8f3d6a9ffbfd2c}

\begin{DoxyCompactList}\small\item\em rotate the scene and update modelview matrix \end{DoxyCompactList}\item 
\hypertarget{a01061_a7460d80997aaaa1fb5151baaa0c41eec}{Q\+Menu $\ast$ \hyperlink{a01061_a7460d80997aaaa1fb5151baaa0c41eec}{get\+Pick\+Menu} ()}\label{a01061_a7460d80997aaaa1fb5151baaa0c41eec}

\begin{DoxyCompactList}\small\item\em Get the menu pointers (required to add them to the menubar as a temp workaround for a qt 4.\+3 bug. \end{DoxyCompactList}\item 
\hypertarget{a01061_a351865d1c38e92fa6a6d4c36a71929c8}{Q\+Menu $\ast$ {\bfseries get\+Func\+Menu} ()}\label{a01061_a351865d1c38e92fa6a6d4c36a71929c8}

\item 
\hypertarget{a01061_a69cbd6254d7e96281710ed9ac20e83ff}{Q\+Menu $\ast$ {\bfseries get\+Draw\+Menu} ()}\label{a01061_a69cbd6254d7e96281710ed9ac20e83ff}

\item 
\hypertarget{a01061_ad350491bb31646dceaf313d79c8e5766}{Q\+Tool\+Bar $\ast$ \hyperlink{a01061_ad350491bb31646dceaf313d79c8e5766}{get\+Tool\+Bar} ()}\label{a01061_ad350491bb31646dceaf313d79c8e5766}

\begin{DoxyCompactList}\small\item\em Returns a pointer to the Toolbar. \end{DoxyCompactList}\item 
\hypertarget{a01061_af85df3aa17313cb70986bf179f66b429}{Q\+Tool\+Bar $\ast$ \hyperlink{a01061_af85df3aa17313cb70986bf179f66b429}{remove\+Tool\+Bar} ()}\label{a01061_af85df3aa17313cb70986bf179f66b429}

\begin{DoxyCompactList}\small\item\em Returns a pointer to the toolbar and removes it from the default position in the examiner widget. \end{DoxyCompactList}\item 
\hypertarget{a01061_a88cb70639424a5bf7fe51b143abb361a}{void \hyperlink{a01061_a88cb70639424a5bf7fe51b143abb361a}{move\+Forward} ()}\label{a01061_a88cb70639424a5bf7fe51b143abb361a}

\begin{DoxyCompactList}\small\item\em First person navigation\+: Move forward. \end{DoxyCompactList}\item 
\hypertarget{a01061_a30b34e7eb7975d338f4e9352adfeb797}{void \hyperlink{a01061_a30b34e7eb7975d338f4e9352adfeb797}{move\+Back} ()}\label{a01061_a30b34e7eb7975d338f4e9352adfeb797}

\begin{DoxyCompactList}\small\item\em First person navigation\+: Move back. \end{DoxyCompactList}\item 
\hypertarget{a01061_a55521b8eb03d36b3ab324266b7499ba2}{void \hyperlink{a01061_a55521b8eb03d36b3ab324266b7499ba2}{strafe\+Left} ()}\label{a01061_a55521b8eb03d36b3ab324266b7499ba2}

\begin{DoxyCompactList}\small\item\em First person navigation\+: Strafe left. \end{DoxyCompactList}\item 
\hypertarget{a01061_aaaded6e39bf8e01520906c3b6cc659c0}{void \hyperlink{a01061_aaaded6e39bf8e01520906c3b6cc659c0}{strafe\+Right} ()}\label{a01061_aaaded6e39bf8e01520906c3b6cc659c0}

\begin{DoxyCompactList}\small\item\em First person navigation\+: Strafe Right. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a1719f6250b6e4f69bc7a6163531ba2f1}{virtual void \hyperlink{a01061_a1719f6250b6e4f69bc7a6163531ba2f1}{scene\+Rect\+Changed} (const Q\+Rect\+F \&rect)}\label{a01061_a1719f6250b6e4f69bc7a6163531ba2f1}

\begin{DoxyCompactList}\small\item\em process graphics scene size changes \end{DoxyCompactList}\item 
\hypertarget{a01061_a3fffd3df55fed85eff6f1ac6ae774d25}{virtual void \hyperlink{a01061_a3fffd3df55fed85eff6f1ac6ae774d25}{slot\+Wheel\+X} (double \+\_\+d\+Angle)}\label{a01061_a3fffd3df55fed85eff6f1ac6ae774d25}

\begin{DoxyCompactList}\small\item\em process signals from wheel\+X\+\_\+ \end{DoxyCompactList}\item 
\hypertarget{a01061_a2a935d69e0840846460252a2a6a00283}{virtual void \hyperlink{a01061_a2a935d69e0840846460252a2a6a00283}{slot\+Wheel\+Y} (double \+\_\+d\+Angle)}\label{a01061_a2a935d69e0840846460252a2a6a00283}

\begin{DoxyCompactList}\small\item\em process signals from wheel\+X\+\_\+ \end{DoxyCompactList}\item 
\hypertarget{a01061_afff49ee369c9d759fde1800680d31e5b}{virtual void \hyperlink{a01061_afff49ee369c9d759fde1800680d31e5b}{slot\+Wheel\+Z} (double \+\_\+dist)}\label{a01061_afff49ee369c9d759fde1800680d31e5b}

\begin{DoxyCompactList}\small\item\em process signals from wheel\+Z\+\_\+ \end{DoxyCompactList}\item 
\hypertarget{a01061_aae38aed5ea1f9466671ead9db919105a}{virtual void \hyperlink{a01061_aae38aed5ea1f9466671ead9db919105a}{slot\+Node\+Changed} (\hyperlink{a00327}{A\+C\+G\+::\+Scene\+Graph\+::\+Base\+Node} $\ast$\+\_\+node)}\label{a01061_aae38aed5ea1f9466671ead9db919105a}

\begin{DoxyCompactList}\small\item\em connected to scenegraph widget \end{DoxyCompactList}\item 
\hypertarget{a01061_a2af592333f381455c39514f5acb3b558}{virtual void \hyperlink{a01061_a2af592333f381455c39514f5acb3b558}{cleanup\+Event\+Filter} ()}\label{a01061_a2af592333f381455c39514f5acb3b558}

\begin{DoxyCompactList}\small\item\em correct ??? (same function as in qt src) \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a25c34be9d42a922e99e4838c529821a0}{virtual void \hyperlink{a01061_a25c34be9d42a922e99e4838c529821a0}{initialize\+G\+L} ()}\label{a01061_a25c34be9d42a922e99e4838c529821a0}

\begin{DoxyCompactList}\small\item\em initialize Open\+G\+L states \end{DoxyCompactList}\item 
\hypertarget{a01061_ac2bb86a8b97e541fbac38e0bd26c8d50}{virtual void \hyperlink{a01061_ac2bb86a8b97e541fbac38e0bd26c8d50}{paint\+G\+L} ()}\label{a01061_ac2bb86a8b97e541fbac38e0bd26c8d50}

\begin{DoxyCompactList}\small\item\em draw the scene. Triggered by \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L()}. \end{DoxyCompactList}\item 
\hypertarget{a01061_a94b33506d20b613d4d96f9d7a08cf35a}{virtual void \hyperlink{a01061_a94b33506d20b613d4d96f9d7a08cf35a}{resize\+G\+L} (int \+\_\+w, int \+\_\+h)}\label{a01061_a94b33506d20b613d4d96f9d7a08cf35a}

\begin{DoxyCompactList}\small\item\em handle resize events \end{DoxyCompactList}\item 
\hypertarget{a01061_a6352cb58bb1b501db978ff9c92a263a2}{virtual void \hyperlink{a01061_a6352cb58bb1b501db978ff9c92a263a2}{gl\+Mouse\+Press\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)}\label{a01061_a6352cb58bb1b501db978ff9c92a263a2}

\begin{DoxyCompactList}\small\item\em handle mouse press events \end{DoxyCompactList}\item 
\hypertarget{a01061_a76c1dfb5e0ea44aafd01fec48f878fef}{virtual void \hyperlink{a01061_a76c1dfb5e0ea44aafd01fec48f878fef}{gl\+Mouse\+Double\+Click\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)}\label{a01061_a76c1dfb5e0ea44aafd01fec48f878fef}

\begin{DoxyCompactList}\small\item\em handle mouse double click events \end{DoxyCompactList}\item 
\hypertarget{a01061_a4807b35c44fd5f98896e7efb4c7e2a73}{virtual void \hyperlink{a01061_a4807b35c44fd5f98896e7efb4c7e2a73}{gl\+Mouse\+Move\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)}\label{a01061_a4807b35c44fd5f98896e7efb4c7e2a73}

\begin{DoxyCompactList}\small\item\em handle mouse move events \end{DoxyCompactList}\item 
\hypertarget{a01061_a6a2347e9e2feac9bf6df0df97a0f55d6}{virtual void \hyperlink{a01061_a6a2347e9e2feac9bf6df0df97a0f55d6}{gl\+Mouse\+Release\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)}\label{a01061_a6a2347e9e2feac9bf6df0df97a0f55d6}

\begin{DoxyCompactList}\small\item\em handle mouse release events \end{DoxyCompactList}\item 
\hypertarget{a01061_ab68c480df47b34d5d50923102bec4c14}{virtual void \hyperlink{a01061_ab68c480df47b34d5d50923102bec4c14}{gl\+Mouse\+Wheel\+Event} (Q\+Wheel\+Event $\ast$\+\_\+event)}\label{a01061_ab68c480df47b34d5d50923102bec4c14}

\begin{DoxyCompactList}\small\item\em handle mouse wheel events \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_a5c3a1ec31c5240a5f349cd13323ceec5}{gl\+Context\+Menu\+Event} (Q\+Context\+Menu\+Event $\ast$\+\_\+event)
\begin{DoxyCompactList}\small\item\em handle mouse press events \end{DoxyCompactList}\item 
\hypertarget{a01061_acdc586dcb7bf37d987127d18cf1fa408}{virtual void \hyperlink{a01061_acdc586dcb7bf37d987127d18cf1fa408}{view\+Mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)=0}\label{a01061_acdc586dcb7bf37d987127d18cf1fa408}

\begin{DoxyCompactList}\small\item\em specialized viewer\+: hande mouse events \end{DoxyCompactList}\item 
\hypertarget{a01061_a0f65d76b9825de49e839af1043ba161e}{virtual void \hyperlink{a01061_a0f65d76b9825de49e839af1043ba161e}{view\+Wheel\+Event} (Q\+Wheel\+Event $\ast$\+\_\+event)=0}\label{a01061_a0f65d76b9825de49e839af1043ba161e}

\begin{DoxyCompactList}\small\item\em specialized viewer\+: handle wheel events \end{DoxyCompactList}\item 
\hypertarget{a01061_a5c8bc0f1bdf23811660797bc7be320b4}{virtual void \hyperlink{a01061_a5c8bc0f1bdf23811660797bc7be320b4}{light\+Mouse\+Event} (Q\+Mouse\+Event $\ast$)}\label{a01061_a5c8bc0f1bdf23811660797bc7be320b4}

\begin{DoxyCompactList}\small\item\em optional\+: hande mouse events to rotate light \end{DoxyCompactList}\item 
\hypertarget{a01061_ae31bcebe2efbe492c06d2a86b20dc017}{void \hyperlink{a01061_ae31bcebe2efbe492c06d2a86b20dc017}{update\+Projection\+Matrix} ()}\label{a01061_ae31bcebe2efbe492c06d2a86b20dc017}

\begin{DoxyCompactList}\small\item\em updates projection matrix \end{DoxyCompactList}\item 
\hypertarget{a01061_a4f5a2940233081b009705987c08f2eee}{void \hyperlink{a01061_a4f5a2940233081b009705987c08f2eee}{update\+Pick\+Menu} ()}\label{a01061_a4f5a2940233081b009705987c08f2eee}

\begin{DoxyCompactList}\small\item\em update pick mode menu \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a38b436bdc2987d21bcc0b575e523006f}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries scene\+\_\+center\+\_\+}}\label{a01061_a38b436bdc2987d21bcc0b575e523006f}

\item 
\hypertarget{a01061_a64fc0d8ad7c64cb8d7fc41458424e8ac}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries trackball\+\_\+center\+\_\+}}\label{a01061_a64fc0d8ad7c64cb8d7fc41458424e8ac}

\item 
\hypertarget{a01061_ad074976e53c1ead9a1a9f43d7ae7e209}{double {\bfseries scene\+\_\+radius\+\_\+}}\label{a01061_ad074976e53c1ead9a1a9f43d7ae7e209}

\item 
\hypertarget{a01061_a934f97025697438d3dc952d86bb8d4d9}{double {\bfseries trackball\+\_\+radius\+\_\+}}\label{a01061_a934f97025697438d3dc952d86bb8d4d9}

\item 
\hypertarget{a01061_a99f147eb428817f19fcbf3e524ab90f1}{G\+Ldouble {\bfseries ortho\+Width\+\_\+}}\label{a01061_a99f147eb428817f19fcbf3e524ab90f1}

\item 
\hypertarget{a01061_a0da9b6b54a054a645892bbe6afaf12b9}{G\+Ldouble {\bfseries near\+\_\+}}\label{a01061_a0da9b6b54a054a645892bbe6afaf12b9}

\item 
\hypertarget{a01061_a96e16d63191c3f1ef1fc34d43a013fc2}{G\+Ldouble {\bfseries far\+\_\+}}\label{a01061_a96e16d63191c3f1ef1fc34d43a013fc2}

\item 
\hypertarget{a01061_a660b785b547acf90898c9f66941724b2}{G\+Ldouble {\bfseries fovy\+\_\+}}\label{a01061_a660b785b547acf90898c9f66941724b2}

\item 
\hypertarget{a01061_a90111e62b837ac02cd2fc0c8a36ecf1a}{\hyperlink{a00643}{G\+L\+State} $\ast$ {\bfseries glstate\+\_\+}}\label{a01061_a90111e62b837ac02cd2fc0c8a36ecf1a}

\item 
\hypertarget{a01061_ae061cb3262380644a585e82a890a6919}{bool {\bfseries is\+Rotating\+\_\+}}\label{a01061_ae061cb3262380644a585e82a890a6919}

\item 
\hypertarget{a01061_a80b232b0167762d4828209cbbd9b2d32}{Q\+Status\+Bar $\ast$ {\bfseries statusbar\+\_\+}}\label{a01061_a80b232b0167762d4828209cbbd9b2d32}

\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_af4b64c9473122d3219491077e6ced245}{enum {\bfseries Func\+Menu\+I\+D} \{ \\*
{\bfseries M\+\_\+\+Copy\+View} =0x100, 
{\bfseries M\+\_\+\+Paste\+View}, 
{\bfseries M\+\_\+\+Paste\+Drop\+Size}, 
{\bfseries M\+\_\+\+Animation}, 
\\*
{\bfseries M\+\_\+\+Backface\+Culling}, 
{\bfseries M\+\_\+\+Two\+Sided\+Lighting}, 
{\bfseries M\+\_\+\+Background}, 
{\bfseries M\+\_\+\+Snapshot}, 
\\*
{\bfseries M\+\_\+\+Snapshot\+Name}, 
{\bfseries M\+\_\+\+Snapshot\+Saves\+View}, 
{\bfseries M\+\_\+\+Synchronize}
 \}}\label{a01061_af4b64c9473122d3219491077e6ced245}

\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_abe5b3232cf88bd6a32a80f15257ed64e}{void {\bfseries hide\+Popup\+Menus} ()}\label{a01061_abe5b3232cf88bd6a32a80f15257ed64e}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_a4763f89045e913fd1df8e634f4e382d9}{\hyperlink{a01061_a4763f89045e913fd1df8e634f4e382d9}{Qt\+Base\+Viewer} (const \hyperlink{a01061}{Qt\+Base\+Viewer} \&)}\label{a01061_a4763f89045e913fd1df8e634f4e382d9}

\begin{DoxyCompactList}\small\item\em Copy constructor. Never used! \end{DoxyCompactList}\item 
\hypertarget{a01061_ab4ce5fa2ce909e0f3468a20ceedb2de0}{\hyperlink{a01061}{Qt\+Base\+Viewer} \& \hyperlink{a01061_ab4ce5fa2ce909e0f3468a20ceedb2de0}{operator=} (const \hyperlink{a01061}{Qt\+Base\+Viewer} \&)}\label{a01061_ab4ce5fa2ce909e0f3468a20ceedb2de0}

\begin{DoxyCompactList}\small\item\em Assignment operator. Never used! \end{DoxyCompactList}\item 
\hypertarget{a01061_a73713d9c8954758c86b9fc6cfe88bd07}{void {\bfseries create\+Widgets} (const Q\+G\+L\+Format $\ast$\+\_\+format, Q\+Status\+Bar $\ast$\+\_\+sb, const \hyperlink{a01061}{Qt\+Base\+Viewer} $\ast$\+\_\+share)}\label{a01061_a73713d9c8954758c86b9fc6cfe88bd07}

\item 
\hypertarget{a01061_a4a143435f43b49eed4e3c2fc682bc6b0}{void {\bfseries draw\+Scene} ()}\label{a01061_a4a143435f43b49eed4e3c2fc682bc6b0}

\item 
\hypertarget{a01061_aff1f33854eed450596912693ba212c42}{void {\bfseries draw\+Scene\+\_\+mono} ()}\label{a01061_aff1f33854eed450596912693ba212c42}

\item 
\hypertarget{a01061_afbd61fedcff9d518c7babf385810c59d}{void {\bfseries draw\+Scene\+\_\+stereo} ()}\label{a01061_afbd61fedcff9d518c7babf385810c59d}

\item 
\hypertarget{a01061_a883bd3a03318cee9058b6286c16b7fb3}{void {\bfseries update\+Popup\+Menu} ()}\label{a01061_a883bd3a03318cee9058b6286c16b7fb3}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_af497507f8227191d536cf018a355adfd}{\hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} {\bfseries home\+\_\+center\+\_\+}}\label{a01061_af497507f8227191d536cf018a355adfd}

\item 
\hypertarget{a01061_a2523437b8b57759db53b4b969e7a91c6}{double {\bfseries home\+\_\+radius\+\_\+}}\label{a01061_a2523437b8b57759db53b4b969e7a91c6}

\item 
\hypertarget{a01061_aca586e1e3342116ef0acb243d830b9df}{\hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries home\+\_\+modelview\+\_\+}}\label{a01061_aca586e1e3342116ef0acb243d830b9df}

\item 
\hypertarget{a01061_ab3c9579b924b98f36f8d799a30536459}{\hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries home\+\_\+inverse\+\_\+modelview\+\_\+}}\label{a01061_ab3c9579b924b98f36f8d799a30536459}

\item 
\hypertarget{a01061_a351d0671e2f44bae677d4f977a3d39e3}{double {\bfseries home\+Ortho\+Width\+\_\+}}\label{a01061_a351d0671e2f44bae677d4f977a3d39e3}

\item 
\hypertarget{a01061_af09936b0cf2017ca87ec66158b865c9e}{\hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} {\bfseries light\+\_\+matrix\+\_\+}}\label{a01061_af09936b0cf2017ca87ec66158b865c9e}

\item 
\hypertarget{a01061_a6bbf9900d45b800f2b2bb592cdb4b40e}{\hyperlink{a01061_ab2dad0308b21b48d43de38f94e3da921}{Normals\+Mode} {\bfseries normals\+Mode\+\_\+}}\label{a01061_a6bbf9900d45b800f2b2bb592cdb4b40e}

\item 
\hypertarget{a01061_affe320b7e62adab793670d68fcece682}{\hyperlink{a01061_a98ec03663455889a0067bdd8d6e9b17c}{Face\+Orientation} {\bfseries face\+Orientation\+\_\+}}\label{a01061_affe320b7e62adab793670d68fcece682}

\item 
\hypertarget{a01061_a0fe37b4980e644e2d674243afb8ea3fc}{\hyperlink{a01061_ae95b6aa1937e1e075c572722b93d93f5}{Projection\+Mode} {\bfseries projection\+Mode\+\_\+}}\label{a01061_a0fe37b4980e644e2d674243afb8ea3fc}

\item 
\hypertarget{a01061_a617e53f95b26238cdf59bcba40b72a0d}{\hyperlink{a01061_a2e5ed666f1f134198220c63fb46f486f}{Navigation\+Mode} {\bfseries navigation\+Mode\+\_\+}}\label{a01061_a617e53f95b26238cdf59bcba40b72a0d}

\item 
\hypertarget{a01061_a95637293762d0c03dfdf78c7f2416ada}{\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode} {\bfseries action\+Mode\+\_\+}}\label{a01061_a95637293762d0c03dfdf78c7f2416ada}

\item 
\hypertarget{a01061_a57f43d3a363196fad8ca4635125d23a9}{\hyperlink{a01061_a35efbeb8887d945ab3061bd83699d583}{Action\+Mode} {\bfseries last\+Action\+Mode\+\_\+}}\label{a01061_a57f43d3a363196fad8ca4635125d23a9}

\item 
\hypertarget{a01061_a337634895560830f88b75bb171ab360d}{bool {\bfseries back\+Face\+Culling\+\_\+}}\label{a01061_a337634895560830f88b75bb171ab360d}

\item 
\hypertarget{a01061_a05ae6b1bee4329538bf2b6081d19f0b0}{bool {\bfseries two\+Sided\+Lighting\+\_\+}}\label{a01061_a05ae6b1bee4329538bf2b6081d19f0b0}

\item 
\hypertarget{a01061_a0b144d517d874d161102958b7bf55a91}{bool {\bfseries animation\+\_\+}}\label{a01061_a0b144d517d874d161102958b7bf55a91}

\item 
\hypertarget{a01061_a0f3d0c1d3f4045fc1d7967caa8c46ea3}{bool {\bfseries track\+Mouse\+\_\+}}\label{a01061_a0f3d0c1d3f4045fc1d7967caa8c46ea3}

\item 
\hypertarget{a01061_ad68ff3d3954ccf1194f36bc0bf6a9e2e}{bool {\bfseries popup\+Enabled\+\_\+}}\label{a01061_ad68ff3d3954ccf1194f36bc0bf6a9e2e}

\item 
\hypertarget{a01061_a5866c2b63f83c35b58eec0404dca22fd}{bool {\bfseries glarea\+Grabbed\+\_\+}}\label{a01061_a5866c2b63f83c35b58eec0404dca22fd}

\item 
\hypertarget{a01061_a527d8dd1681f107499ee9206213d9e1b}{double {\bfseries frame\+\_\+time\+\_\+}}\label{a01061_a527d8dd1681f107499ee9206213d9e1b}

\item 
\hypertarget{a01061_a585419ca6fc86143345f027578d48e2b}{Q\+Menu $\ast$ {\bfseries pick\+Menu\+\_\+}}\label{a01061_a585419ca6fc86143345f027578d48e2b}

\item 
\hypertarget{a01061_a44d253d03454fb96bd9f627ac7d15e6d}{Q\+Menu $\ast$ {\bfseries func\+Menu\+\_\+}}\label{a01061_a44d253d03454fb96bd9f627ac7d15e6d}

\item 
\hypertarget{a01061_a9eb550620291577465a218110966957e}{Q\+Menu $\ast$ {\bfseries draw\+Menu\+\_\+}}\label{a01061_a9eb550620291577465a218110966957e}

\item 
\hypertarget{a01061_a6e92d4014baab2f0aea2d49b6c90fa83}{\hyperlink{a00327}{Scene\+Graph\+::\+Base\+Node} $\ast$ {\bfseries scene\+Graph\+Root\+\_\+}}\label{a01061_a6e92d4014baab2f0aea2d49b6c90fa83}

\item 
\hypertarget{a01061_a9ea7d7468c93bb09acb6da30833c0514}{\hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} {\bfseries cur\+Draw\+Mode\+\_\+}}\label{a01061_a9ea7d7468c93bb09acb6da30833c0514}

\item 
\hypertarget{a01061_ac8d75dee29e3c3d0272af91ae13f18db}{\hyperlink{a00509}{A\+C\+G\+::\+Scene\+Graph\+::\+Draw\+Modes\+::\+Draw\+Mode} {\bfseries avail\+Draw\+Modes\+\_\+}}\label{a01061_ac8d75dee29e3c3d0272af91ae13f18db}

\item 
\hypertarget{a01061_a754c25ffbc12b74df13f7281f9a8848e}{bool {\bfseries update\+Locked\+\_\+}}\label{a01061_a754c25ffbc12b74df13f7281f9a8848e}

\item 
\hypertarget{a01061_a66d0ee4e3eef8fe5fc2db2d381369c30}{bool {\bfseries projection\+Update\+Locked\+\_\+}}\label{a01061_a66d0ee4e3eef8fe5fc2db2d381369c30}

\item 
\hypertarget{a01061_a80ffda9db46beacb2548d22c09c635a8}{bool {\bfseries blending\+\_\+}}\label{a01061_a80ffda9db46beacb2548d22c09c635a8}

\item 
\hypertarget{a01061_a59164e3b0d8e9aaf53c51348069936f8}{\hyperlink{a01079}{Qt\+Scene\+Graph\+Dialog} $\ast$ {\bfseries scene\+Graph\+Dialog\+\_\+}}\label{a01061_a59164e3b0d8e9aaf53c51348069936f8}

\item 
\hypertarget{a01061_ac86c45efa0fbe0f073442a13cc1d493f}{\hyperlink{a01061_a5c2169f4a127ced296868767411d6e00}{Options} {\bfseries options\+\_\+}}\label{a01061_ac86c45efa0fbe0f073442a13cc1d493f}

\item 
\hypertarget{a01061_ad303f325edaa4ceb4ff8b233de7ab7d9}{Q\+G\+L\+Widget $\ast$ {\bfseries gl\+Widget\+\_\+}}\label{a01061_ad303f325edaa4ceb4ff8b233de7ab7d9}

\item 
\hypertarget{a01061_a7ff89a6a85dadeacf486b313967720e6}{\hyperlink{a01068}{Qt\+G\+L\+Graphics\+Scene} $\ast$ {\bfseries gl\+Scene\+\_\+}}\label{a01061_a7ff89a6a85dadeacf486b313967720e6}

\item 
\hypertarget{a01061_afd954d7b21abb96425958bfb3b2fb9ca}{\hyperlink{a01071}{Qt\+G\+L\+Graphics\+View} $\ast$ {\bfseries gl\+View\+\_\+}}\label{a01061_afd954d7b21abb96425958bfb3b2fb9ca}

\item 
\hypertarget{a01061_a4c0bb728b153ccab3f0773f880f0f175}{Q\+Graphics\+Widget $\ast$ {\bfseries gl\+Base\+\_\+}}\label{a01061_a4c0bb728b153ccab3f0773f880f0f175}

\item 
\hypertarget{a01061_a8186fd990695bc021fc99f616457fda8}{Q\+Graphics\+Grid\+Layout $\ast$ {\bfseries gl\+Base\+Layout\+\_\+}}\label{a01061_a8186fd990695bc021fc99f616457fda8}

\item 
\hypertarget{a01061_a828a3ca86980ae214d08bcf19b71fa24}{Q\+Status\+Bar $\ast$ {\bfseries private\+Status\+Bar\+\_\+}}\label{a01061_a828a3ca86980ae214d08bcf19b71fa24}

\item 
\hypertarget{a01061_a78b6bf9c5bfdfd80aa2e2bae7e486a17}{Q\+Grid\+Layout $\ast$ {\bfseries gl\+Layout\+\_\+}}\label{a01061_a78b6bf9c5bfdfd80aa2e2bae7e486a17}

\item 
\hypertarget{a01061_a955d5f403350be77f2653ef61f2ae941}{Q\+Tool\+Bar $\ast$ {\bfseries button\+Bar\+\_\+}}\label{a01061_a955d5f403350be77f2653ef61f2ae941}

\item 
\hypertarget{a01061_ab4f0b281d37370268a0ce1cb445dc21e}{Q\+Tool\+Button $\ast$ {\bfseries pick\+Button\+\_\+}}\label{a01061_ab4f0b281d37370268a0ce1cb445dc21e}

\item 
\hypertarget{a01061_aa89e69dcbc9da1215683dcf8ef33bca0}{Q\+Tool\+Button $\ast$ {\bfseries move\+Button\+\_\+}}\label{a01061_aa89e69dcbc9da1215683dcf8ef33bca0}

\item 
\hypertarget{a01061_ada499945080b99cbbcd704360cd32a49}{Q\+Tool\+Button $\ast$ {\bfseries light\+Button\+\_\+}}\label{a01061_ada499945080b99cbbcd704360cd32a49}

\item 
\hypertarget{a01061_a4a288ce69109c828130a6bf599e8441a}{Q\+Tool\+Button $\ast$ {\bfseries question\+Button\+\_\+}}\label{a01061_a4a288ce69109c828130a6bf599e8441a}

\item 
\hypertarget{a01061_acbbe72a4b9d1c23773ba9b9c3b2e5d6d}{Q\+Tool\+Button $\ast$ {\bfseries projection\+Button\+\_\+}}\label{a01061_acbbe72a4b9d1c23773ba9b9c3b2e5d6d}

\item 
\hypertarget{a01061_aed27685873b466055c821c01a726d891}{Q\+Tool\+Button $\ast$ {\bfseries home\+Button\+\_\+}}\label{a01061_aed27685873b466055c821c01a726d891}

\item 
\hypertarget{a01061_a5d633d7323e41706deb7350a5cbb0bbe}{Q\+Tool\+Button $\ast$ {\bfseries set\+Home\+Button\+\_\+}}\label{a01061_a5d633d7323e41706deb7350a5cbb0bbe}

\item 
\hypertarget{a01061_a211d68fb151759348448540311ba9e71}{Q\+Tool\+Button $\ast$ {\bfseries view\+All\+Button\+\_\+}}\label{a01061_a211d68fb151759348448540311ba9e71}

\item 
\hypertarget{a01061_a794b81efb1df979c3358efd57fa8b4e1}{Q\+Tool\+Button $\ast$ {\bfseries scene\+Graph\+Button\+\_\+}}\label{a01061_a794b81efb1df979c3358efd57fa8b4e1}

\item 
\hypertarget{a01061_a20a97c93fd9400398dde8c26ac541c15}{Q\+Tool\+Button $\ast$ {\bfseries stereo\+Button\+\_\+}}\label{a01061_a20a97c93fd9400398dde8c26ac541c15}

\item 
\hypertarget{a01061_a30acb2cb72c9b4d3ac46d0367717c799}{\hyperlink{a01085}{Qt\+Wheel} $\ast$ {\bfseries wheel\+X\+\_\+}}\label{a01061_a30acb2cb72c9b4d3ac46d0367717c799}

\item 
\hypertarget{a01061_a5e8d44c7278e961a144e597147c2840e}{\hyperlink{a01085}{Qt\+Wheel} $\ast$ {\bfseries wheel\+Y\+\_\+}}\label{a01061_a5e8d44c7278e961a144e597147c2840e}

\item 
\hypertarget{a01061_adc43e1708103a5f6427cf3be4f9608b0}{\hyperlink{a01085}{Qt\+Wheel} $\ast$ {\bfseries wheel\+Z\+\_\+}}\label{a01061_adc43e1708103a5f6427cf3be4f9608b0}

\item 
\hypertarget{a01061_a237d714a8453622b79deba3cad2fccad}{Q\+Map$<$ Q\+String, Q\+Action $\ast$ $>$ {\bfseries action\+\_\+}}\label{a01061_a237d714a8453622b79deba3cad2fccad}

\item 
\hypertarget{a01061_a6deb2e7bc91562f6c954b5ba1925702f}{std\+::vector$<$ Q\+Action $\ast$ $>$ {\bfseries draw\+Menu\+Actions\+\_\+}}\label{a01061_a6deb2e7bc91562f6c954b5ba1925702f}

\item 
\hypertarget{a01061_a62d7e62730de5cbcfc4c942df5e58b84}{Q\+Time {\bfseries redraw\+Time\+\_\+}}\label{a01061_a62d7e62730de5cbcfc4c942df5e58b84}

\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_ad9f8454cbfc6c3545a60f8aaad41f34b}{class {\bfseries Qt\+G\+L\+Graphics\+Scene}}\label{a01061_ad9f8454cbfc6c3545a60f8aaad41f34b}

\item 
\hypertarget{a01061_aa24555e8027e8185a689c90d12788f2d}{class {\bfseries Qt\+G\+L\+Graphics\+View}}\label{a01061_aa24555e8027e8185a689c90d12788f2d}

\end{DoxyCompactItemize}
\subsection*{Stereo}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a01061_a2aba2bcc64ecc6a40b456b0cb6f26e76}{stereo\+\_\+}
\begin{DoxyCompactList}\small\item\em Set eye distance for stereo. \end{DoxyCompactList}\item 
double \hyperlink{a01061_a93c306953a05a8794e40406afd78d359}{eye\+Dist\+\_\+}
\begin{DoxyCompactList}\small\item\em Set eye distance for stereo. \end{DoxyCompactList}\item 
double \hyperlink{a01061_abeeab9a416b8ad2c4d00ea20448991b5}{focal\+Dist\+\_\+}
\begin{DoxyCompactList}\small\item\em Set eye distance for stereo. \end{DoxyCompactList}\item 
void \hyperlink{a01061_abf1fddcdda05e4f8bec706b6fafea83b}{set\+Eye\+Distance} (double \+\_\+distance)
\begin{DoxyCompactList}\small\item\em Set eye distance for stereo. \end{DoxyCompactList}\item 
\hypertarget{a01061_abf7c23560c8362bef47ab1628e3abc02}{double \hyperlink{a01061_abf7c23560c8362bef47ab1628e3abc02}{eye\+Distance} ()}\label{a01061_abf7c23560c8362bef47ab1628e3abc02}

\begin{DoxyCompactList}\small\item\em Get the current eye Distance. \end{DoxyCompactList}\item 
void \hyperlink{a01061_afbca733c22e64b3c34fd5e7d2b603ef4}{set\+Focal\+Distance} (double \+\_\+distance)
\begin{DoxyCompactList}\small\item\em Set focal distance for stereo. \end{DoxyCompactList}\item 
\hypertarget{a01061_aab908f75400ff10ed5f1b36cb759a788}{double \hyperlink{a01061_aab908f75400ff10ed5f1b36cb759a788}{focal\+Distance} ()}\label{a01061_aab908f75400ff10ed5f1b36cb759a788}

\begin{DoxyCompactList}\small\item\em Get the current focal Distance. \end{DoxyCompactList}\item 
\hypertarget{a01061_aebbb6c7575cc3617708757efb0f66019}{virtual void \hyperlink{a01061_aebbb6c7575cc3617708757efb0f66019}{toggle\+Stereo\+Mode} ()}\label{a01061_aebbb6c7575cc3617708757efb0f66019}

\begin{DoxyCompactList}\small\item\em toggle stereo mode \end{DoxyCompactList}\item 
\hypertarget{a01061_a66d3a6d5a1623db28491631cf7197a49}{virtual void \hyperlink{a01061_a66d3a6d5a1623db28491631cf7197a49}{set\+Stereo\+Mode} (bool \+\_\+b)}\label{a01061_a66d3a6d5a1623db28491631cf7197a49}

\begin{DoxyCompactList}\small\item\em enable/disable stereo mode \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Key handling}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a01061_a6e9d56546a92bc5a9f038f88687e249d}{disable\+Key\+Handling\+\_\+}
\begin{DoxyCompactList}\small\item\em Enable or disable internal Key handling. \end{DoxyCompactList}\item 
void \hyperlink{a01061_a369d89cbab204a03cc526e29b81e4ac7}{disable\+Key\+Handling} (bool \+\_\+state)
\begin{DoxyCompactList}\small\item\em Enable or disable internal Key handling. \end{DoxyCompactList}\item 
bool \hyperlink{a01061_a4ae9944e8cc9fba6fb5227c562dc3a51}{key\+Handling\+State} ()
\begin{DoxyCompactList}\small\item\em get the current key handling state. \end{DoxyCompactList}\item 
void \hyperlink{a01061_a0cf7acfd81c4c437c2eabfbb314b8a10}{signal\+Key\+Press\+Event} (Q\+Key\+Event $\ast$)
\begin{DoxyCompactList}\small\item\em Key Event received. \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_a1095e115b36dc8f446d0ed9e930c8f9d}{gl\+Key\+Press\+Event} (Q\+Key\+Event $\ast$)
\begin{DoxyCompactList}\small\item\em Get key\+Press events from the gl\+Area. \end{DoxyCompactList}\item 
virtual void \hyperlink{a01061_ae3e51a671850c25128d9d6ef5abaadf2}{gl\+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{a01061_ae2b2df1d5deef72c762c8dae97c52c71}{view\+Key\+Press\+Event} (Q\+Key\+Event $\ast$\+\_\+event)=0
\begin{DoxyCompactList}\small\item\em Handle key events in view mode. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Drag and Drop}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{a01061_a1a7d66d126cd1d3d24a9d8c5ca3ee033}{external\+Drag\+\_\+}
\item 
\hypertarget{a01061_aeb606eecd85849bc007b8984de843b1a}{void \hyperlink{a01061_aeb606eecd85849bc007b8984de843b1a}{set\+External\+Drag} (bool \+\_\+external)}\label{a01061_aeb606eecd85849bc007b8984de843b1a}

\begin{DoxyCompactList}\small\item\em Enable or disable external dragging controls. \end{DoxyCompactList}\item 
void \hyperlink{a01061_a28f044070ae7025fbc8ad06637aa130e}{start\+Drag\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)
\item 
void \hyperlink{a01061_a2ac06519f57bdf7ca0702dd203bf2397}{drag\+Enter\+Event} (Q\+Drag\+Enter\+Event $\ast$\+\_\+event)
\item 
void \hyperlink{a01061_a605575a8c007c126b300517c475f3e57}{drop\+Event} (Q\+Drop\+Event $\ast$\+\_\+event)
\item 
\hypertarget{a01061_affe82a48ec59e453bcf7c7c9512ab834}{virtual void \hyperlink{a01061_affe82a48ec59e453bcf7c7c9512ab834}{start\+Drag} ()}\label{a01061_affe82a48ec59e453bcf7c7c9512ab834}

\begin{DoxyCompactList}\small\item\em drag \& drop for modelview copying \end{DoxyCompactList}\item 
\hypertarget{a01061_a76c9b139db0439264416587400381618}{virtual void \hyperlink{a01061_a76c9b139db0439264416587400381618}{gl\+Drag\+Enter\+Event} (Q\+Drag\+Enter\+Event $\ast$\+\_\+event)}\label{a01061_a76c9b139db0439264416587400381618}

\begin{DoxyCompactList}\small\item\em drag \& drop for modelview copying \end{DoxyCompactList}\item 
\hypertarget{a01061_abb44d4664eb78641dbe91b2a3c138f0a}{virtual void \hyperlink{a01061_abb44d4664eb78641dbe91b2a3c138f0a}{gl\+Drop\+Event} (Q\+Drop\+Event $\ast$\+\_\+event)}\label{a01061_abb44d4664eb78641dbe91b2a3c138f0a}

\begin{DoxyCompactList}\small\item\em drag \& drop for modelview copying \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Synchronize different viewers}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01061_aa7c7def1556a1dec26c5d61d28f15129}{bool \hyperlink{a01061_aa7c7def1556a1dec26c5d61d28f15129}{synchronized\+\_\+}}\label{a01061_aa7c7def1556a1dec26c5d61d28f15129}

\begin{DoxyCompactList}\small\item\em synchronized with different viewer? \end{DoxyCompactList}\item 
\hypertarget{a01061_ae4cdefcc28b6784215b2a6e6009add4d}{bool \hyperlink{a01061_ae4cdefcc28b6784215b2a6e6009add4d}{skip\+Next\+Sync\+\_\+}}\label{a01061_ae4cdefcc28b6784215b2a6e6009add4d}

\begin{DoxyCompactList}\small\item\em Skips the next synch event. \end{DoxyCompactList}\item 
\hypertarget{a01061_a74a21d631b44eb312170c51fcd82e732}{Q\+Udp\+Socket $\ast$ \hyperlink{a01061_a74a21d631b44eb312170c51fcd82e732}{socket\+\_\+}}\label{a01061_a74a21d631b44eb312170c51fcd82e732}

\begin{DoxyCompactList}\small\item\em socket used for synchronization \end{DoxyCompactList}\item 
\hypertarget{a01061_a53959c99d12d515689495cfce0845067}{std\+::vector$<$ Q\+Host\+Address $>$ \hyperlink{a01061_a53959c99d12d515689495cfce0845067}{sync\+\_\+hosts\+\_\+}}\label{a01061_a53959c99d12d515689495cfce0845067}

\begin{DoxyCompactList}\small\item\em List of hosts which should receive sync information. \end{DoxyCompactList}\item 
void \hyperlink{a01061_ab68fc0ccf91d863147292e622864d39b}{sync\+\_\+connect} (const \hyperlink{a01061}{Qt\+Base\+Viewer} $\ast$)
\item 
\hypertarget{a01061_a768bf7658e5acd4e0556923e2267849e}{void \hyperlink{a01061_a768bf7658e5acd4e0556923e2267849e}{sync\+\_\+disconnect} (const \hyperlink{a01061}{Qt\+Base\+Viewer} $\ast$)}\label{a01061_a768bf7658e5acd4e0556923e2267849e}

\begin{DoxyCompactList}\small\item\em unsync two \hyperlink{a01061_ab68fc0ccf91d863147292e622864d39b}{sync\+\_\+connect()}ed \hyperlink{a01061}{Qt\+Base\+Viewer}'s \end{DoxyCompactList}\item 
\hypertarget{a01061_a78dfbe79c67486a1b0139169e9979159}{virtual void \hyperlink{a01061_a78dfbe79c67486a1b0139169e9979159}{set\+Synchronization} (bool \+\_\+b)}\label{a01061_a78dfbe79c67486a1b0139169e9979159}

\begin{DoxyCompactList}\small\item\em toggle global synchronization \end{DoxyCompactList}\item 
\hypertarget{a01061_af1c54b711adda237ff5afad0c020b1dd}{bool \hyperlink{a01061_af1c54b711adda237ff5afad0c020b1dd}{add\+\_\+sync\+\_\+host} (const Q\+String \&\+\_\+name)}\label{a01061_af1c54b711adda237ff5afad0c020b1dd}

\begin{DoxyCompactList}\small\item\em add host to synchronize with, given by its name \end{DoxyCompactList}\item 
\hypertarget{a01061_af32ac14e8da2c6e394bd1db53bcb3834}{void \hyperlink{a01061_af32ac14e8da2c6e394bd1db53bcb3834}{add\+\_\+sync\+\_\+host} (Q\+Host\+Address \&\+\_\+adr)}\label{a01061_af32ac14e8da2c6e394bd1db53bcb3834}

\begin{DoxyCompactList}\small\item\em add host to synchronize with, given by its address \end{DoxyCompactList}\item 
\hypertarget{a01061_a37d121fe2a600da967401e0fe48027fe}{bool \hyperlink{a01061_a37d121fe2a600da967401e0fe48027fe}{synchronization} ()}\label{a01061_a37d121fe2a600da967401e0fe48027fe}

\begin{DoxyCompactList}\small\item\em synchronized with different viewer? \end{DoxyCompactList}\item 
\hypertarget{a01061_afabd65709f003fd055f8512d377a740e}{void \hyperlink{a01061_afabd65709f003fd055f8512d377a740e}{sync\+\_\+receive} ()}\label{a01061_afabd65709f003fd055f8512d377a740e}

\begin{DoxyCompactList}\small\item\em synchronized with different viewer? \end{DoxyCompactList}\item 
\hypertarget{a01061_af5e5042925876fec10cf36e8cdffc0e4}{void \hyperlink{a01061_af5e5042925876fec10cf36e8cdffc0e4}{sync\+\_\+send} (const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+modelview, const \hyperlink{a03336_a574eaee6f4eff166845ff5c654b0b852}{G\+L\+Matrixd} \&\+\_\+inverse\+\_\+modelview)}\label{a01061_af5e5042925876fec10cf36e8cdffc0e4}

\begin{DoxyCompactList}\small\item\em synchronized with different viewer? \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Snapshots}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a01061_a85616241f12e8f9174e8a69e01c58eb7}{snapshot\+Name\+\_\+}
\item 
int \hyperlink{a01061_a0ba03839beb2b8e3f0b491fcc9572a77}{snapshot\+Counter\+\_\+}
\item 
Q\+Image $\ast$ \hyperlink{a01061_ac048d595c75275823592f5c2e616f615}{snapshot\+\_\+}
\item 
virtual void \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name} (const Q\+String \&\+\_\+fname)
\item 
virtual void \hyperlink{a01061_ab09174aa07f6a356080f9ac7e3bfdabd}{snapshot} ()
\item 
void \hyperlink{a01061_a1509fec44a47ee2e6686cf5a815bd173}{action\+Snapshot} ()
\item 
void \hyperlink{a01061_a1ea7ba004cd1c7cae1b729ce7fbedd30}{action\+Snapshot\+Name} ()
\item 
void \hyperlink{a01061_a92655fec7027d2f0bab45f6ffe7c1794}{action\+Snapshot\+Saves\+View} ()
\end{DoxyCompactItemize}
\subsection*{Picking}
\begin{DoxyCompactItemize}
\item 
std\+::vector$<$ \hyperlink{a00959}{Pick\+Mode} $>$ \hyperlink{a01061_ae6e8bba20bc1a5e5b56c3997bd4e7e8f}{pick\+\_\+modes\+\_\+}
\item 
std\+::string \hyperlink{a01061_ada2927e96cea0cf580d123817f17b692}{pick\+\_\+mode\+\_\+name\+\_\+}
\item 
int \hyperlink{a01061_a9b4e6b28acee197122921d7058ee17ef}{pick\+\_\+mode\+\_\+idx\+\_\+}
\item 
bool \hyperlink{a01061_a504b667676f459d9c20e07e7b190bf48}{render\+Picking\+\_\+}
\item 
\hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \hyperlink{a01061_acfd3c40e00a601e8686084970a6a0bcc}{pick\+Renderer\+Mode\+\_\+}
\item 
bool \hyperlink{a01061_a7c431d97fb94359d9c636edb846316be}{pick} (\hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{Scene\+Graph\+::\+Pick\+Target} \+\_\+pick\+Target, const Q\+Point \&\+\_\+mouse\+Pos, unsigned int \&\+\_\+node\+Idx, unsigned int \&\+\_\+target\+Idx, \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} $\ast$\+\_\+hit\+Point\+Ptr=0)
\item 
bool \hyperlink{a01061_af9a7fc443af8f54c475000de138afc10}{fast\+\_\+pick} (const Q\+Point \&\+\_\+mouse\+Pos, \hyperlink{a03336_ae4a56bb6b65d7f966934982a1e370213}{Vec3d} \&\+\_\+hit\+Point)
\item 
void \hyperlink{a01061_aa75204ecef3d71edd8afb2ceffa2575e}{add\+Pick\+Mode} (const std\+::string \&\+\_\+name, bool \+\_\+mouse\+\_\+tracking=false, int \+\_\+pos=-\/1, bool \+\_\+visible=true, Q\+Cursor \+\_\+cursor=Qt\+::\+Arrow\+Cursor)
\begin{DoxyCompactList}\small\item\em add pick mode \end{DoxyCompactList}\item 
void \hyperlink{a01061_ac4b49ae4a169ab3d1373fc495e573876}{clear\+Pick\+Modes} ()
\item 
const std\+::string \& \hyperlink{a01061_a78f6451dcebd0e4b4c7426bd9054d329}{pick\+Mode} () const 
\item 
void \hyperlink{a01061_acb98783cddc3971b9cfa625def076bf4}{pick\+Mode} (const std\+::string \&\+\_\+name)
\item 
void \hyperlink{a01061_a5ba95a104bed4c628baca6aa3c1b5a3d}{pick\+Mode} (int \+\_\+id)
\item 
void \hyperlink{a01061_a19a7c68ce351aee1c2926c9ca5d13b0c}{render\+Picking} (bool \+\_\+render\+Picking, \hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} \+\_\+mode)
\item 
virtual void \hyperlink{a01061_ad95f0ce04acc3738b82cfbf8de5cf1fd}{picking\+Mode} ()
\item 
void \hyperlink{a01061_a2f9718958bfbfa9651a56cdfff76bc90}{set\+Pick\+Mode\+Cursor} (const std\+::string \&\+\_\+name, Q\+Cursor \+\_\+cursor)
\begin{DoxyCompactList}\small\item\em set a new cursor for the pick mode \end{DoxyCompactList}\item 
void \hyperlink{a01061_a1edc93054637addc5d3b3b5c9b82772b}{set\+Pick\+Mode\+Mouse\+Tracking} (const std\+::string \&\+\_\+name, bool \+\_\+mouse\+Tracking)
\begin{DoxyCompactList}\small\item\em set mouse\+Tracking for the pick mode \end{DoxyCompactList}\item 
void \hyperlink{a01061_a805e9424203e19e2c46d69d18643ac8a}{signal\+Pick\+Mode\+Changed} (const std\+::string \&)
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base Viewer Widget\+: All viewers are derived from this one. Implement Mouse \& Keyboard Events. Redefine Signals and Slots. See for example \char`\"{}\+Qt\+Examiner\+Viewer\char`\"{} 

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



\subsection{Member Enumeration Documentation}
\hypertarget{a01061_a35efbeb8887d945ab3061bd83699d583}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Action\+Mode@{Action\+Mode}}
\index{Action\+Mode@{Action\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Action\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Action\+Mode}}}\label{a01061_a35efbeb8887d945ab3061bd83699d583}


How to react on mouse events? 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{Picking\+Mode@{Picking\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Picking\+Mode@{Picking\+Mode}}\item[{\em 
\hypertarget{a01061_a35efbeb8887d945ab3061bd83699d583a974c1377a3b8f68cdccdcf86250d44fb}{Picking\+Mode}\label{a01061_a35efbeb8887d945ab3061bd83699d583a974c1377a3b8f68cdccdcf86250d44fb}
}]Picking mode. Actually no \hyperlink{a01061_a7c431d97fb94359d9c636edb846316be}{pick()}ing is performed (!) but events are forwarded to the application via \hyperlink{a01061_ab386432c22336a38dcda4749109bf1d6}{signal\+Mouse\+Event()}. \end{description}
\end{Desc}


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

\hypertarget{a01061_a98ec03663455889a0067bdd8d6e9b17c}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Face\+Orientation@{Face\+Orientation}}
\index{Face\+Orientation@{Face\+Orientation}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Face\+Orientation}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Face\+Orientation}}}\label{a01061_a98ec03663455889a0067bdd8d6e9b17c}


orientation of the faces 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N@{C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N@{C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_a98ec03663455889a0067bdd8d6e9b17ca55426e0544b068b8fb32de1257ac06d6}{C\+C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}\label{a01061_a98ec03663455889a0067bdd8d6e9b17ca55426e0544b068b8fb32de1257ac06d6}
}]counter clockwise (default) \index{C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N@{C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N@{C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_a98ec03663455889a0067bdd8d6e9b17ca7a840ef6f054222f95a30bab5ee023b6}{C\+W\+\_\+\+O\+R\+I\+E\+N\+T\+A\+T\+I\+O\+N}\label{a01061_a98ec03663455889a0067bdd8d6e9b17ca7a840ef6f054222f95a30bab5ee023b6}
}]clockwise \end{description}
\end{Desc}


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

\hypertarget{a01061_a2e5ed666f1f134198220c63fb46f486f}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Navigation\+Mode@{Navigation\+Mode}}
\index{Navigation\+Mode@{Navigation\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Navigation\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Navigation\+Mode}}}\label{a01061_a2e5ed666f1f134198220c63fb46f486f}


Navigation mode. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N@{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N@{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_a2e5ed666f1f134198220c63fb46f486fa802c7b1231f634280f7c6794625e568b}{N\+O\+R\+M\+A\+L\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}\label{a01061_a2e5ed666f1f134198220c63fb46f486fa802c7b1231f634280f7c6794625e568b}
}]Normal mode. \index{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N@{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N@{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_a2e5ed666f1f134198220c63fb46f486faa53da9540a2ced9f832175f2b660e08e}{F\+I\+R\+S\+T\+P\+E\+R\+S\+O\+N\+\_\+\+N\+A\+V\+I\+G\+A\+T\+I\+O\+N}\label{a01061_a2e5ed666f1f134198220c63fb46f486faa53da9540a2ced9f832175f2b660e08e}
}]First person mode. \end{description}
\end{Desc}


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

\hypertarget{a01061_ab2dad0308b21b48d43de38f94e3da921}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Normals\+Mode@{Normals\+Mode}}
\index{Normals\+Mode@{Normals\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Normals\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Normals\+Mode}}}\label{a01061_ab2dad0308b21b48d43de38f94e3da921}


Automatically normalize normals? 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S@{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S@{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S}}\item[{\em 
\hypertarget{a01061_ab2dad0308b21b48d43de38f94e3da921a1bc9dfd4e3381994a951813992a9db63}{D\+O\+N\+T\+\_\+\+T\+O\+U\+C\+H\+\_\+\+N\+O\+R\+M\+A\+L\+S}\label{a01061_ab2dad0308b21b48d43de38f94e3da921a1bc9dfd4e3381994a951813992a9db63}
}]use provided normals as is \index{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S@{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S@{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S}}\item[{\em 
\hypertarget{a01061_ab2dad0308b21b48d43de38f94e3da921afa25a9fd365fabc040fae207d4e9937a}{N\+O\+R\+M\+A\+L\+I\+Z\+E\+\_\+\+N\+O\+R\+M\+A\+L\+S}\label{a01061_ab2dad0308b21b48d43de38f94e3da921afa25a9fd365fabc040fae207d4e9937a}
}]Automatically normalize normals. Input normals are not normalized {\itshape or} the transformation matrix does scaling or shearing. \end{description}
\end{Desc}


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

\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Options@{Options}}
\index{Options@{Options}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Options}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Options}}}\label{a01061_a5c2169f4a127ced296868767411d6e00}
Options for creating a \hyperlink{a01061}{Qt\+Base\+Viewer}. (cf. \hyperlink{a01061_ae6aa6ec164cc8b4705bc5d2b647d8313}{Qt\+Base\+Viewer\+::\+Qt\+Base\+Viewer()}, \hyperlink{a01061_a3121618655cdc45940bc6e99064b88f5}{apply\+Options()}) \begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{Nothing@{Nothing}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Nothing@{Nothing}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00af6695d865fc938ff971e5a1b620c6d92}{Nothing}\label{a01061_a5c2169f4a127ced296868767411d6e00af6695d865fc938ff971e5a1b620c6d92}
}]all options disabled \index{Show\+Private\+Status\+Bar@{Show\+Private\+Status\+Bar}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Private\+Status\+Bar@{Show\+Private\+Status\+Bar}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00ac719a264fbd7abacf862ef9398b23d40}{Show\+Private\+Status\+Bar}\label{a01061_a5c2169f4a127ced296868767411d6e00ac719a264fbd7abacf862ef9398b23d40}
}]Show {\itshape private} status bar? ~\newline
 If the widget is constructed (cf. \hyperlink{a01061_ae6aa6ec164cc8b4705bc5d2b647d8313}{Qt\+Base\+Viewer\+::\+Qt\+Base\+Viewer()}) with no status bar ({\ttfamily \+\_\+status\+Bar==0}) then a {\itshape private} {\ttfamily Q\+Status\+Bar} will be created. Use this option to show or hide it. It has {\itshape no} {\itshape effect} if the {\ttfamily Q\+Status\+Bar} is provided externally. \index{Show\+Tool\+Bar@{Show\+Tool\+Bar}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Tool\+Bar@{Show\+Tool\+Bar}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00a70a7979dff2798f99208e6d61b65afa7}{Show\+Tool\+Bar}\label{a01061_a5c2169f4a127ced296868767411d6e00a70a7979dff2798f99208e6d61b65afa7}
}]Show tool bar? ~\newline
 The tool bar consists of several buttons that can be used to control this view, etc. It will be placed vertically on the right side.

{\itshape Note\+:} This toolbar inlcudes the wheels for translation along the z-\/axis (right, cf. Show\+Wheel\+Z)!

The default setting is to show {\itshape all} buttons (see below). \index{Show\+Pick\+Button@{Show\+Pick\+Button}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Pick\+Button@{Show\+Pick\+Button}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00a3940fc4a3aeb560be92ebcd1fa19763d}{Show\+Pick\+Button}\label{a01061_a5c2169f4a127ced296868767411d6e00a3940fc4a3aeb560be92ebcd1fa19763d}
}]Show pick button? Effect only if Show\+Tool\+Bar! \index{Show\+Lasso\+Button@{Show\+Lasso\+Button}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Lasso\+Button@{Show\+Lasso\+Button}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00a0a995424b40f197677e93158a9e4e576}{Show\+Lasso\+Button}\label{a01061_a5c2169f4a127ced296868767411d6e00a0a995424b40f197677e93158a9e4e576}
}]Show lasso button? Effect only if Show\+Tool\+Bar! \index{Show\+Question\+Button@{Show\+Question\+Button}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Question\+Button@{Show\+Question\+Button}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00af02c1bf597e64967659ed33ca5e47f93}{Show\+Question\+Button}\label{a01061_a5c2169f4a127ced296868767411d6e00af02c1bf597e64967659ed33ca5e47f93}
}]Show question button? Effect only if Show\+Tool\+Bar! \index{Show\+Wheel\+X@{Show\+Wheel\+X}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Wheel\+X@{Show\+Wheel\+X}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00a82c63d1adab5818ed60ef0809413705e}{Show\+Wheel\+X}\label{a01061_a5c2169f4a127ced296868767411d6e00a82c63d1adab5818ed60ef0809413705e}
}]Show wheel for rotation around x-\/axis (left)? \index{Show\+Wheel\+Y@{Show\+Wheel\+Y}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Wheel\+Y@{Show\+Wheel\+Y}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00ad7bd2cee275824537ac1ecf8678eb7b9}{Show\+Wheel\+Y}\label{a01061_a5c2169f4a127ced296868767411d6e00ad7bd2cee275824537ac1ecf8678eb7b9}
}]Show wheel for rotation around y-\/axis (bottom)? \index{Show\+Wheel\+Z@{Show\+Wheel\+Z}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Wheel\+Z@{Show\+Wheel\+Z}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00afeec065cd3d916175620ba4fd36d1c65}{Show\+Wheel\+Z}\label{a01061_a5c2169f4a127ced296868767411d6e00afeec065cd3d916175620ba4fd36d1c65}
}]Show wheel for translation along z-\/axis (right)? Effect only if Show\+Tool\+Bar! \index{Show\+Wheels@{Show\+Wheels}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Show\+Wheels@{Show\+Wheels}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00aa99068ee733003c0c59ef267887ab785}{Show\+Wheels}\label{a01061_a5c2169f4a127ced296868767411d6e00aa99068ee733003c0c59ef267887ab785}
}]Show all three wheels (default)! \index{Default\+Options@{Default\+Options}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Default\+Options@{Default\+Options}}\item[{\em 
\hypertarget{a01061_a5c2169f4a127ced296868767411d6e00a616c7c301a2b9c33f7fa76c82eef6199}{Default\+Options}\label{a01061_a5c2169f4a127ced296868767411d6e00a616c7c301a2b9c33f7fa76c82eef6199}
}]default\+: all options (but not private statusbar) enabled \end{description}
\end{Desc}


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

\hypertarget{a01061_ae95b6aa1937e1e075c572722b93d93f5}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Projection\+Mode@{Projection\+Mode}}
\index{Projection\+Mode@{Projection\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Projection\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Projection\+Mode}}}\label{a01061_ae95b6aa1937e1e075c572722b93d93f5}


projection mode 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N@{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N@{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_ae95b6aa1937e1e075c572722b93d93f5af49b33fc1b8b945aae5168a6cc24b842}{O\+R\+T\+H\+O\+G\+R\+A\+P\+H\+I\+C\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}\label{a01061_ae95b6aa1937e1e075c572722b93d93f5af49b33fc1b8b945aae5168a6cc24b842}
}]orthographic \index{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N@{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N@{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}}\item[{\em 
\hypertarget{a01061_ae95b6aa1937e1e075c572722b93d93f5aaeb15ff5e5e080639274b3485be52d8c}{P\+E\+R\+S\+P\+E\+C\+T\+I\+V\+E\+\_\+\+P\+R\+O\+J\+E\+C\+T\+I\+O\+N}\label{a01061_ae95b6aa1937e1e075c572722b93d93f5aaeb15ff5e5e080639274b3485be52d8c}
}]perspective \end{description}
\end{Desc}


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



\subsection{Constructor \& Destructor Documentation}
\hypertarget{a01061_ae6aa6ec164cc8b4705bc5d2b647d8313}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!Qt\+Base\+Viewer@{Qt\+Base\+Viewer}}
\index{Qt\+Base\+Viewer@{Qt\+Base\+Viewer}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{Qt\+Base\+Viewer}]{\setlength{\rightskip}{0pt plus 5cm}A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::\+Qt\+Base\+Viewer (
\begin{DoxyParamCaption}
\item[{Q\+Widget $\ast$}]{\+\_\+parent = {\ttfamily 0}, }
\item[{const char $\ast$}]{\+\_\+name = {\ttfamily 0}, }
\item[{Q\+Status\+Bar $\ast$}]{\+\_\+status\+Bar = {\ttfamily 0}, }
\item[{const Q\+G\+L\+Format $\ast$}]{\+\_\+format = {\ttfamily 0}, }
\item[{const {\bf Qt\+Base\+Viewer} $\ast$}]{\+\_\+share = {\ttfamily 0}, }
\item[{{\bf Options}}]{\+\_\+options = {\ttfamily {\bf Default\+Options}}}
\end{DoxyParamCaption}
)}}\label{a01061_ae6aa6ec164cc8b4705bc5d2b647d8313}
Create a \hyperlink{a01061}{Qt\+Base\+Viewer}. 
\begin{DoxyParams}{Parameters}
{\em \+\_\+parent} & parent widget \\
\hline
{\em \+\_\+name} & name (qt internal, qt debugging) \\
\hline
{\em \+\_\+status\+Bar} & pointer to an existing status bar for this widget, if {\ttfamily status\+Bar==0} then a {\itshape private} status bar will be created \\
\hline
{\em \+\_\+format} & Open\+G\+L context settings, will be passed to glarea() \\
\hline
{\em \+\_\+share} & Second base viewer for shared context \\
\hline
{\em \+\_\+options} & \hyperlink{a01061_a5c2169f4a127ced296868767411d6e00}{Qt\+Base\+Viewer\+::\+Options} \\
\hline
\end{DoxyParams}


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



\subsection{Member Function Documentation}
\hypertarget{a01061_a8aa6e9041bb77b49769fd6efcd484587}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!action\+Mode@{action\+Mode}}
\index{action\+Mode@{action\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{action\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::action\+Mode (
\begin{DoxyParamCaption}
\item[{{\bf Action\+Mode}}]{\+\_\+am}
\end{DoxyParamCaption}
)}}\label{a01061_a8aa6e9041bb77b49769fd6efcd484587}
Set action mode. The Action\+Mode determines the type of reaction on mouse events. {\itshape Note\+:} You may also use the slots \hyperlink{a01061_a2cd2de9227db41c4a974ea0951b6723f}{examine\+Mode()}, etc. to set this mode. 

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

\hypertarget{a01061_a1509fec44a47ee2e6686cf5a815bd173}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!action\+Snapshot@{action\+Snapshot}}
\index{action\+Snapshot@{action\+Snapshot}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{action\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::action\+Snapshot (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01061_a1509fec44a47ee2e6686cf5a815bd173}
This action triggers a snapshot 

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

\hypertarget{a01061_a1ea7ba004cd1c7cae1b729ce7fbedd30}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!action\+Snapshot\+Name@{action\+Snapshot\+Name}}
\index{action\+Snapshot\+Name@{action\+Snapshot\+Name}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{action\+Snapshot\+Name}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::action\+Snapshot\+Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01061_a1ea7ba004cd1c7cae1b729ce7fbedd30}
This action creates a widget for entering the snapshots name. 

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

\hypertarget{a01061_a92655fec7027d2f0bab45f6ffe7c1794}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!action\+Snapshot\+Saves\+View@{action\+Snapshot\+Saves\+View}}
\index{action\+Snapshot\+Saves\+View@{action\+Snapshot\+Saves\+View}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{action\+Snapshot\+Saves\+View}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::action\+Snapshot\+Saves\+View (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01061_a92655fec7027d2f0bab45f6ffe7c1794}
Doesn't do anything at the moment. Widget shows a checkbox for that. 

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

\hypertarget{a01061_aa75204ecef3d71edd8afb2ceffa2575e}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!add\+Pick\+Mode@{add\+Pick\+Mode}}
\index{add\+Pick\+Mode@{add\+Pick\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{add\+Pick\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::add\+Pick\+Mode (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name, }
\item[{bool}]{\+\_\+mouse\+\_\+tracking = {\ttfamily false}, }
\item[{int}]{\+\_\+pos = {\ttfamily -\/1}, }
\item[{bool}]{\+\_\+visible = {\ttfamily true}, }
\item[{Q\+Cursor}]{\+\_\+cursor = {\ttfamily Qt\+:\+:ArrowCursor}}
\end{DoxyParamCaption}
)}}\label{a01061_aa75204ecef3d71edd8afb2ceffa2575e}


add pick mode 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the Pick Mode or \char`\"{}\+Separator\char`\"{} to insert a separator \\
\hline
{\em \+\_\+mouse\+\_\+tracking} & true\+: every mouse movement will emit mouse events not only when mousebutton is pressed \\
\hline
{\em \+\_\+pos} & position to insert the mode in the popup menu. \\
\hline
{\em \+\_\+visible} & Visible or hidden pick mode \\
\hline
{\em \+\_\+cursor} & Active cursor for that pick mode \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_a300db576de534475cc7551e00e96addc}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!background\+Color@{background\+Color}}
\index{background\+Color@{background\+Color}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{background\+Color}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::background\+Color (
\begin{DoxyParamCaption}
\item[{const {\bf Vec4f} \&}]{\+\_\+color}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01061_a300db576de534475cc7551e00e96addc}
Set background color. Sets the Open\+G\+L clear color to (\+\_\+c.\+red(), \+\_\+c.\+green(), \+\_\+c.\+blue(), 0). 

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

\hypertarget{a01061_ac4b49ae4a169ab3d1373fc495e573876}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!clear\+Pick\+Modes@{clear\+Pick\+Modes}}
\index{clear\+Pick\+Modes@{clear\+Pick\+Modes}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{clear\+Pick\+Modes}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::clear\+Pick\+Modes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a01061_ac4b49ae4a169ab3d1373fc495e573876}
clear all pick modes 

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

\hypertarget{a01061_a8200722502ba1e0059762ecbd779ab17}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!decode\+View@{decode\+View}}
\index{decode\+View@{decode\+View}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{decode\+View}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::decode\+View (
\begin{DoxyParamCaption}
\item[{const Q\+String \&}]{\+\_\+view}
\end{DoxyParamCaption}
)}}\label{a01061_a8200722502ba1e0059762ecbd779ab17}
Decode and apply text representation of view encoded by \hyperlink{a01061_ae9a2cd9dd28fd82a00bf7fd89bb62bf8}{encode\+View()}. If {\ttfamily \+\_\+view} was successfully decoded it will immediately be applied and {\ttfamily true} is returned, {\ttfamily false} is returned else. 

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

\hypertarget{a01061_a369d89cbab204a03cc526e29b81e4ac7}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!disable\+Key\+Handling@{disable\+Key\+Handling}}
\index{disable\+Key\+Handling@{disable\+Key\+Handling}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{disable\+Key\+Handling}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::disable\+Key\+Handling (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+state}
\end{DoxyParamCaption}
)}}\label{a01061_a369d89cbab204a03cc526e29b81e4ac7}


Enable or disable internal Key handling. 

With this function you can enable or disable viewers internal key handling. If disabled, all key events are passed to the widgets parent. 

Definition at line 72 of file Qt\+Base\+Viewer\+Key\+Handling.\+cc.

\hypertarget{a01061_a2ac06519f57bdf7ca0702dd203bf2397}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!drag\+Enter\+Event@{drag\+Enter\+Event}}
\index{drag\+Enter\+Event@{drag\+Enter\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{drag\+Enter\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::drag\+Enter\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Drag\+Enter\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a2ac06519f57bdf7ca0702dd203bf2397}
Signal is emitted only if in external\+Drag\+Mode ( see set\+External\+Drag ) It will be send if a drag enters the gl widget. \hypertarget{a01061_ac7010095997294b0dd51ae581e09bf71}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!draw\+Now@{draw\+Now}}
\index{draw\+Now@{draw\+Now}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{draw\+Now}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::draw\+Now (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_ac7010095997294b0dd51ae581e09bf71}
Draws the scene immediately. This method does {\itshape not} trigger a paint event (like \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L()}) but redraws the scene immediately. It does not swap buffers! This has to be done manually. 

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

\hypertarget{a01061_a605575a8c007c126b300517c475f3e57}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!drop\+Event@{drop\+Event}}
\index{drop\+Event@{drop\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{drop\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::drop\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Drop\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a605575a8c007c126b300517c475f3e57}
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. \hypertarget{a01061_af9a7fc443af8f54c475000de138afc10}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!fast\+\_\+pick@{fast\+\_\+pick}}
\index{fast\+\_\+pick@{fast\+\_\+pick}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{fast\+\_\+pick}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::fast\+\_\+pick (
\begin{DoxyParamCaption}
\item[{const Q\+Point \&}]{\+\_\+mouse\+Pos, }
\item[{{\bf Vec3d} \&}]{\+\_\+hit\+Point}
\end{DoxyParamCaption}
)}}\label{a01061_af9a7fc443af8f54c475000de138afc10}
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}
Successfull? 
\end{DoxyReturn}


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

\hypertarget{a01061_abdb1b2a35491088620f1ffb39d0f45c5}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!fly\+To@{fly\+To}}
\index{fly\+To@{fly\+To}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{fly\+To}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::fly\+To (
\begin{DoxyParamCaption}
\item[{const Q\+Point \&}]{\+\_\+pos, }
\item[{bool}]{\+\_\+move\+\_\+back}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_abdb1b2a35491088620f1ffb39d0f45c5}


Fly to. Get closer if {\ttfamily \+\_\+move\+\_\+back={\ttfamily false},} get more distant else. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000001}{Todo}]\+: Translate view such that hitpoint is in center of viewport \end{DoxyRefDesc}


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

\hypertarget{a01061_aba9449107a287148920fc80504373ec7}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!fly\+To@{fly\+To}}
\index{fly\+To@{fly\+To}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{fly\+To}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::fly\+To (
\begin{DoxyParamCaption}
\item[{const {\bf Vec3d} \&}]{\+\_\+position, }
\item[{const {\bf Vec3d} \&}]{\+\_\+center, }
\item[{double}]{\+\_\+time = {\ttfamily 1000.0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_aba9449107a287148920fc80504373ec7}
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 1042 of file Qt\+Base\+Viewer.\+cc.

\hypertarget{a01061_a5c3a1ec31c5240a5f349cd13323ceec5}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!gl\+Context\+Menu\+Event@{gl\+Context\+Menu\+Event}}
\index{gl\+Context\+Menu\+Event@{gl\+Context\+Menu\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{gl\+Context\+Menu\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::gl\+Context\+Menu\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Context\+Menu\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a01061_a5c3a1ec31c5240a5f349cd13323ceec5}


handle mouse press events 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000002}{Todo}]\+: if (func\+Menu\+\_\+ \&\& func\+Menu\+\_\+-\/$>$count()$>$0) \end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000003}{Todo}]\+: if (pick\+Menu\+\_\+ \&\& pick\+Menu\+\_\+-\/$>$count()$>$0) \end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000004}{Todo}]\+: \&\& draw\+Menu\+\_\+-\/$>$count()$>$0) \end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000005}{Todo}]\+: \&\& func\+Menu\+\_\+-\/$>$count()$>$0) \end{DoxyRefDesc}


\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{a03409__todo000006}{Todo}]\+: \&\& pick\+Menu\+\_\+-\/$>$count()$>$0) \end{DoxyRefDesc}


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

\hypertarget{a01061_a1095e115b36dc8f446d0ed9e930c8f9d}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!gl\+Key\+Press\+Event@{gl\+Key\+Press\+Event}}
\index{gl\+Key\+Press\+Event@{gl\+Key\+Press\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{gl\+Key\+Press\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::gl\+Key\+Press\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Key\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a01061_a1095e115b36dc8f446d0ed9e930c8f9d}


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 90 of file Qt\+Base\+Viewer\+Key\+Handling.\+cc.

\hypertarget{a01061_ae3e51a671850c25128d9d6ef5abaadf2}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!gl\+Key\+Release\+Event@{gl\+Key\+Release\+Event}}
\index{gl\+Key\+Release\+Event@{gl\+Key\+Release\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{gl\+Key\+Release\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::gl\+Key\+Release\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Key\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a01061_ae3e51a671850c25128d9d6ef5abaadf2}


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 84 of file Qt\+Base\+Viewer\+Key\+Handling.\+cc.

\hypertarget{a01061_a89c384fa71618b3d47fa3328d5a34e3d}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!is\+Update\+Locked@{is\+Update\+Locked}}
\index{is\+Update\+Locked@{is\+Update\+Locked}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{is\+Update\+Locked}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::is\+Update\+Locked (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01061_a89c384fa71618b3d47fa3328d5a34e3d}
Are update\+Display\+List() and \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L()} locked? (c.\+f. \hyperlink{a01061_a2b4793dd1fcde866a7da476c3c387903}{lock\+Update()}) 

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

\hypertarget{a01061_a4ae9944e8cc9fba6fb5227c562dc3a51}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!key\+Handling\+State@{key\+Handling\+State}}
\index{key\+Handling\+State@{key\+Handling\+State}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{key\+Handling\+State}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::key\+Handling\+State (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{a01061_a4ae9944e8cc9fba6fb5227c562dc3a51}


get the current key handling state. 



Definition at line 78 of file Qt\+Base\+Viewer\+Key\+Handling.\+cc.

\hypertarget{a01061_a2b4793dd1fcde866a7da476c3c387903}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!lock\+Update@{lock\+Update}}
\index{lock\+Update@{lock\+Update}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{lock\+Update}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::lock\+Update (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a01061_a2b4793dd1fcde866a7da476c3c387903}
Lock update of display. If locked (\hyperlink{a01061_a89c384fa71618b3d47fa3328d5a34e3d}{is\+Update\+Locked()}) then all calls to update\+Display\+List() and \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L()} will have no effect! This is true until the display is \hyperlink{a01061_a17db98e67b8375f075ba0ac2cdc90fc9}{unlock\+Update()}'ed. 

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

\hypertarget{a01061_a7c431d97fb94359d9c636edb846316be}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick@{pick}}
\index{pick@{pick}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick (
\begin{DoxyParamCaption}
\item[{{\bf Scene\+Graph\+::\+Pick\+Target}}]{\+\_\+pick\+Target, }
\item[{const Q\+Point \&}]{\+\_\+mouse\+Pos, }
\item[{unsigned int \&}]{\+\_\+node\+Idx, }
\item[{unsigned int \&}]{\+\_\+target\+Idx, }
\item[{{\bf Vec3d} $\ast$}]{\+\_\+hit\+Point\+Ptr = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}\label{a01061_a7c431d97fb94359d9c636edb846316be}
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 successfull 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 3\+D point from picking \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Successfull? 
\end{DoxyReturn}


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

\hypertarget{a01061_ad95f0ce04acc3738b82cfbf8de5cf1fd}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!picking\+Mode@{picking\+Mode}}
\index{picking\+Mode@{picking\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{picking\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::picking\+Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_ad95f0ce04acc3738b82cfbf8de5cf1fd}
calls \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()} with {\ttfamily Picking\+Mode} (cf. Action\+Mode) Switches to picking\+Mode 

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

\hypertarget{a01061_a78f6451dcebd0e4b4c7426bd9054d329}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+Mode@{pick\+Mode}}
\index{pick\+Mode@{pick\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}const std\+::string \& A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+Mode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}\label{a01061_a78f6451dcebd0e4b4c7426bd9054d329}
return the currently active pick mode 

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

\hypertarget{a01061_acb98783cddc3971b9cfa625def076bf4}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+Mode@{pick\+Mode}}
\index{pick\+Mode@{pick\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+Mode (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name}
\end{DoxyParamCaption}
)}}\label{a01061_acb98783cddc3971b9cfa625def076bf4}
Switch to given picking mode 
\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the picking mode \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_a5ba95a104bed4c628baca6aa3c1b5a3d}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+Mode@{pick\+Mode}}
\index{pick\+Mode@{pick\+Mode}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+Mode (
\begin{DoxyParamCaption}
\item[{int}]{\+\_\+id}
\end{DoxyParamCaption}
)}}\label{a01061_a5ba95a104bed4c628baca6aa3c1b5a3d}
Switch to given picking mode 
\begin{DoxyParams}{Parameters}
{\em \+\_\+id} & Id of the picking Mode \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_a19a7c68ce351aee1c2926c9ca5d13b0c}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!render\+Picking@{render\+Picking}}
\index{render\+Picking@{render\+Picking}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{render\+Picking}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::render\+Picking (
\begin{DoxyParamCaption}
\item[{bool}]{\+\_\+render\+Picking, }
\item[{{\bf A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target}}]{\+\_\+mode}
\end{DoxyParamCaption}
)}}\label{a01061_a19a7c68ce351aee1c2926c9ca5d13b0c}
Use this function to switch the viewer to visualize picking. When you set this function to true the renderer will render the picking elements rather then the scene 

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

\hypertarget{a01061_af62e1044bed9a64a6ed43099366c7c29}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!scene\+\_\+center@{scene\+\_\+center}}
\index{scene\+\_\+center@{scene\+\_\+center}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{scene\+\_\+center}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf A\+C\+G\+::\+Vec3d}\& A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::scene\+\_\+center (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01061_af62e1044bed9a64a6ed43099366c7c29}
Get scene's center \begin{DoxySeeAlso}{See also}
\hyperlink{a01061_a463fe1206795e9c776e576c8274b3d82}{set\+Scene\+Pos()} 
\end{DoxySeeAlso}


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

\hypertarget{a01061_a9ea0cc46f31b3a609e569b33a1947e94}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!scene\+\_\+radius@{scene\+\_\+radius}}
\index{scene\+\_\+radius@{scene\+\_\+radius}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{scene\+\_\+radius}]{\setlength{\rightskip}{0pt plus 5cm}double A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::scene\+\_\+radius (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a01061_a9ea0cc46f31b3a609e569b33a1947e94}
Get scene's radius \begin{DoxySeeAlso}{See also}
\hyperlink{a01061_a463fe1206795e9c776e576c8274b3d82}{set\+Scene\+Pos()} 
\end{DoxySeeAlso}


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

\hypertarget{a01061_af6ffd8a1a7816fcc4a9051de344060dc}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!scene\+Graph@{scene\+Graph}}
\index{scene\+Graph@{scene\+Graph}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{scene\+Graph}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::scene\+Graph (
\begin{DoxyParamCaption}
\item[{{\bf Scene\+Graph\+::\+Base\+Node} $\ast$}]{\+\_\+root}
\end{DoxyParamCaption}
)}}\label{a01061_af6ffd8a1a7816fcc4a9051de344060dc}
Set scene graph. Sets the scene graph to the the graph rooted at {\ttfamily \+\_\+root}. The available draw modes in the scene graph will be collected and the popup menu will be updated.~\newline
 The {\ttfamily scene\+Graph\+Toched()} signal will be emitted (even if {\ttfamily \+\_\+root} does not actually change).


\begin{DoxyParams}{Parameters}
{\em \+\_\+root} & The root node of the scene graph \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_abf1fddcdda05e4f8bec706b6fafea83b}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Eye\+Distance@{set\+Eye\+Distance}}
\index{set\+Eye\+Distance@{set\+Eye\+Distance}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Eye\+Distance}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Eye\+Distance (
\begin{DoxyParamCaption}
\item[{double}]{\+\_\+distance}
\end{DoxyParamCaption}
)}}\label{a01061_abf1fddcdda05e4f8bec706b6fafea83b}


Set eye distance for stereo. 

Set the eye distance used for stereo projection. The function will enforce a redraw. 

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

\hypertarget{a01061_afbca733c22e64b3c34fd5e7d2b603ef4}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Focal\+Distance@{set\+Focal\+Distance}}
\index{set\+Focal\+Distance@{set\+Focal\+Distance}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Focal\+Distance}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Focal\+Distance (
\begin{DoxyParamCaption}
\item[{double}]{\+\_\+distance}
\end{DoxyParamCaption}
)}}\label{a01061_afbca733c22e64b3c34fd5e7d2b603ef4}


Set focal distance for stereo. 

Set the focal distance used for stereo projection. The function will enforce a redraw. 

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

\hypertarget{a01061_a2f9718958bfbfa9651a56cdfff76bc90}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Pick\+Mode\+Cursor@{set\+Pick\+Mode\+Cursor}}
\index{set\+Pick\+Mode\+Cursor@{set\+Pick\+Mode\+Cursor}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Pick\+Mode\+Cursor}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Pick\+Mode\+Cursor (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name, }
\item[{Q\+Cursor}]{\+\_\+cursor}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01061_a2f9718958bfbfa9651a56cdfff76bc90}


set a new cursor for the pick mode 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the Pick Mode \\
\hline
{\em \+\_\+cursor} & the new cursor \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_a1edc93054637addc5d3b3b5c9b82772b}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Pick\+Mode\+Mouse\+Tracking@{set\+Pick\+Mode\+Mouse\+Tracking}}
\index{set\+Pick\+Mode\+Mouse\+Tracking@{set\+Pick\+Mode\+Mouse\+Tracking}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Pick\+Mode\+Mouse\+Tracking}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Pick\+Mode\+Mouse\+Tracking (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{\+\_\+name, }
\item[{bool}]{\+\_\+mouse\+Tracking}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [slot]}}}\label{a01061_a1edc93054637addc5d3b3b5c9b82772b}


set mouse\+Tracking for the pick mode 


\begin{DoxyParams}{Parameters}
{\em \+\_\+name} & Name of the Pick Mode \\
\hline
{\em \+\_\+mouse\+Tracking} & true\+: every mouse movement will emit mouse events not only when mousebutton is pressed \\
\hline
\end{DoxyParams}


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

\hypertarget{a01061_aced2864567abe435c62fd6b8ebc308e4}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Scene\+Center@{set\+Scene\+Center}}
\index{set\+Scene\+Center@{set\+Scene\+Center}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Scene\+Center}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Scene\+Center (
\begin{DoxyParamCaption}
\item[{const {\bf A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center}
\end{DoxyParamCaption}
)}}\label{a01061_aced2864567abe435c62fd6b8ebc308e4}
Set new center point of scene 

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

\hypertarget{a01061_a463fe1206795e9c776e576c8274b3d82}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Scene\+Pos@{set\+Scene\+Pos}}
\index{set\+Scene\+Pos@{set\+Scene\+Pos}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Scene\+Pos}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Scene\+Pos (
\begin{DoxyParamCaption}
\item[{const {\bf A\+C\+G\+::\+Vec3d} \&}]{\+\_\+center, }
\item[{double}]{\+\_\+radius, }
\item[{const bool}]{\+\_\+set\+Center = {\ttfamily true}}
\end{DoxyParamCaption}
)}}\label{a01061_a463fe1206795e9c776e576c8274b3d82}
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 574 of file Qt\+Base\+Viewer.\+cc.

\hypertarget{a01061_a7583634fdb8488efecc3709b4bdce7ec}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!set\+Status\+Bar@{set\+Status\+Bar}}
\index{set\+Status\+Bar@{set\+Status\+Bar}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{set\+Status\+Bar}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::set\+Status\+Bar (
\begin{DoxyParamCaption}
\item[{Q\+Status\+Bar $\ast$}]{\+\_\+sb}
\end{DoxyParamCaption}
)}}\label{a01061_a7583634fdb8488efecc3709b4bdce7ec}
Set status bar. Sets the {\ttfamily Q\+Status\+Bar} widget that is used for informational output, e.\+g. the frame rate of the rotation animation. If {\ttfamily sb==0} a {\itshape private} {\ttfamily Q\+Status\+Bar} will be used, cf. Options. This private status bar may be invisible, but \hyperlink{a01061_ab0539123b39fddd52daf8e62ba697aa8}{status\+Bar()} will {\itshape never} return 0 even if set\+Status\+Bar(0) has been called! 

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

\hypertarget{a01061_a23d00d13b6ba1b3fbbb71b24a61d6ea4}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!signal\+Custom\+Context\+Menu\+Requested@{signal\+Custom\+Context\+Menu\+Requested}}
\index{signal\+Custom\+Context\+Menu\+Requested@{signal\+Custom\+Context\+Menu\+Requested}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{signal\+Custom\+Context\+Menu\+Requested}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::signal\+Custom\+Context\+Menu\+Requested (
\begin{DoxyParamCaption}
\item[{const Q\+Point \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a23d00d13b6ba1b3fbbb71b24a61d6ea4}
If popups are disabled context menu mode is set to custom \hyperlink{a00802}{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. \hypertarget{a01061_a0cf7acfd81c4c437c2eabfbb314b8a10}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!signal\+Key\+Press\+Event@{signal\+Key\+Press\+Event}}
\index{signal\+Key\+Press\+Event@{signal\+Key\+Press\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{signal\+Key\+Press\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::signal\+Key\+Press\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Key\+Event $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a0cf7acfd81c4c437c2eabfbb314b8a10}


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. \hypertarget{a01061_ab386432c22336a38dcda4749109bf1d6}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!signal\+Mouse\+Event@{signal\+Mouse\+Event}}
\index{signal\+Mouse\+Event@{signal\+Mouse\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{signal\+Mouse\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::signal\+Mouse\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{, }
\item[{const std\+::string \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_ab386432c22336a38dcda4749109bf1d6}
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{a01061_a932bb745aef1acf42665e5d432a36790}{signal\+Mouse\+Event\+Identify()} is emitted on button press if \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()}==Question. \end{DoxyItemize}
\hypertarget{a01061_a932bb745aef1acf42665e5d432a36790}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!signal\+Mouse\+Event\+Identify@{signal\+Mouse\+Event\+Identify}}
\index{signal\+Mouse\+Event\+Identify@{signal\+Mouse\+Event\+Identify}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{signal\+Mouse\+Event\+Identify}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::signal\+Mouse\+Event\+Identify (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a932bb745aef1acf42665e5d432a36790}
Emitted instead o \hyperlink{a01061_ab386432c22336a38dcda4749109bf1d6}{signal\+Mouse\+Event()} if \hyperlink{a01061_a8aa6e9041bb77b49769fd6efcd484587}{action\+Mode()}==Question and {\ttfamily \+\_\+event} is a mouse press event. \hypertarget{a01061_a805e9424203e19e2c46d69d18643ac8a}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!signal\+Pick\+Mode\+Changed@{signal\+Pick\+Mode\+Changed}}
\index{signal\+Pick\+Mode\+Changed@{signal\+Pick\+Mode\+Changed}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{signal\+Pick\+Mode\+Changed}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::signal\+Pick\+Mode\+Changed (
\begin{DoxyParamCaption}
\item[{const std\+::string \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a805e9424203e19e2c46d69d18643ac8a}
This signal is emitted when the pick\+Mode is changed and contains the new \hyperlink{a00959}{Pick\+Mode} \hypertarget{a01061_ab09174aa07f6a356080f9ac7e3bfdabd}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!snapshot@{snapshot}}
\index{snapshot@{snapshot}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{snapshot}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::snapshot (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_ab09174aa07f6a356080f9ac7e3bfdabd}
Trigger a snapshot and increase the snapshot counter. Save snapshot to file determined by \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name()} and the current snapshot counter. The {\itshape back} buffer will be saved. 

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

\hypertarget{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!snapshot\+Base\+File\+Name@{snapshot\+Base\+File\+Name}}
\index{snapshot\+Base\+File\+Name@{snapshot\+Base\+File\+Name}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{snapshot\+Base\+File\+Name}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::snapshot\+Base\+File\+Name (
\begin{DoxyParamCaption}
\item[{const Q\+String \&}]{\+\_\+fname}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [slot]}}}\label{a01061_aece56a17d71ead2bb132ec742f5ebdd2}
Set the base file name and reset the counter for snapshots.

The image file format is determined from the file name extension, the {\itshape Q\+Image\+I\+O} formats are supported (e.\+g. \char`\"{}.\+ppm\char`\"{} \mbox{[}raw\mbox{]}, \char`\"{}.\+png\char`\"{}).

The current snapshot counter will be added in front of the last \char`\"{}.\char`\"{} in the filename.

{\itshape Note\+:} Calling \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name()} will always reset the snapshot counter to 0. 

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

\hypertarget{a01061_a28f044070ae7025fbc8ad06637aa130e}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!start\+Drag\+Event@{start\+Drag\+Event}}
\index{start\+Drag\+Event@{start\+Drag\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{start\+Drag\+Event}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::start\+Drag\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Mouse\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [signal]}}}\label{a01061_a28f044070ae7025fbc8ad06637aa130e}
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 ) \hypertarget{a01061_ab68fc0ccf91d863147292e622864d39b}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!sync\+\_\+connect@{sync\+\_\+connect}}
\index{sync\+\_\+connect@{sync\+\_\+connect}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{sync\+\_\+connect}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::sync\+\_\+connect (
\begin{DoxyParamCaption}
\item[{const {\bf Qt\+Base\+Viewer} $\ast$}]{\+\_\+other}
\end{DoxyParamCaption}
)}}\label{a01061_ab68fc0ccf91d863147292e622864d39b}
Synchronize with other \hyperlink{a01061}{Qt\+Base\+Viewer}. A \hyperlink{a01061}{Qt\+Base\+Viewer} can be synchronized with other instances. The viewing position is copied from the other widget after each transformation. 

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

\hypertarget{a01061_ae4f3bcf3b692dfdc5f93bb37d6163b00}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!unlock\+And\+Update@{unlock\+And\+Update}}
\index{unlock\+And\+Update@{unlock\+And\+Update}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{unlock\+And\+Update}]{\setlength{\rightskip}{0pt plus 5cm}void A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::unlock\+And\+Update (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a01061_ae4f3bcf3b692dfdc5f93bb37d6163b00}
Convenient unlock and update. Calls \hyperlink{a01061_a17db98e67b8375f075ba0ac2cdc90fc9}{unlock\+Update()} and then update\+Display\+List() and \hyperlink{a01061_a70d160e435f0c314d532234d50823f3e}{update\+G\+L()} (Note that this has only an effect if !is\+Update\+Locked().) 

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

\hypertarget{a01061_ae2b2df1d5deef72c762c8dae97c52c71}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!view\+Key\+Press\+Event@{view\+Key\+Press\+Event}}
\index{view\+Key\+Press\+Event@{view\+Key\+Press\+Event}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{view\+Key\+Press\+Event}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::view\+Key\+Press\+Event (
\begin{DoxyParamCaption}
\item[{Q\+Key\+Event $\ast$}]{\+\_\+event}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}, {\ttfamily [pure virtual]}}}\label{a01061_ae2b2df1d5deef72c762c8dae97c52c71}


Handle key events in view mode. 

This funtion 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}


Implemented in \hyperlink{a01066_a18187d6bac38d056c494bb290b4bbda9}{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Examiner\+Viewer}.



\subsection{Member Data Documentation}
\hypertarget{a01061_a6e9d56546a92bc5a9f038f88687e249d}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!disable\+Key\+Handling\+\_\+@{disable\+Key\+Handling\+\_\+}}
\index{disable\+Key\+Handling\+\_\+@{disable\+Key\+Handling\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{disable\+Key\+Handling\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::disable\+Key\+Handling\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a6e9d56546a92bc5a9f038f88687e249d}


Enable or disable internal Key handling. 

With this function you can enable or disable viewers internal key handling. If disabled, all key events are passed to the widgets parent. 

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

\hypertarget{a01061_a1a7d66d126cd1d3d24a9d8c5ca3ee033}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!external\+Drag\+\_\+@{external\+Drag\+\_\+}}
\index{external\+Drag\+\_\+@{external\+Drag\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{external\+Drag\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::external\+Drag\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a1a7d66d126cd1d3d24a9d8c5ca3ee033}
flag defining, if dragging will be handled internal by the viewer or passed via signals to the application 

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

\hypertarget{a01061_a93c306953a05a8794e40406afd78d359}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!eye\+Dist\+\_\+@{eye\+Dist\+\_\+}}
\index{eye\+Dist\+\_\+@{eye\+Dist\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{eye\+Dist\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}double A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::eye\+Dist\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a93c306953a05a8794e40406afd78d359}


Set eye distance for stereo. 

Set the eye distance used for stereo projection. The function will enforce a redraw. 

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

\hypertarget{a01061_abeeab9a416b8ad2c4d00ea20448991b5}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!focal\+Dist\+\_\+@{focal\+Dist\+\_\+}}
\index{focal\+Dist\+\_\+@{focal\+Dist\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{focal\+Dist\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}double A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::focal\+Dist\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_abeeab9a416b8ad2c4d00ea20448991b5}


Set eye distance for stereo. 

Set the eye distance used for stereo projection. The function will enforce a redraw. 

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

\hypertarget{a01061_a9b4e6b28acee197122921d7058ee17ef}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+\_\+mode\+\_\+idx\+\_\+@{pick\+\_\+mode\+\_\+idx\+\_\+}}
\index{pick\+\_\+mode\+\_\+idx\+\_\+@{pick\+\_\+mode\+\_\+idx\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+\_\+mode\+\_\+idx\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}int A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+\_\+mode\+\_\+idx\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a9b4e6b28acee197122921d7058ee17ef}
Index of current pick\+Mode 

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

\hypertarget{a01061_ada2927e96cea0cf580d123817f17b692}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+\_\+mode\+\_\+name\+\_\+@{pick\+\_\+mode\+\_\+name\+\_\+}}
\index{pick\+\_\+mode\+\_\+name\+\_\+@{pick\+\_\+mode\+\_\+name\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+\_\+mode\+\_\+name\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}std\+::string A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+\_\+mode\+\_\+name\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_ada2927e96cea0cf580d123817f17b692}
Name of current pick\+Mode 

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

\hypertarget{a01061_ae6e8bba20bc1a5e5b56c3997bd4e7e8f}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+\_\+modes\+\_\+@{pick\+\_\+modes\+\_\+}}
\index{pick\+\_\+modes\+\_\+@{pick\+\_\+modes\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+\_\+modes\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}std\+::vector$<${\bf Pick\+Mode}$>$ A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+\_\+modes\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_ae6e8bba20bc1a5e5b56c3997bd4e7e8f}
Vector of all Picking modes 

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

\hypertarget{a01061_acfd3c40e00a601e8686084970a6a0bcc}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!pick\+Renderer\+Mode\+\_\+@{pick\+Renderer\+Mode\+\_\+}}
\index{pick\+Renderer\+Mode\+\_\+@{pick\+Renderer\+Mode\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{pick\+Renderer\+Mode\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}{\bf A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::pick\+Renderer\+Mode\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_acfd3c40e00a601e8686084970a6a0bcc}
If rendering is in picking mode, this variable controls which picking targets will be rendered. ( see render\+Picking\+\_\+ , render\+Picking(bool \+\_\+render\+Picking, Pick\+Renderer\+Mode \+\_\+mode) , and \hyperlink{a03343_af5fad41dadeca314c2077f897377dbd0}{A\+C\+G\+::\+Scene\+Graph\+::\+Pick\+Target} 

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

\hypertarget{a01061_a504b667676f459d9c20e07e7b190bf48}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!render\+Picking\+\_\+@{render\+Picking\+\_\+}}
\index{render\+Picking\+\_\+@{render\+Picking\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{render\+Picking\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::render\+Picking\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a504b667676f459d9c20e07e7b190bf48}
This variable controls if the scene is rendered in normal or in picking mode 

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

\hypertarget{a01061_ac048d595c75275823592f5c2e616f615}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!snapshot\+\_\+@{snapshot\+\_\+}}
\index{snapshot\+\_\+@{snapshot\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{snapshot\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}Q\+Image$\ast$ A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::snapshot\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_ac048d595c75275823592f5c2e616f615}
Set the base file name and reset the counter for snapshots.

The image file format is determined from the file name extension, the {\itshape Q\+Image\+I\+O} formats are supported (e.\+g. \char`\"{}.\+ppm\char`\"{} \mbox{[}raw\mbox{]}, \char`\"{}.\+png\char`\"{}).

The current snapshot counter will be added in front of the last \char`\"{}.\char`\"{} in the filename.

{\itshape Note\+:} Calling \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name()} will always reset the snapshot counter to 0. 

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

\hypertarget{a01061_a0ba03839beb2b8e3f0b491fcc9572a77}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!snapshot\+Counter\+\_\+@{snapshot\+Counter\+\_\+}}
\index{snapshot\+Counter\+\_\+@{snapshot\+Counter\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{snapshot\+Counter\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}int A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::snapshot\+Counter\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a0ba03839beb2b8e3f0b491fcc9572a77}
Set the base file name and reset the counter for snapshots.

The image file format is determined from the file name extension, the {\itshape Q\+Image\+I\+O} formats are supported (e.\+g. \char`\"{}.\+ppm\char`\"{} \mbox{[}raw\mbox{]}, \char`\"{}.\+png\char`\"{}).

The current snapshot counter will be added in front of the last \char`\"{}.\char`\"{} in the filename.

{\itshape Note\+:} Calling \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name()} will always reset the snapshot counter to 0. 

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

\hypertarget{a01061_a85616241f12e8f9174e8a69e01c58eb7}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!snapshot\+Name\+\_\+@{snapshot\+Name\+\_\+}}
\index{snapshot\+Name\+\_\+@{snapshot\+Name\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{snapshot\+Name\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}Q\+String A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::snapshot\+Name\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a85616241f12e8f9174e8a69e01c58eb7}
Set the base file name and reset the counter for snapshots.

The image file format is determined from the file name extension, the {\itshape Q\+Image\+I\+O} formats are supported (e.\+g. \char`\"{}.\+ppm\char`\"{} \mbox{[}raw\mbox{]}, \char`\"{}.\+png\char`\"{}).

The current snapshot counter will be added in front of the last \char`\"{}.\char`\"{} in the filename.

{\itshape Note\+:} Calling \hyperlink{a01061_aece56a17d71ead2bb132ec742f5ebdd2}{snapshot\+Base\+File\+Name()} will always reset the snapshot counter to 0. 

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

\hypertarget{a01061_a2aba2bcc64ecc6a40b456b0cb6f26e76}{\index{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}!stereo\+\_\+@{stereo\+\_\+}}
\index{stereo\+\_\+@{stereo\+\_\+}!A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer@{A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer}}
\subsubsection[{stereo\+\_\+}]{\setlength{\rightskip}{0pt plus 5cm}bool A\+C\+G\+::\+Qt\+Widgets\+::\+Qt\+Base\+Viewer\+::stereo\+\_\+\hspace{0.3cm}{\ttfamily [private]}}}\label{a01061_a2aba2bcc64ecc6a40b456b0cb6f26e76}


Set eye distance for stereo. 

Set the eye distance used for stereo projection. The function will enforce a redraw. 

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



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer.\+hh\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Drag\+Drop.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Key\+Handling.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Picking.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Snapshot.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Stereo.\+cc\item 
A\+C\+G/\+Qt\+Widgets/Qt\+Base\+Viewer\+Synchronization.\+cc\end{DoxyCompactItemize}
