\hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom}{}\section{Ogre\+:\+:R\+T\+Shader\+:\+:Function\+Atom Class Reference}
\label{class_ogre_1_1_r_t_shader_1_1_function_atom}\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}


A class that represents an atomic code section of shader based program function.  




{\ttfamily \#include $<$Ogre\+Shader\+Function\+Atom.\+h$>$}



Inheritance diagram for Ogre\+:\+:R\+T\+Shader\+:\+:Function\+Atom\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=262pt]{class_ogre_1_1_r_t_shader_1_1_function_atom__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a304329e53879f56efb39a86764b2236b}{Function\+Atom} ()
\begin{DoxyCompactList}\small\item\em Class default constructor. \end{DoxyCompactList}\item 
virtual \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a61addcbea034ca287286963b75290ff5}{$\sim$\+Function\+Atom} ()
\begin{DoxyCompactList}\small\item\em Class default destructor. \end{DoxyCompactList}\item 
virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \& \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a3d278b9398be98d84922926b862871d0}{get\+Function\+Atom\+Type} ()=0
\begin{DoxyCompactList}\small\item\em Return the type of this atom instance implementation. \end{DoxyCompactList}\item 
int \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a57ab20ad44b371a1ff9cad41fca2b09f}{get\+Group\+Execution\+Order} () const
\begin{DoxyCompactList}\small\item\em Get the group execution order of this function atom. \end{DoxyCompactList}\item 
int \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a4ba31672a6eae5379972ac205939bb94}{get\+Internal\+Execution\+Order} () const
\begin{DoxyCompactList}\small\item\em Get an internal execution order within a group of this function atom. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_atom_a144ec0feff79051e2840e339f5458d9e}{write\+Source\+Code} (std\+::ostream \&os, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&target\+Language) const =0
\begin{DoxyCompactList}\small\item\em Abstract method that writes a source code to the given output stream in the target shader language. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A class that represents an atomic code section of shader based program function. 

\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a304329e53879f56efb39a86764b2236b}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a304329e53879f56efb39a86764b2236b}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!Function\+Atom@{Function\+Atom}}
\index{Function\+Atom@{Function\+Atom}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{Function\+Atom()}{FunctionAtom()}}
{\footnotesize\ttfamily Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::\+Function\+Atom (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Class default constructor. 

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a61addcbea034ca287286963b75290ff5}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a61addcbea034ca287286963b75290ff5}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!````~Function\+Atom@{$\sim$\+Function\+Atom}}
\index{````~Function\+Atom@{$\sim$\+Function\+Atom}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{$\sim$\+Function\+Atom()}{~FunctionAtom()}}
{\footnotesize\ttfamily virtual Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::$\sim$\+Function\+Atom (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Class default destructor. 



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a57ab20ad44b371a1ff9cad41fca2b09f}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a57ab20ad44b371a1ff9cad41fca2b09f}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!get\+Group\+Execution\+Order@{get\+Group\+Execution\+Order}}
\index{get\+Group\+Execution\+Order@{get\+Group\+Execution\+Order}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{get\+Group\+Execution\+Order()}{getGroupExecutionOrder()}}
{\footnotesize\ttfamily int Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::get\+Group\+Execution\+Order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Get the group execution order of this function atom. 

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a4ba31672a6eae5379972ac205939bb94}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a4ba31672a6eae5379972ac205939bb94}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!get\+Internal\+Execution\+Order@{get\+Internal\+Execution\+Order}}
\index{get\+Internal\+Execution\+Order@{get\+Internal\+Execution\+Order}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{get\+Internal\+Execution\+Order()}{getInternalExecutionOrder()}}
{\footnotesize\ttfamily int Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::get\+Internal\+Execution\+Order (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Get an internal execution order within a group of this function atom. 

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a144ec0feff79051e2840e339f5458d9e}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a144ec0feff79051e2840e339f5458d9e}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!write\+Source\+Code@{write\+Source\+Code}}
\index{write\+Source\+Code@{write\+Source\+Code}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{write\+Source\+Code()}{writeSourceCode()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::write\+Source\+Code (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{os,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{target\+Language }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}



Abstract method that writes a source code to the given output stream in the target shader language. 



Implemented in \hyperlink{class_ogre_1_1_r_t_shader_1_1_assignment_atom_a95770b698ee78421f2de6e046c532bfb}{Ogre\+::\+R\+T\+Shader\+::\+Assignment\+Atom}, and \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_invocation_a21f31c670acccb04683e01f00a4bd11e}{Ogre\+::\+R\+T\+Shader\+::\+Function\+Invocation}.

\mbox{\Hypertarget{class_ogre_1_1_r_t_shader_1_1_function_atom_a3d278b9398be98d84922926b862871d0}\label{class_ogre_1_1_r_t_shader_1_1_function_atom_a3d278b9398be98d84922926b862871d0}} 
\index{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}!get\+Function\+Atom\+Type@{get\+Function\+Atom\+Type}}
\index{get\+Function\+Atom\+Type@{get\+Function\+Atom\+Type}!Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom@{Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom}}
\subsubsection{\texorpdfstring{get\+Function\+Atom\+Type()}{getFunctionAtomType()}}
{\footnotesize\ttfamily virtual const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}\& Ogre\+::\+R\+T\+Shader\+::\+Function\+Atom\+::get\+Function\+Atom\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [pure virtual]}}



Return the type of this atom instance implementation. 



Implemented in \hyperlink{class_ogre_1_1_r_t_shader_1_1_assignment_atom_a147a812c02bc7ac1186f38cb15195f30}{Ogre\+::\+R\+T\+Shader\+::\+Assignment\+Atom}, and \hyperlink{class_ogre_1_1_r_t_shader_1_1_function_invocation_a5d5fb412bf05e9c04d7a9084fdeef9c7}{Ogre\+::\+R\+T\+Shader\+::\+Function\+Invocation}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_shader_function_atom_8h}{Ogre\+Shader\+Function\+Atom.\+h}\end{DoxyCompactItemize}
