\hypertarget{group__Evas__3D__Camera}{}\section{Camera Object}
\label{group__Evas__3D__Camera}\index{Camera Object@{Camera Object}}


A camera object is used for taking a picture of a scene graph.  


\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{group__Eo_ga9f3010a50b61a892d41f4ec2bda73f4c}{Eo} \hyperlink{group__Evas__3D__Camera_gacdb8ef6648a1fb37de0aaba9fdeeb04f}{Evas\+\_\+3\+D\+\_\+\+Camera}
\begin{DoxyCompactList}\small\item\em Camera object handle. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
E\+O\+A\+P\+I void \hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set} (const \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} $\ast$matrix)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Evas__3D__Camera_ga4bdd9c33e23a8336a7d7d6b37620b9b2}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} $\ast$matrix)
\begin{DoxyCompactList}\small\item\em Get the projection matrix of the given camera. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Evas__3D__Camera_ga705c9685e3015c63afae56d8ffadd4e3}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} fovy, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} aspect, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with perspective projection. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Evas__3D__Camera_gadb0bb4a2494b448cea0231be7315150d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} left, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} right, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} bottom, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} top, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with frustum projection. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I void \hyperlink{group__Evas__3D__Camera_gacd175fbfe6f8adeb708e4c9a24deb140}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} left, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} right, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} bottom, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} top, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar)
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with orthogonal projection. \end{DoxyCompactList}\item 
E\+O\+A\+P\+I \hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool} \hyperlink{group__Evas__3D__Camera_ga61aca30fac1597f5b80c7173db36d2ed}{evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get} (\hyperlink{group__Evas__3D__Node_gae7c1edea8873c2773e46bcd73a1a8c9d}{Evas\+\_\+3\+D\+\_\+\+Node} $\ast$camera\+\_\+node, \hyperlink{group__Evas__3D__Node_gae7c1edea8873c2773e46bcd73a1a8c9d}{Evas\+\_\+3\+D\+\_\+\+Node} $\ast$node, \hyperlink{group__Evas__3D__Types_ga12796e1b998ac47ca3cffcd4ba122443}{Evas\+\_\+3\+D\+\_\+\+Frustum\+\_\+\+Mode} key)
\begin{DoxyCompactList}\small\item\em Check is bounding sphere of given node inside frustum of camera node. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__3D__Camera_ga9f20a41997234d68e754e1870f04ed53}{evas\+\_\+3d\+\_\+camera\+::projection\+\_\+matrix\+\_\+set} (const \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} $\ast$matrix\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__3D__Camera_ga5b48b58a15eb42f7d1aad61280fc014c}{evas\+\_\+3d\+\_\+camera\+::projection\+\_\+matrix\+\_\+get} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} $\ast$matrix\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Get the projection matrix of the given camera. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__3D__Camera_ga08fd0929e1762ec04131fc67a24ccbdf}{evas\+\_\+3d\+\_\+camera\+::projection\+\_\+perspective\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} fovy\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} aspect\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with perspective projection. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__3D__Camera_ga72cdc0171059e4db08c837656b18fb93}{evas\+\_\+3d\+\_\+camera\+::projection\+\_\+frustum\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} left\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} right\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} bottom\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} top\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with frustum projection. \end{DoxyCompactList}\item 
void \hyperlink{group__Evas__3D__Camera_gaf54bfe81d9b616f46e76565ee8725a22}{evas\+\_\+3d\+\_\+camera\+::projection\+\_\+ortho\+\_\+set} (\hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} left\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} right\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} bottom\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} top\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dnear\+\_\+, \hyperlink{group__Evas__3D__Types_ga26ac85dabaf94eff27c75c387b526ef8}{Evas\+\_\+\+Real} dfar\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Set the projection matrix of the given camera with orthogonal projection. \end{DoxyCompactList}\item 
bool \hyperlink{group__Evas__3D__Camera_gae36d9bd3f9e62e50397ed01b45b04908}{evas\+\_\+3d\+\_\+camera\+::node\+\_\+visible\+\_\+get} (\hyperlink{group__Evas__3D__Node_gae7c1edea8873c2773e46bcd73a1a8c9d}{Evas\+\_\+3\+D\+\_\+\+Node} $\ast$camera\+\_\+node\+\_\+, \hyperlink{group__Evas__3D__Node_gae7c1edea8873c2773e46bcd73a1a8c9d}{Evas\+\_\+3\+D\+\_\+\+Node} $\ast$node\+\_\+, \hyperlink{group__Evas__3D__Types_ga12796e1b998ac47ca3cffcd4ba122443}{Evas\+\_\+3\+D\+\_\+\+Frustum\+\_\+\+Mode} key\+\_\+) const 
\begin{DoxyCompactList}\small\item\em Check is bounding sphere of given node inside frustum of camera node. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A camera object is used for taking a picture of a scene graph. 

