\hypertarget{a01826}{}\doxysection{AAX\+\_\+\+CBinary\+Taper\+Delegate\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>} Class Template Reference}
\label{a01826}\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}


{\ttfamily \#include $<$AAX\+\_\+\+CBinary\+Taper\+Delegate.\+h$>$}



Inheritance diagram for AAX\+\_\+\+CBinary\+Taper\+Delegate\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:
% FIG 0


Collaboration diagram for AAX\+\_\+\+CBinary\+Taper\+Delegate\texorpdfstring{$<$}{<} T \texorpdfstring{$>$}{>}\+:
% FIG 1


\doxysubsection{Description}
\subsubsection*{template$<$typename T$>$\newline
class AAX\+\_\+\+CBinary\+Taper\+Delegate$<$ T $>$}
A binary taper conforming to \mbox{\hyperlink{a02338}{AAX\+\_\+\+ITaper\+Delegate}}. 

This taper maps positive real values to 1 and negative or zero real values to 0. This is the standard taper used on all bool parameters.

When this taper is constructed with a bool template type, its normalized values are automatically typecast to the proper boolean value. \doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a01826_aae24e1f477f843ddb351838931a3e6b5}{AAX\+\_\+\+CBinary\+Taper\+Delegate}} ()
\begin{DoxyCompactList}\small\item\em Constructs a Binary Taper. \end{DoxyCompactList}\item 
\mbox{\hyperlink{a02338}{AAX\+\_\+\+ITaper\+Delegate}}$<$ T $>$ $\ast$ \mbox{\hyperlink{a01826_a433b33f4b290fe03846b2044014ae994}{Clone}} () const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Constructs and returns a copy of the taper delegate. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{a01826_a1abc18860a0c404676c52d8d1d8b7724}{Get\+Maximum\+Value}} () const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Returns the taper\textquotesingle{}s maximum real value. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{a01826_af4c360e6bef8fc945d838715c5f965c7}{Get\+Minimum\+Value}} () const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Returns the taper\textquotesingle{}s minimum real value. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{a01826_a91622c9c4cfaaf3b08e39095a26d182a}{Constrain\+Real\+Value}} (T value) const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Applies a contraint to the value and returns the constrained value. \end{DoxyCompactList}\item 
T \mbox{\hyperlink{a01826_ac50e2d93aeacf6a0293eb0098c8258ba}{Normalized\+To\+Real}} (double normalized\+Value) const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Converts a normalized value to a real value. \end{DoxyCompactList}\item 
double \mbox{\hyperlink{a01826_aa27dfc33b38aef729c4cd499d90317a1}{Real\+To\+Normalized}} (T real\+Value) const \mbox{\hyperlink{a00542_ac2f24a5172689ae684344abdcce55463}{AAX\+\_\+\+OVERRIDE}}
\begin{DoxyCompactList}\small\item\em Normalizes a real parameter value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02338}{AAX\+\_\+\+ITaper\+Delegate}} $\ast$ \mbox{\hyperlink{a02338_a710ff3aae07de10dfebe7c027e4b33e2}{Clone}} () const =0
\begin{DoxyCompactList}\small\item\em Constructs and returns a copy of the taper delegate. \end{DoxyCompactList}\item 
virtual T \mbox{\hyperlink{a02338_a9b14f7d73d614b6c012ed03fadb9f0eb}{Get\+Maximum\+Value}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the taper\textquotesingle{}s maximum real value. \end{DoxyCompactList}\item 
virtual T \mbox{\hyperlink{a02338_ac51bda25adc6f4ce320c0dd41fa332c7}{Get\+Minimum\+Value}} () const =0
\begin{DoxyCompactList}\small\item\em Returns the taper\textquotesingle{}s minimum real value. \end{DoxyCompactList}\item 
virtual T \mbox{\hyperlink{a02338_a1de7acdc2b3e114b6686bf845c2465f1}{Constrain\+Real\+Value}} (T value) const =0
\begin{DoxyCompactList}\small\item\em Applies a contraint to the value and returns the constrained value. \end{DoxyCompactList}\item 
virtual T \mbox{\hyperlink{a02338_a0aea0765b42855205bfab84673a2de33}{Normalized\+To\+Real}} (double normalized\+Value) const =0
\begin{DoxyCompactList}\small\item\em Converts a normalized value to a real value. \end{DoxyCompactList}\item 
virtual double \mbox{\hyperlink{a02338_ab017fe7e1c1dcf6191f8b4e8b09f8add}{Real\+To\+Normalized}} (T real\+Value) const =0
\begin{DoxyCompactList}\small\item\em Normalizes a real parameter value. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Member Functions inherited from \mbox{\hyperlink{a02334}{AAX\+\_\+\+ITaper\+Delegate\+Base}}}
\begin{DoxyCompactItemize}
\item 
virtual \mbox{\hyperlink{a02334_a38bf3326334b9bc248c62faff2492d38}{$\sim$\+AAX\+\_\+\+ITaper\+Delegate\+Base}} ()
\begin{DoxyCompactList}\small\item\em Virtual destructor. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{a01826_aae24e1f477f843ddb351838931a3e6b5}\label{a01826_aae24e1f477f843ddb351838931a3e6b5}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!AAX\_CBinaryTaperDelegate@{AAX\_CBinaryTaperDelegate}}
\index{AAX\_CBinaryTaperDelegate@{AAX\_CBinaryTaperDelegate}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{AAX\_CBinaryTaperDelegate()}{AAX\_CBinaryTaperDelegate()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\mbox{\hyperlink{a01826}{\+::\+AAX\+\_\+\+CBinary\+Taper\+Delegate}}}



Constructs a Binary Taper. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{a01826_a433b33f4b290fe03846b2044014ae994}\label{a01826_a433b33f4b290fe03846b2044014ae994}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!Clone@{Clone}}
\index{Clone@{Clone}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{Clone()}{Clone()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
\mbox{\hyperlink{a02338}{AAX\+\_\+\+ITaper\+Delegate}}$<$ T $>$ $\ast$ \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Clone (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Constructs and returns a copy of the taper delegate. 

In general, this method\textquotesingle{}s implementation can use a simple copy constructor\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{template}\ <\textcolor{keyword}{typename}\ T>}
\DoxyCodeLine{AAX\_CSubclassTaperDelegate<T>*\ \ AAX\_CSubclassTaperDelegate<T>::Clone()\textcolor{keyword}{\ const}}
\DoxyCodeLine{\textcolor{keyword}{}\{}
\DoxyCodeLine{\ \ \ \ \textcolor{keywordflow}{return}\ \textcolor{keyword}{new}\ AAX\_CSubclassTaperDelegate(*\textcolor{keyword}{this});}
\DoxyCodeLine{\}}

\end{DoxyCode}
 

Implements \mbox{\hyperlink{a02338_a710ff3aae07de10dfebe7c027e4b33e2}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01826_a1abc18860a0c404676c52d8d1d8b7724}\label{a01826_a1abc18860a0c404676c52d8d1d8b7724}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!GetMaximumValue@{GetMaximumValue}}
\index{GetMaximumValue@{GetMaximumValue}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{GetMaximumValue()}{GetMaximumValue()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Get\+Maximum\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the taper\textquotesingle{}s maximum real value. 



Implements \mbox{\hyperlink{a02338_a9b14f7d73d614b6c012ed03fadb9f0eb}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01826_af4c360e6bef8fc945d838715c5f965c7}\label{a01826_af4c360e6bef8fc945d838715c5f965c7}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!GetMinimumValue@{GetMinimumValue}}
\index{GetMinimumValue@{GetMinimumValue}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{GetMinimumValue()}{GetMinimumValue()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Get\+Minimum\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Returns the taper\textquotesingle{}s minimum real value. 



Implements \mbox{\hyperlink{a02338_ac51bda25adc6f4ce320c0dd41fa332c7}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01826_a91622c9c4cfaaf3b08e39095a26d182a}\label{a01826_a91622c9c4cfaaf3b08e39095a26d182a}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!ConstrainRealValue@{ConstrainRealValue}}
\index{ConstrainRealValue@{ConstrainRealValue}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{ConstrainRealValue()}{ConstrainRealValue()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Constrain\+Real\+Value (\begin{DoxyParamCaption}\item[{T}]{value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Applies a contraint to the value and returns the constrained value. 

This method is useful if the taper requires a contraint beyond simple minimum and maximum real value limits.

\begin{DoxyNote}{Note}
This is the function that should actually enforces the constraints in Normalize\+To\+Real() and \mbox{\hyperlink{a01826_aa27dfc33b38aef729c4cd499d90317a1}{Real\+To\+Normalized()}}.
\end{DoxyNote}

\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em value} & The unconstrained value \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02338_a1de7acdc2b3e114b6686bf845c2465f1}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01826_ac50e2d93aeacf6a0293eb0098c8258ba}\label{a01826_ac50e2d93aeacf6a0293eb0098c8258ba}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!NormalizedToReal@{NormalizedToReal}}
\index{NormalizedToReal@{NormalizedToReal}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{NormalizedToReal()}{NormalizedToReal()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
T \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Normalized\+To\+Real (\begin{DoxyParamCaption}\item[{double}]{normalized\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Converts a normalized value to a real value. 

This is where the actual taper algorithm is implemented.

This function should perform the exact inverse of \mbox{\hyperlink{a01826_aa27dfc33b38aef729c4cd499d90317a1}{Real\+To\+Normalized()}}, to within the roundoff precision of the individual taper implementation.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em normalized\+Value} & The normalized value that will be converted \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02338_a0aea0765b42855205bfab84673a2de33}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.

\mbox{\Hypertarget{a01826_aa27dfc33b38aef729c4cd499d90317a1}\label{a01826_aa27dfc33b38aef729c4cd499d90317a1}} 
\index{AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}!RealToNormalized@{RealToNormalized}}
\index{RealToNormalized@{RealToNormalized}!AAX\_CBinaryTaperDelegate$<$ T $>$@{AAX\_CBinaryTaperDelegate$<$ T $>$}}
\doxysubsubsection{\texorpdfstring{RealToNormalized()}{RealToNormalized()}}
{\footnotesize\ttfamily template$<$typename T $>$ \\
double \mbox{\hyperlink{a01826}{AAX\+\_\+\+CBinary\+Taper\+Delegate}}$<$ T $>$\+::\+Real\+To\+Normalized (\begin{DoxyParamCaption}\item[{T}]{real\+Value }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}



Normalizes a real parameter value. 

This is where the actual taper algorithm is implemented.

This function should perform the exact inverse of \mbox{\hyperlink{a01826_ac50e2d93aeacf6a0293eb0098c8258ba}{Normalized\+To\+Real()}}, to within the roundoff precision of the individual taper implementation.


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em real\+Value} & The real parameter value that will be normalized \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{a02338_ab017fe7e1c1dcf6191f8b4e8b09f8add}{AAX\+\_\+\+ITaper\+Delegate$<$ T $>$}}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{a00719}{AAX\+\_\+\+CBinary\+Taper\+Delegate.\+h}}\end{DoxyCompactItemize}
