\hypertarget{transition__contract_8h_source}{}\doxysection{transition\+\_\+contract.\+h}
\label{transition__contract_8h_source}\index{lib\_headers/mingl/transition/transition\_contract.h@{lib\_headers/mingl/transition/transition\_contract.h}}
\mbox{\hyperlink{transition__contract_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00001}00001 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00011}00011 \textcolor{preprocessor}{\#ifndef TRANSITION\_CONTRACT\_H}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00012}00012 \textcolor{preprocessor}{\#define TRANSITION\_CONTRACT\_H}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00013}00013 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00014}00014 \textcolor{preprocessor}{\#include <functional>}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <vector>}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00016}00016 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00017}00017 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{itransitionable_8h}{itransitionable.h}}"{}}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00018}00018 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{transition__types_8h}{transition\_types.h}}"{}}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00019}00019 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00020}00020 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacens_transition}{nsTransition}}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00021}00021 \{}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00022}00022 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00027}\mbox{\hyperlink{classns_transition_1_1_transition_contract}{00027}} \textcolor{keyword}{class }\mbox{\hyperlink{classns_transition_1_1_transition_contract}{TransitionContract}}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00028}00028 \{}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00029}00029 \textcolor{keyword}{public}:    }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00033}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edb}{00033}}     \textcolor{keyword}{enum} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edb}{TransitionMode}} \{}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00034}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edba8e6b597d9cc193da6eb40a6be5dc544b}{00034}}         \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edba8e6b597d9cc193da6eb40a6be5dc544b}{MODE\_FINITE}}, }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00035}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edbada40ee822d94803e81878d415e46ef6a}{00035}}         \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edbada40ee822d94803e81878d415e46ef6a}{MODE\_FINITE\_REVERSE}}, }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00036}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edbaaf7f662702b3f37a41b8cfb86598f857}{00036}}         \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edbaaf7f662702b3f37a41b8cfb86598f857}{MODE\_LOOP}}, }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00037}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edba5aa6e1fbf9670aa9ecd96beff2ba6abb}{00037}}         \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edba5aa6e1fbf9670aa9ecd96beff2ba6abb}{MODE\_LOOP\_SMOOTH}}, }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00038}00038     \};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00053}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a8ec4ef83c08901c9b93cec5eb0bfd06b}{00053}}     \mbox{\hyperlink{classns_transition_1_1_transition_contract_a8ec4ef83c08901c9b93cec5eb0bfd06b}{TransitionContract}}(\mbox{\hyperlink{classns_transition_1_1_i_transitionable}{ITransitionable}}\& target, \textcolor{keyword}{const} \textcolor{keywordtype}{int}\& \textcolor{keywordtype}{id},}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00054}00054                        \textcolor{keyword}{const} \mbox{\hyperlink{namespacens_transition_a260258f249f46ff9a62da721537f87af}{SystemDuration\_t}}\& duration, \textcolor{keyword}{const} std::vector<float>\& destination,}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00055}00055                        \textcolor{keyword}{const} \mbox{\hyperlink{namespacens_transition_a260258f249f46ff9a62da721537f87af}{SystemDuration\_t}}\& delay = std::chrono::seconds::zero(),}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00056}00056                        \textcolor{keyword}{const} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edb}{TransitionMode}}\& transitionMode = TransitionMode::MODE\_FINITE);}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00057}00057 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00063}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a34a594d05171628bca81120c768c86b9}{00063}}     \textcolor{keyword}{const} \textcolor{keywordtype}{int}\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_a34a594d05171628bca81120c768c86b9}{getId}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00070}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a464b06c739e50a374c4d11509cf6e5ee}{00070}}     \textcolor{keyword}{const} \mbox{\hyperlink{classns_transition_1_1_i_transitionable}{ITransitionable}}\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_a464b06c739e50a374c4d11509cf6e5ee}{getTarget}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00071}00071 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00077}\mbox{\hyperlink{classns_transition_1_1_transition_contract_ad5d6524d7e2eeddf9f06204b8245c484}{00077}}     \textcolor{keyword}{const} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edb}{TransitionMode}}\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_ad5d6524d7e2eeddf9f06204b8245c484}{getTransitionMode}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00078}00078 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00084}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a8dc505c54df5d1f09a482a1b56676cd4}{00084}}     \textcolor{keyword}{const} std::vector<float>\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_a8dc505c54df5d1f09a482a1b56676cd4}{getBeginning}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00085}00085 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00091}\mbox{\hyperlink{classns_transition_1_1_transition_contract_ae4ce420a4376e1d372efb3fd046410df}{00091}}     \textcolor{keyword}{const} std::vector<float>\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_ae4ce420a4376e1d372efb3fd046410df}{getDestination}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00092}00092 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00098}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a9b900986c8f271729f99c88fa1b0a5e1}{00098}}     \textcolor{keyword}{const} \mbox{\hyperlink{namespacens_transition_a260258f249f46ff9a62da721537f87af}{SystemDuration\_t}}\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_a9b900986c8f271729f99c88fa1b0a5e1}{getDuration}}() \textcolor{keyword}{const};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00099}00099 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00105}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a8f1ebafd9966553678fd7845f35bac33}{00105}}     \textcolor{keywordtype}{void} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a8f1ebafd9966553678fd7845f35bac33}{setDestinationCallback}}(\textcolor{keyword}{const} std::function<\textcolor{keywordtype}{void}()>\& callback);}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00106}00106 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00107}00107 \textcolor{keyword}{protected}:}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00114}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a48e1b58bc26cb8b6167fb6b76911c941}{00114}}     \textcolor{keyword}{const} \textcolor{keywordtype}{int} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a48e1b58bc26cb8b6167fb6b76911c941}{m\_id}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00115}00115 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00121}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a1066c3c1526a519276b75a4f4c5206b2}{00121}}     \mbox{\hyperlink{classns_transition_1_1_i_transitionable}{ITransitionable}}\& \mbox{\hyperlink{classns_transition_1_1_transition_contract_a1066c3c1526a519276b75a4f4c5206b2}{m\_target}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00122}00122 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00128}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a9634edf746d8605e78ae30f7a0e6efd3}{00128}}     \textcolor{keyword}{const} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a40118ebf3c1a0a486934ce2b9ddc3edb}{TransitionMode}} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a9634edf746d8605e78ae30f7a0e6efd3}{m\_transitionMode}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00129}00129 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00133}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a5f804f0f4cc00d48e139ff93c5469954}{00133}}     std::vector<float> \mbox{\hyperlink{classns_transition_1_1_transition_contract_a5f804f0f4cc00d48e139ff93c5469954}{m\_beginning}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00134}00134 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00138}\mbox{\hyperlink{classns_transition_1_1_transition_contract_adc660e53bde2e552bb4148ac7abc4e42}{00138}}     \textcolor{keyword}{const} std::vector<float> \mbox{\hyperlink{classns_transition_1_1_transition_contract_adc660e53bde2e552bb4148ac7abc4e42}{m\_destination}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00139}00139 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00143}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a0c8ac97863022965d6ac0539d972c325}{00143}}     \mbox{\hyperlink{namespacens_transition_a260258f249f46ff9a62da721537f87af}{SystemDuration\_t}} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a0c8ac97863022965d6ac0539d972c325}{m\_duration}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00148}\mbox{\hyperlink{classns_transition_1_1_transition_contract_a5c317b573104f3d3c9caafbc3014ac16}{00148}}     \mbox{\hyperlink{namespacens_transition_a260258f249f46ff9a62da721537f87af}{SystemDuration\_t}} \mbox{\hyperlink{classns_transition_1_1_transition_contract_a5c317b573104f3d3c9caafbc3014ac16}{m\_delay}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00149}00149 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00153}\mbox{\hyperlink{classns_transition_1_1_transition_contract_ac95072df084f1edbd63479c68228b9d6}{00153}}     std::function<void()> \mbox{\hyperlink{classns_transition_1_1_transition_contract_ac95072df084f1edbd63479c68228b9d6}{m\_destinationCallback}};}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00154}00154 \}; \textcolor{comment}{// class TransitionContract}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00155}00155 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00156}00156 \} \textcolor{comment}{// namespace nsTransition}}
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00157}00157 }
\DoxyCodeLine{\Hypertarget{transition__contract_8h_source_l00158}00158 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// TRANSITION\_CONTRACT\_H}}

\end{DoxyCode}
