\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera}{\section{S\-R\-Camera Class Reference}
\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera}\index{S\-R\-Camera@{S\-R\-Camera}}
}


Basic camera class for spire, mimicking \hyperlink{namespace_s_c_i_run}{S\-C\-I\-Run} v4.  




{\ttfamily \#include $<$S\-R\-Camera.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a48dfc1c1d3cff19d8050682dd9c49f29}{S\-R\-Camera} (\hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_interface}{S\-R\-Interface} \&iface, std\-::shared\-\_\-ptr$<$ spire\-::\-Interface $>$ spire)
\item 
virtual \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_adeea871ac59ee381d02105d8b5c4bfd9}{$\sim$\-S\-R\-Camera} ()
\item 
const spire\-::\-M44 \& \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a45c260fe5db332843410460752419e6c}{get\-World\-To\-Projection} () const 
\item 
const spire\-::\-M44 \& \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ac814c2756943b182fc56e1a9149baea6}{get\-World\-To\-View} () const 
\item 
const spire\-::\-M44 \& \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ad0274d17eb40450f7505bf033dea5b30}{get\-View\-To\-World} () const 
\item 
const spire\-::\-M44 \& \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aa02d63b3cebfc871acc70fa0dce3fbd8}{get\-View\-To\-Projection} () const 
\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aec207a2b38fced6fafa6e4849d22b333}{set\-As\-Perspective} ()
\begin{DoxyCompactList}\small\item\em Sets this camera to use a perspective projection transformation. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a9580cba352454fe6a81456505735e63f}{set\-As\-Orthographic} (float half\-Width, float half\-Height)
\begin{DoxyCompactList}\small\item\em Sets this camera to use an orthographic projection transformation. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_af28613ce613c23f874dbf505736e3c0a}{apply\-Transform} ()
\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a5902a457f35adac84bda20cc8edb0170}{mouse\-Down\-Event} (const glm\-::ivec2 \&pos, \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_interface_ac1ec3647c005eacad401b06e7e18f711}{S\-R\-Interface\-::\-Mouse\-Button} btn)
\begin{DoxyCompactList}\small\item\em Handle mouse down. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a7838ab49f0302291a04cb06c8ccdcd0b}{mouse\-Move\-Event} (const glm\-::ivec2 \&pos, \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_interface_ac1ec3647c005eacad401b06e7e18f711}{S\-R\-Interface\-::\-Mouse\-Button} btn)
\begin{DoxyCompactList}\small\item\em Handle mouse movement. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a2b34ef6677adc517d11f2930d38818b6}{mouse\-Wheel\-Event} (int32\-\_\-t delta)
\begin{DoxyCompactList}\small\item\em Handle mouse wheel event. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a36f61dd4661669d4f13e46603f862df7}{do\-Auto\-View} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_b_box}{Core\-::\-Geometry\-::\-B\-Box} \&bbox)
\begin{DoxyCompactList}\small\item\em Perform autoview. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
{\bf }\par
\begin{DoxyCompactItemize}
\item 
static float \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a25625a52d087342bfd932ef59c90704a}{get\-Default\-F\-O\-V\-Y} ()
\item 
static float \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aca0b9697692f8529929f3ac3a4eb677e}{get\-Default\-Z\-Near} ()
\item 
static float \hyperlink{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a1ce16f7a2655b6c77ae022b2fd136b24}{get\-Default\-Z\-Far} ()
\end{DoxyCompactItemize}