A camera object itself is just a set of properties on how the camera should take the picture (like focus length and film size of the real world cameras). To be able to take a shot of the scene, a camera should be located in the scene, so that it has its viewing position and direction. It is done by containing the camera on a node. If one wants to locate several cameras having same properties, instead of creating multiple cameras, just create one camera and multiple nodes containing the camera and locate them at each desired position and direction. Just for convinience, use evas\+\_\+3d\+\_\+node\+\_\+position\+\_\+set() to move the camera to desired position and use evas\+\_\+3d\+\_\+node\+\_\+look\+\_\+at\+\_\+set() to adjust the viewing direction of the camera. 

\subsection{Typedef Documentation}
\hypertarget{group__Evas__3D__Camera_gacdb8ef6648a1fb37de0aaba9fdeeb04f}{}\index{Camera Object@{Camera Object}!Evas\+\_\+3\+D\+\_\+\+Camera@{Evas\+\_\+3\+D\+\_\+\+Camera}}
\index{Evas\+\_\+3\+D\+\_\+\+Camera@{Evas\+\_\+3\+D\+\_\+\+Camera}!Camera Object@{Camera Object}}
\subsubsection[{Evas\+\_\+3\+D\+\_\+\+Camera}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\+\_\+3\+D\+\_\+\+Camera}}\label{group__Evas__3D__Camera_gacdb8ef6648a1fb37de0aaba9fdeeb04f}


Camera object handle. 

\begin{DoxySince}{Since}
1.\+10 
\end{DoxySince}


\subsection{Function Documentation}
\hypertarget{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Real} $\ast$}]{matrix}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}


Set the projection matrix of the given camera. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em matrix} & Pointer to the array of 16 Evas\+\_\+\+Real values in column major order.\\
\hline
\end{DoxyParams}
Default projection matrix is identity matrix.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_ga705c9685e3015c63afae56d8ffadd4e3}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set()} 

\hyperlink{group__Evas__3D__Camera_gacd175fbfe6f8adeb708e4c9a24deb140}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set()} 

\hyperlink{group__Evas__3D__Camera_gadb0bb4a2494b448cea0231be7315150d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em matrix} & Projection Matrix \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga4bdd9c33e23a8336a7d7d6b37620b9b2}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{matrix}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_ga4bdd9c33e23a8336a7d7d6b37620b9b2}


Get the projection matrix of the given camera. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em matrix} & Pointer to receive the 16 Evas\+\_\+\+Real values in column major order.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em matrix} & Projection Matrix \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga705c9685e3015c63afae56d8ffadd4e3}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{fovy, }
\item[{{\bf Evas\+\_\+\+Real}}]{aspect, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_ga705c9685e3015c63afae56d8ffadd4e3}


Set the projection matrix of the given camera with perspective projection. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em fovy} & Field of view angle in Y direction. \\
\hline
{\em aspect} & Aspect ratio. \\
\hline
{\em dnear} & Distance to near clipping plane. \\
\hline
{\em dfar} & Distance to far clipping plane.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fovy} & Field of view angle in Y direction. \\
\hline
\mbox{\tt in}  & {\em aspect} & Aspect ratio. \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_gadb0bb4a2494b448cea0231be7315150d}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left, }
\item[{{\bf Evas\+\_\+\+Real}}]{right, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom, }
\item[{{\bf Evas\+\_\+\+Real}}]{top, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_gadb0bb4a2494b448cea0231be7315150d}


Set the projection matrix of the given camera with frustum projection. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em left} & Left X coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em right} & Right X coordinate of the near clipping plane.. \\
\hline
\mbox{\tt in}  & {\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em top} & Top Y coordinate of the near clipping plane \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_gacd175fbfe6f8adeb708e4c9a24deb140}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set@{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I void evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left, }
\item[{{\bf Evas\+\_\+\+Real}}]{right, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom, }
\item[{{\bf Evas\+\_\+\+Real}}]{top, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_gacd175fbfe6f8adeb708e4c9a24deb140}


