\hypertarget{class_ogre_1_1_frame_time_controller_value}{}\doxysection{Ogre\+::Frame\+Time\+Controller\+Value Class Reference}
\label{class_ogre_1_1_frame_time_controller_value}\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}


Predefined controller value for getting the latest frame time.  




{\ttfamily \#include $<$Ogre\+Predefined\+Controllers.\+h$>$}



Inheritance diagram for Ogre\+::Frame\+Time\+Controller\+Value\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{class_ogre_1_1_frame_time_controller_value__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_aed8ee1d63bf0c06fba9ec32bcf36d8c5}{Frame\+Time\+Controller\+Value}} ()
\item 
bool \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a2ee210328604677cb76ba0e4d97bd84a}{frame\+Ended}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called just after a frame has been rendered. \end{DoxyCompactList}\item 
virtual bool \mbox{\hyperlink{class_ogre_1_1_frame_listener_a2785cb38589ab9df123fa401cbda31c3}{frame\+Rendering\+Queued}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called after all render targets have had their rendering commands issued, but before render windows have been asked to flip their buffers over. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a15caa3fcb86af2036b336a5fa6efd1cd}{frame\+Started}} (const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&evt)
\begin{DoxyCompactList}\small\item\em Called when a frame is about to begin rendering. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a5ecb4e4500192207506c5bdc29102c80}{get\+Elapsed\+Time}} (void) const
\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_ae14fbcbada0e1e932c920e51e48b53c6}{get\+Frame\+Delay}} (void) const
\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_ad64da995033310540b36368a6f3b9772}{get\+Time\+Factor}} (void) const
\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a95bf43a5791d594237d74fb44526d0a6}{get\+Value}} (void) const
\item 
void \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a2d76ad57948f7cd5f8657fc57cd28cd0}{set\+Elapsed\+Time}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} elapsed\+Time)
\item 
void \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a7ad2006dd65881a7a5a1abbf204d13a5}{set\+Frame\+Delay}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} fd)
\item 
void \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_a5c794a028b0d300c1262fef68fad5984}{set\+Time\+Factor}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} tf)
\item 
void \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_aaacecf71666f76407c54a1d2f2152a8e}{set\+Value}} (\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} value)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{group___general_ga57d5b9493ba9c9b89479f942f237a37c}{Controller\+Value\+Real\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_ab4c6b8b58ce0325c0a54e749ba3b48e1}{create}} ()
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Predefined controller value for getting the latest frame time. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_aed8ee1d63bf0c06fba9ec32bcf36d8c5}\label{class_ogre_1_1_frame_time_controller_value_aed8ee1d63bf0c06fba9ec32bcf36d8c5}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!FrameTimeControllerValue@{FrameTimeControllerValue}}
\index{FrameTimeControllerValue@{FrameTimeControllerValue}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{FrameTimeControllerValue()}{FrameTimeControllerValue()}}
{\footnotesize\ttfamily Ogre\+::\+Frame\+Time\+Controller\+Value\+::\+Frame\+Time\+Controller\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000102}{Deprecated}}]use \mbox{\hyperlink{class_ogre_1_1_frame_time_controller_value_ab4c6b8b58ce0325c0a54e749ba3b48e1}{create()}} \end{DoxyRefDesc}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_ab4c6b8b58ce0325c0a54e749ba3b48e1}\label{class_ogre_1_1_frame_time_controller_value_ab4c6b8b58ce0325c0a54e749ba3b48e1}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!create@{create}}
\index{create@{create}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{group___general_ga57d5b9493ba9c9b89479f942f237a37c}{Controller\+Value\+Real\+Ptr}} Ogre\+::\+Frame\+Time\+Controller\+Value\+::create (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a2ee210328604677cb76ba0e4d97bd84a}\label{class_ogre_1_1_frame_time_controller_value_a2ee210328604677cb76ba0e4d97bd84a}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!frameEnded@{frameEnded}}
\index{frameEnded@{frameEnded}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{frameEnded()}{frameEnded()}}
{\footnotesize\ttfamily bool Ogre\+::\+Frame\+Time\+Controller\+Value\+::frame\+Ended (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called just after a frame has been rendered. 

\begin{DoxyRemark}{Remarks}
This event happens after all render targets have been fully updated and the buffers switched. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to continue with the next frame, false to drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_frame_listener_af1d0140678c18a013ac45aa544c00bfd}{Ogre\+::\+Frame\+Listener}}.

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a15caa3fcb86af2036b336a5fa6efd1cd}\label{class_ogre_1_1_frame_time_controller_value_a15caa3fcb86af2036b336a5fa6efd1cd}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!frameStarted@{frameStarted}}
\index{frameStarted@{frameStarted}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{frameStarted()}{frameStarted()}}
{\footnotesize\ttfamily bool Ogre\+::\+Frame\+Time\+Controller\+Value\+::frame\+Started (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Called when a frame is about to begin rendering. 

\begin{DoxyRemark}{Remarks}
This event happens before any render targets have begun updating. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to go ahead, false to abort rendering and drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented from \mbox{\hyperlink{class_ogre_1_1_frame_listener_a88238b65f9ce32f0de8c5eeeb7b6c6ad}{Ogre\+::\+Frame\+Listener}}.

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a95bf43a5791d594237d74fb44526d0a6}\label{class_ogre_1_1_frame_time_controller_value_a95bf43a5791d594237d74fb44526d0a6}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!getValue@{getValue}}
\index{getValue@{getValue}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{getValue()}{getValue()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Frame\+Time\+Controller\+Value\+::get\+Value (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Implements \mbox{\hyperlink{class_ogre_1_1_controller_value_a745741bba579264e57d797683d3feacd}{Ogre\+::\+Controller\+Value$<$ Real $>$}}.

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_aaacecf71666f76407c54a1d2f2152a8e}\label{class_ogre_1_1_frame_time_controller_value_aaacecf71666f76407c54a1d2f2152a8e}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!setValue@{setValue}}
\index{setValue@{setValue}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{setValue()}{setValue()}}
{\footnotesize\ttfamily void Ogre\+::\+Frame\+Time\+Controller\+Value\+::set\+Value (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Implements \mbox{\hyperlink{class_ogre_1_1_controller_value_ab719e69a47857662b71041b9c74e546b}{Ogre\+::\+Controller\+Value$<$ Real $>$}}.

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_ad64da995033310540b36368a6f3b9772}\label{class_ogre_1_1_frame_time_controller_value_ad64da995033310540b36368a6f3b9772}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!getTimeFactor@{getTimeFactor}}
\index{getTimeFactor@{getTimeFactor}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{getTimeFactor()}{getTimeFactor()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Frame\+Time\+Controller\+Value\+::get\+Time\+Factor (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a5c794a028b0d300c1262fef68fad5984}\label{class_ogre_1_1_frame_time_controller_value_a5c794a028b0d300c1262fef68fad5984}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!setTimeFactor@{setTimeFactor}}
\index{setTimeFactor@{setTimeFactor}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{setTimeFactor()}{setTimeFactor()}}
{\footnotesize\ttfamily void Ogre\+::\+Frame\+Time\+Controller\+Value\+::set\+Time\+Factor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{tf }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_ae14fbcbada0e1e932c920e51e48b53c6}\label{class_ogre_1_1_frame_time_controller_value_ae14fbcbada0e1e932c920e51e48b53c6}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!getFrameDelay@{getFrameDelay}}
\index{getFrameDelay@{getFrameDelay}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{getFrameDelay()}{getFrameDelay()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Frame\+Time\+Controller\+Value\+::get\+Frame\+Delay (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a7ad2006dd65881a7a5a1abbf204d13a5}\label{class_ogre_1_1_frame_time_controller_value_a7ad2006dd65881a7a5a1abbf204d13a5}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!setFrameDelay@{setFrameDelay}}
\index{setFrameDelay@{setFrameDelay}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{setFrameDelay()}{setFrameDelay()}}
{\footnotesize\ttfamily void Ogre\+::\+Frame\+Time\+Controller\+Value\+::set\+Frame\+Delay (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{fd }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a5ecb4e4500192207506c5bdc29102c80}\label{class_ogre_1_1_frame_time_controller_value_a5ecb4e4500192207506c5bdc29102c80}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!getElapsedTime@{getElapsedTime}}
\index{getElapsedTime@{getElapsedTime}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{getElapsedTime()}{getElapsedTime()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Frame\+Time\+Controller\+Value\+::get\+Elapsed\+Time (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}

\mbox{\Hypertarget{class_ogre_1_1_frame_time_controller_value_a2d76ad57948f7cd5f8657fc57cd28cd0}\label{class_ogre_1_1_frame_time_controller_value_a2d76ad57948f7cd5f8657fc57cd28cd0}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!setElapsedTime@{setElapsedTime}}
\index{setElapsedTime@{setElapsedTime}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{setElapsedTime()}{setElapsedTime()}}
{\footnotesize\ttfamily void Ogre\+::\+Frame\+Time\+Controller\+Value\+::set\+Elapsed\+Time (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}}}]{elapsed\+Time }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_frame_listener_a2785cb38589ab9df123fa401cbda31c3}\label{class_ogre_1_1_frame_listener_a2785cb38589ab9df123fa401cbda31c3}} 
\index{Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}!frameRenderingQueued@{frameRenderingQueued}}
\index{frameRenderingQueued@{frameRenderingQueued}!Ogre::FrameTimeControllerValue@{Ogre::FrameTimeControllerValue}}
\doxysubsubsection{\texorpdfstring{frameRenderingQueued()}{frameRenderingQueued()}}
{\footnotesize\ttfamily virtual bool Ogre\+::\+Frame\+Listener\+::frame\+Rendering\+Queued (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{struct_ogre_1_1_frame_event}{Frame\+Event}} \&}]{evt }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Called after all render targets have had their rendering commands issued, but before render windows have been asked to flip their buffers over. 

\begin{DoxyRemark}{Remarks}
The usefulness of this event comes from the fact that rendering commands are queued for the G\+PU to process. These can take a little while to finish, and so while that is happening the C\+PU can be doing useful things. Once the request to \textquotesingle{}flip buffers\textquotesingle{} happens, the thread requesting it will block until the G\+PU is ready, which can waste C\+PU cycles. Therefore, it is often a good idea to use this callback to perform per-\/frame processing. Of course because the frame\textquotesingle{}s rendering commands have already been issued, any changes you make will only take effect from the next frame, but in most cases that\textquotesingle{}s not noticeable. 
\end{DoxyRemark}
\begin{DoxyReturn}{Returns}
True to continue rendering, false to drop out of the rendering loop. 
\end{DoxyReturn}


Reimplemented in \mbox{\hyperlink{class_ogre_bites_1_1_application_context_base_af8879ee99573721666a02346424bbacb}{Ogre\+Bites\+::\+Application\+Context\+Base}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_predefined_controllers_8h}{Ogre\+Predefined\+Controllers.\+h}}\end{DoxyCompactItemize}