\subsection{Detailed Description}
Basic camera class for spire, mimicking \hyperlink{namespace_s_c_i_run}{S\-C\-I\-Run} v4. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a48dfc1c1d3cff19d8050682dd9c49f29}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!S\-R\-Camera@{S\-R\-Camera}}
\index{S\-R\-Camera@{S\-R\-Camera}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{S\-R\-Camera}]{\setlength{\rightskip}{0pt plus 5cm}{\bf S\-R\-Camera} (
\begin{DoxyParamCaption}
\item[{{\bf S\-R\-Interface} \&}]{iface, }
\item[{std\-::shared\-\_\-ptr$<$ spire\-::\-Interface $>$}]{spire}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a48dfc1c1d3cff19d8050682dd9c49f29}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_adeea871ac59ee381d02105d8b5c4bfd9}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!$\sim$\-S\-R\-Camera@{$\sim$\-S\-R\-Camera}}
\index{$\sim$\-S\-R\-Camera@{$\sim$\-S\-R\-Camera}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{$\sim$\-S\-R\-Camera}]{\setlength{\rightskip}{0pt plus 5cm}$\sim${\bf S\-R\-Camera} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_adeea871ac59ee381d02105d8b5c4bfd9}


\subsection{Member Function Documentation}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_af28613ce613c23f874dbf505736e3c0a}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!apply\-Transform@{apply\-Transform}}
\index{apply\-Transform@{apply\-Transform}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{apply\-Transform}]{\setlength{\rightskip}{0pt plus 5cm}void apply\-Transform (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_af28613ce613c23f874dbf505736e3c0a}
Sets the current view transform (view to world space).  This should be removed. \hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a36f61dd4661669d4f13e46603f862df7}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!do\-Auto\-View@{do\-Auto\-View}}
\index{do\-Auto\-View@{do\-Auto\-View}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{do\-Auto\-View}]{\setlength{\rightskip}{0pt plus 5cm}void do\-Auto\-View (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-B\-Box} \&}]{bbox}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a36f61dd4661669d4f13e46603f862df7}