Set the projection matrix of the given camera with orthogonal projection. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em left} & Left X coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em right} & Right X coordinate of the near clipping plane.. \\
\hline
\mbox{\tt in}  & {\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
\mbox{\tt in}  & {\em top} & Top Y coordinate of the near clipping plane \\
\hline
\mbox{\tt in}  & {\em dnear} & Distance to near clipping plane. \\
\hline
\mbox{\tt in}  & {\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga61aca30fac1597f5b80c7173db36d2ed}{}\index{Camera Object@{Camera Object}!evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get@{evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get}}
\index{evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get@{evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get}!Camera Object@{Camera Object}}
\subsubsection[{evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}E\+O\+A\+P\+I {\bf Eina\+\_\+\+Bool} evas\+\_\+3d\+\_\+camera\+\_\+node\+\_\+visible\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Node} $\ast$}]{camera\+\_\+node, }
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Node} $\ast$}]{node, }
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Frustum\+\_\+\+Mode}}]{key}
\end{DoxyParamCaption}
)}\label{group__Evas__3D__Camera_ga61aca30fac1597f5b80c7173db36d2ed}


Check is bounding sphere of given node inside frustum of camera node. 


\begin{DoxyItemize}
\item 
\item 
\begin{DoxyParams}{Parameters}
{\em camera} & The given camera node.\\
\hline
\end{DoxyParams}

\item 
\begin{DoxyParams}{Parameters}
{\em node} & The given node.\\
\hline
\end{DoxyParams}

\item \begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} in frustum, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}

\item If the nodes are @ N\+U\+L\+L or nodes type mismatch error wrong type of nodes will be generated and returned @ E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E.
\item 
\end{DoxyItemize}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em camera\+\_\+node} & No description supplied. \\
\hline
\mbox{\tt in}  & {\em node} & No description supplied. \\
\hline
\mbox{\tt in}  & {\em key} & No description supplied. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga9f20a41997234d68e754e1870f04ed53}{}\index{Camera Object@{Camera Object}!projection\+\_\+matrix\+\_\+set@{projection\+\_\+matrix\+\_\+set}}
\index{projection\+\_\+matrix\+\_\+set@{projection\+\_\+matrix\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{projection\+\_\+matrix\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+3d\+\_\+camera\+::projection\+\_\+matrix\+\_\+set (
\begin{DoxyParamCaption}
\item[{const {\bf Evas\+\_\+\+Real} $\ast$}]{matrix\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_ga9f20a41997234d68e754e1870f04ed53}


Set the projection matrix of the given camera. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em matrix} & Pointer to the array of 16 Evas\+\_\+\+Real values in column major order.\\
\hline
\end{DoxyParams}
Default projection matrix is identity matrix.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_ga705c9685e3015c63afae56d8ffadd4e3}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+perspective\+\_\+set()} 

\hyperlink{group__Evas__3D__Camera_gacd175fbfe6f8adeb708e4c9a24deb140}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+ortho\+\_\+set()} 

\hyperlink{group__Evas__3D__Camera_gadb0bb4a2494b448cea0231be7315150d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+frustum\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em matrix} & Projection Matrix \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga5b48b58a15eb42f7d1aad61280fc014c}{}\index{Camera Object@{Camera Object}!projection\+\_\+matrix\+\_\+get@{projection\+\_\+matrix\+\_\+get}}
\index{projection\+\_\+matrix\+\_\+get@{projection\+\_\+matrix\+\_\+get}!Camera Object@{Camera Object}}
\subsubsection[{projection\+\_\+matrix\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+3d\+\_\+camera\+::projection\+\_\+matrix\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real} $\ast$}]{matrix\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_ga5b48b58a15eb42f7d1aad61280fc014c}


Get the projection matrix of the given camera. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em matrix} & Pointer to receive the 16 Evas\+\_\+\+Real values in column major order.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em matrix} & Projection Matrix \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga08fd0929e1762ec04131fc67a24ccbdf}{}\index{Camera Object@{Camera Object}!projection\+\_\+perspective\+\_\+set@{projection\+\_\+perspective\+\_\+set}}
\index{projection\+\_\+perspective\+\_\+set@{projection\+\_\+perspective\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{projection\+\_\+perspective\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+3d\+\_\+camera\+::projection\+\_\+perspective\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{fovy\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{aspect\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_ga08fd0929e1762ec04131fc67a24ccbdf}


Set the projection matrix of the given camera with perspective projection. 


\begin{DoxyParams}{Parameters}
{\em camera} & The given camera. \\
\hline
{\em fovy} & Field of view angle in Y direction. \\
\hline
{\em aspect} & Aspect ratio. \\
\hline
{\em dnear} & Distance to near clipping plane. \\
\hline
{\em dfar} & Distance to far clipping plane.\\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em fovy} & Field of view angle in Y direction. \\
\hline
{\em aspect} & Aspect ratio. \\
\hline
{\em dnear} & Distance to near clipping plane. \\
\hline
{\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_ga72cdc0171059e4db08c837656b18fb93}{}\index{Camera Object@{Camera Object}!projection\+\_\+frustum\+\_\+set@{projection\+\_\+frustum\+\_\+set}}
\index{projection\+\_\+frustum\+\_\+set@{projection\+\_\+frustum\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{projection\+\_\+frustum\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+3d\+\_\+camera\+::projection\+\_\+frustum\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{right\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{top\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_ga72cdc0171059e4db08c837656b18fb93}


Set the projection matrix of the given camera with frustum projection. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em left} & Left X coordinate of the near clipping plane. \\
\hline
{\em right} & Right X coordinate of the near clipping plane.. \\
\hline
{\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
{\em top} & Top Y coordinate of the near clipping plane \\
\hline
{\em dnear} & Distance to near clipping plane. \\
\hline
{\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_gaf54bfe81d9b616f46e76565ee8725a22}{}\index{Camera Object@{Camera Object}!projection\+\_\+ortho\+\_\+set@{projection\+\_\+ortho\+\_\+set}}
\index{projection\+\_\+ortho\+\_\+set@{projection\+\_\+ortho\+\_\+set}!Camera Object@{Camera Object}}
\subsubsection[{projection\+\_\+ortho\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}void evas\+\_\+3d\+\_\+camera\+::projection\+\_\+ortho\+\_\+set (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+\+Real}}]{left\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{right\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{bottom\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{top\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dnear\+\_\+, }
\item[{{\bf Evas\+\_\+\+Real}}]{dfar\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_gaf54bfe81d9b616f46e76565ee8725a22}


Set the projection matrix of the given camera with orthogonal projection. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Evas__3D__Camera_gaa843a565d5de827a476c8b27fde7397d}{evas\+\_\+3d\+\_\+camera\+\_\+projection\+\_\+matrix\+\_\+set()}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em left} & Left X coordinate of the near clipping plane. \\
\hline
{\em right} & Right X coordinate of the near clipping plane.. \\
\hline
{\em bottom} & Bottom Y coordinate of the near clipping plane. \\
\hline
{\em top} & Top Y coordinate of the near clipping plane \\
\hline
{\em dnear} & Distance to near clipping plane. \\
\hline
{\em dfar} & Distance to far clipping plane. \\
\hline
\end{DoxyParams}
\hypertarget{group__Evas__3D__Camera_gae36d9bd3f9e62e50397ed01b45b04908}{}\index{Camera Object@{Camera Object}!node\+\_\+visible\+\_\+get@{node\+\_\+visible\+\_\+get}}
\index{node\+\_\+visible\+\_\+get@{node\+\_\+visible\+\_\+get}!Camera Object@{Camera Object}}
\subsubsection[{node\+\_\+visible\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}bool evas\+\_\+3d\+\_\+camera\+::node\+\_\+visible\+\_\+get (
\begin{DoxyParamCaption}
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Node} $\ast$}]{camera\+\_\+node\+\_\+, }
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Node} $\ast$}]{node\+\_\+, }
\item[{{\bf Evas\+\_\+3\+D\+\_\+\+Frustum\+\_\+\+Mode}}]{key\+\_\+}
\end{DoxyParamCaption}
) const}\label{group__Evas__3D__Camera_gae36d9bd3f9e62e50397ed01b45b04908}


Check is bounding sphere of given node inside frustum of camera node. 


\begin{DoxyItemize}
\item 
\item 
\begin{DoxyParams}{Parameters}
{\em camera} & The given camera node.\\
\hline
\end{DoxyParams}

\item 
\begin{DoxyParams}{Parameters}
{\em node} & The given node.\\
\hline
\end{DoxyParams}

\item \begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E} in frustum, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}

\item If the nodes are @ N\+U\+L\+L or nodes type mismatch error wrong type of nodes will be generated and returned @ E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E.
\item 
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em camera\+\_\+node} & \\
\hline
{\em node} & \\
\hline
{\em key} & \\
\hline
\end{DoxyParams}