Perform autoview. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000489}{Todo}]Use real F\-O\-V-\/\-Y when we allow the user to change the F\-O\-V. \end{DoxyRefDesc}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a25625a52d087342bfd932ef59c90704a}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-Default\-F\-O\-V\-Y@{get\-Default\-F\-O\-V\-Y}}
\index{get\-Default\-F\-O\-V\-Y@{get\-Default\-F\-O\-V\-Y}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-Default\-F\-O\-V\-Y}]{\setlength{\rightskip}{0pt plus 5cm}static float get\-Default\-F\-O\-V\-Y (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a25625a52d087342bfd932ef59c90704a}
Default camera settings \hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a1ce16f7a2655b6c77ae022b2fd136b24}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-Default\-Z\-Far@{get\-Default\-Z\-Far}}
\index{get\-Default\-Z\-Far@{get\-Default\-Z\-Far}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-Default\-Z\-Far}]{\setlength{\rightskip}{0pt plus 5cm}static float get\-Default\-Z\-Far (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a1ce16f7a2655b6c77ae022b2fd136b24}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aca0b9697692f8529929f3ac3a4eb677e}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-Default\-Z\-Near@{get\-Default\-Z\-Near}}
\index{get\-Default\-Z\-Near@{get\-Default\-Z\-Near}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-Default\-Z\-Near}]{\setlength{\rightskip}{0pt plus 5cm}static float get\-Default\-Z\-Near (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aca0b9697692f8529929f3ac3a4eb677e}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aa02d63b3cebfc871acc70fa0dce3fbd8}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-View\-To\-Projection@{get\-View\-To\-Projection}}
\index{get\-View\-To\-Projection@{get\-View\-To\-Projection}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-View\-To\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}const spire\-::\-M44\& get\-View\-To\-Projection (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aa02d63b3cebfc871acc70fa0dce3fbd8}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ad0274d17eb40450f7505bf033dea5b30}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-View\-To\-World@{get\-View\-To\-World}}
\index{get\-View\-To\-World@{get\-View\-To\-World}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-View\-To\-World}]{\setlength{\rightskip}{0pt plus 5cm}const spire\-::\-M44\& get\-View\-To\-World (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ad0274d17eb40450f7505bf033dea5b30}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a45c260fe5db332843410460752419e6c}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-World\-To\-Projection@{get\-World\-To\-Projection}}
\index{get\-World\-To\-Projection@{get\-World\-To\-Projection}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-World\-To\-Projection}]{\setlength{\rightskip}{0pt plus 5cm}const spire\-::\-M44\& get\-World\-To\-Projection (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a45c260fe5db332843410460752419e6c}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ac814c2756943b182fc56e1a9149baea6}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!get\-World\-To\-View@{get\-World\-To\-View}}
\index{get\-World\-To\-View@{get\-World\-To\-View}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{get\-World\-To\-View}]{\setlength{\rightskip}{0pt plus 5cm}const spire\-::\-M44\& get\-World\-To\-View (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_ac814c2756943b182fc56e1a9149baea6}
\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a5902a457f35adac84bda20cc8edb0170}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!mouse\-Down\-Event@{mouse\-Down\-Event}}
\index{mouse\-Down\-Event@{mouse\-Down\-Event}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{mouse\-Down\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void mouse\-Down\-Event (
\begin{DoxyParamCaption}
\item[{const glm\-::ivec2 \&}]{pos, }
\item[{{\bf S\-R\-Interface\-::\-Mouse\-Button}}]{btn}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a5902a457f35adac84bda20cc8edb0170}


Handle mouse down. 

\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a7838ab49f0302291a04cb06c8ccdcd0b}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!mouse\-Move\-Event@{mouse\-Move\-Event}}
\index{mouse\-Move\-Event@{mouse\-Move\-Event}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{mouse\-Move\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void mouse\-Move\-Event (
\begin{DoxyParamCaption}
\item[{const glm\-::ivec2 \&}]{pos, }
\item[{{\bf S\-R\-Interface\-::\-Mouse\-Button}}]{btn}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a7838ab49f0302291a04cb06c8ccdcd0b}


Handle mouse movement. 

\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a2b34ef6677adc517d11f2930d38818b6}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!mouse\-Wheel\-Event@{mouse\-Wheel\-Event}}
\index{mouse\-Wheel\-Event@{mouse\-Wheel\-Event}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{mouse\-Wheel\-Event}]{\setlength{\rightskip}{0pt plus 5cm}void mouse\-Wheel\-Event (
\begin{DoxyParamCaption}
\item[{int32\-\_\-t}]{delta}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a2b34ef6677adc517d11f2930d38818b6}


Handle mouse wheel event. 

\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a9580cba352454fe6a81456505735e63f}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!set\-As\-Orthographic@{set\-As\-Orthographic}}
\index{set\-As\-Orthographic@{set\-As\-Orthographic}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{set\-As\-Orthographic}]{\setlength{\rightskip}{0pt plus 5cm}void set\-As\-Orthographic (
\begin{DoxyParamCaption}
\item[{float}]{half\-Width, }
\item[{float}]{half\-Height}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_a9580cba352454fe6a81456505735e63f}


Sets this camera to use an orthographic projection transformation. 

\hypertarget{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aec207a2b38fced6fafa6e4849d22b333}{\index{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}!set\-As\-Perspective@{set\-As\-Perspective}}
\index{set\-As\-Perspective@{set\-As\-Perspective}!SCIRun::Gui::SRCamera@{S\-C\-I\-Run\-::\-Gui\-::\-S\-R\-Camera}}
\subsubsection[{set\-As\-Perspective}]{\setlength{\rightskip}{0pt plus 5cm}void set\-As\-Perspective (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_gui_1_1_s_r_camera_aec207a2b38fced6fafa6e4849d22b333}


Sets this camera to use a perspective projection transformation. 



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Interface/\-Modules/\-Render/\-Spire\-S\-C\-I\-Run/\hyperlink{_s_r_camera_8h}{S\-R\-Camera.\-h}\item 
Interface/\-Modules/\-Render/\-Spire\-S\-C\-I\-Run/\hyperlink{_s_r_camera_8cc}{S\-R\-Camera.\-cc}\end{DoxyCompactItemize}
