\hypertarget{a00759}{\section{A\+C\+G\+:\+:Knotvector\+T$<$ Scalar $>$ Class Template Reference}
\label{a00759}\index{A\+C\+G\+::\+Knotvector\+T$<$ Scalar $>$@{A\+C\+G\+::\+Knotvector\+T$<$ Scalar $>$}}
}


{\ttfamily \#include $<$Object\+Types/\+Knotvector/\+Knotvector\+T.\+hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00759_adc5e3f583a8804b3f926815e1281e11a}{enum {\bfseries Knotvector\+Type} \{ {\bfseries U\+N\+I\+F\+O\+R\+M\+\_\+\+I\+N\+T\+E\+R\+P\+O\+L} = 0, 
{\bfseries U\+N\+I\+F\+O\+R\+M} = 1
 \}}\label{a00759_adc5e3f583a8804b3f926815e1281e11a}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00759_a688e8cd77fc82e676be1769431dee31b}{\hyperlink{a00759_a688e8cd77fc82e676be1769431dee31b}{Knotvector\+T} ()}\label{a00759_a688e8cd77fc82e676be1769431dee31b}

\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\hypertarget{a00759_a1c3ff99f0a17825687a7a477955ce2ff}{\hyperlink{a00759_a1c3ff99f0a17825687a7a477955ce2ff}{Knotvector\+T} (const \hyperlink{a00759}{Knotvector\+T} \&\+\_\+knotvec)}\label{a00759_a1c3ff99f0a17825687a7a477955ce2ff}

\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
\hypertarget{a00759_acf3d523aed1531b4650574fb114f236d}{\hyperlink{a00759_acf3d523aed1531b4650574fb114f236d}{$\sim$\+Knotvector\+T} ()}\label{a00759_acf3d523aed1531b4650574fb114f236d}

\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\hypertarget{a00759_a4d4211b6cbdd3ffe38e283dd5bdbad47}{void {\bfseries set\+Type} (Knotvector\+Type \+\_\+type)}\label{a00759_a4d4211b6cbdd3ffe38e283dd5bdbad47}

\item 
\hypertarget{a00759_a645c79a886627455062b321f2071a71a}{void {\bfseries create\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)}\label{a00759_a645c79a886627455062b321f2071a71a}

\item 
\hypertarget{a00759_ae474d7b8e10bdc86e005257e09a06cb5}{std\+::vector$<$ Scalar $>$ \& {\bfseries get\+Knotvector} ()}\label{a00759_ae474d7b8e10bdc86e005257e09a06cb5}

\item 
\hypertarget{a00759_a02da9599a2e620d1216993195239d94e}{const std\+::vector$<$ Scalar $>$ \& {\bfseries get\+Knotvector} () const }\label{a00759_a02da9599a2e620d1216993195239d94e}

\item 
\hypertarget{a00759_a59035df91ebc4bbcf8729b09dd14c321}{unsigned int {\bfseries size} () const }\label{a00759_a59035df91ebc4bbcf8729b09dd14c321}

\item 
\hypertarget{a00759_a1168f8d0688d494a28ba9ca5f0b4721c}{Scalar {\bfseries get\+Knot} (unsigned int \+\_\+index) const }\label{a00759_a1168f8d0688d494a28ba9ca5f0b4721c}

\item 
\hypertarget{a00759_ac044a5d8bf46354e70be24a231cc0326}{void {\bfseries set\+Knotvector} (const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)}\label{a00759_ac044a5d8bf46354e70be24a231cc0326}

\item 
\hypertarget{a00759_a3e159840b81acf02d2819f1f69040f8f}{void {\bfseries resize} (unsigned int \+\_\+size)}\label{a00759_a3e159840b81acf02d2819f1f69040f8f}

\item 
\hypertarget{a00759_a14d6bd2842a69e3799076857eade82c0}{void {\bfseries insert\+Knot} (unsigned int \+\_\+index, const Scalar \+\_\+knot)}\label{a00759_a14d6bd2842a69e3799076857eade82c0}

\item 
\hypertarget{a00759_a8360c15bc41b709a04eb44daa19bd80a}{void {\bfseries add\+Knot} (Scalar \+\_\+knot)}\label{a00759_a8360c15bc41b709a04eb44daa19bd80a}

\item 
\hypertarget{a00759_abf0cce4392e6085f1d1b46973b4314fc}{void {\bfseries set\+Knot} (unsigned int \+\_\+index, Scalar \+\_\+knot)}\label{a00759_abf0cce4392e6085f1d1b46973b4314fc}

\item 
\hypertarget{a00759_af8abd152d8d7be5e5414743adbe69a25}{void {\bfseries delete\+Knot} (unsigned int \+\_\+index)}\label{a00759_af8abd152d8d7be5e5414743adbe69a25}

\item 
Scalar \& \hyperlink{a00759_a35a53518d4e8f1922b75c2a2d2ee0412}{operator()} (unsigned int \+\_\+index)
\begin{DoxyCompactList}\small\item\em returns a reference to the \+\_\+index'th knot \end{DoxyCompactList}\item 
const Scalar \& \hyperlink{a00759_a562b1866b6d1934b9a1f11009101f7e0}{operator()} (unsigned int \+\_\+index) const 
\begin{DoxyCompactList}\small\item\em returns a const reference to the \+\_\+index'th knot \end{DoxyCompactList}\item 
\hypertarget{a00759_a2f7e01d62557fa4f50d3ed9c1f40c9ab}{void {\bfseries clear} ()}\label{a00759_a2f7e01d62557fa4f50d3ed9c1f40c9ab}

\item 
\hypertarget{a00759_aeeb310ba9a68e0aa192480e870821c15}{void {\bfseries request\+\_\+selections} ()}\label{a00759_aeeb310ba9a68e0aa192480e870821c15}

\item 
\hypertarget{a00759_a528dde7ddb27289124a341e0a934488e}{void {\bfseries release\+\_\+selections} ()}\label{a00759_a528dde7ddb27289124a341e0a934488e}

\item 
\hypertarget{a00759_acb6bc6933e7fa754d48672491314feef}{bool {\bfseries selections\+\_\+available} () const }\label{a00759_acb6bc6933e7fa754d48672491314feef}

\item 
\hypertarget{a00759_a90a6b8f396bbc7925d9e188a4c3b27b5}{unsigned char \& {\bfseries selection} (unsigned int \+\_\+i)}\label{a00759_a90a6b8f396bbc7925d9e188a4c3b27b5}

\item 
\hypertarget{a00759_a4d47ef705a7ed2721dddb65ed82439f7}{const unsigned char \& {\bfseries selection} (unsigned int \+\_\+i) const }\label{a00759_a4d47ef705a7ed2721dddb65ed82439f7}

\item 
\hypertarget{a00759_a2dd10fc283c35fe487c05dddbe3ec754}{void {\bfseries select} (unsigned int \+\_\+p\+Idx)}\label{a00759_a2dd10fc283c35fe487c05dddbe3ec754}

\item 
\hypertarget{a00759_a9f14fd97960b1e71b939c658f8a23dbc}{void {\bfseries deselect} (unsigned int \+\_\+p\+Idx)}\label{a00759_a9f14fd97960b1e71b939c658f8a23dbc}

\item 
\hypertarget{a00759_af362f4861e3d25cf22b3352286d94562}{bool {\bfseries selected} (unsigned int \+\_\+p\+Idx) const }\label{a00759_af362f4861e3d25cf22b3352286d94562}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00759_ade839c50a014225547542e21dad75eff}{{\footnotesize template$<$class Prop\+T $>$ }\\void {\bfseries request\+\_\+prop} (unsigned int \&\+\_\+ref\+\_\+count, Prop\+T \&\+\_\+prop)}\label{a00759_ade839c50a014225547542e21dad75eff}

\item 
\hypertarget{a00759_a46cb9a729a91924d3b47737ac214eb26}{{\footnotesize template$<$class Prop\+T $>$ }\\void {\bfseries release\+\_\+prop} (unsigned int \&\+\_\+ref\+\_\+count, Prop\+T \&\+\_\+prop)}\label{a00759_a46cb9a729a91924d3b47737ac214eb26}

\item 
\hypertarget{a00759_a7faafac44079f4cd0163e9519dfb4598}{void {\bfseries create\+Uniform\+Interpolating\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)}\label{a00759_a7faafac44079f4cd0163e9519dfb4598}

\item 
\hypertarget{a00759_a56484d33666c9724bfcab37b8fcc90b4}{void {\bfseries create\+Uniform\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)}\label{a00759_a56484d33666c9724bfcab37b8fcc90b4}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a00759_ac65d6909fadc839ef8a88abd75665e46}{std\+::vector$<$ unsigned char $>$ {\bfseries selections\+\_\+}}\label{a00759_ac65d6909fadc839ef8a88abd75665e46}

\item 
\hypertarget{a00759_a11e574d9a41c4f6978c841bc9b7b519f}{unsigned int {\bfseries ref\+\_\+count\+\_\+selections\+\_\+}}\label{a00759_a11e574d9a41c4f6978c841bc9b7b519f}

\item 
\hypertarget{a00759_aca17f7931b4f1d22dae5e285d5310722}{std\+::vector$<$ Scalar $>$ {\bfseries knots\+\_\+}}\label{a00759_aca17f7931b4f1d22dae5e285d5310722}

\item 
\hypertarget{a00759_a2cb48e3eac5ff0afe9a6302fe1ab0eb8}{Knotvector\+Type {\bfseries knotvector\+Type\+\_\+}}\label{a00759_a2cb48e3eac5ff0afe9a6302fe1ab0eb8}

\item 
\hypertarget{a00759_a69ae92abd5243634dba8bec7a6e9d4b8}{unsigned int {\bfseries num\+\_\+control\+\_\+points\+\_\+}}\label{a00759_a69ae92abd5243634dba8bec7a6e9d4b8}

\item 
\hypertarget{a00759_a8846405a33c1771a8cb6b5c5e2fd4ab2}{unsigned int {\bfseries spline\+\_\+degree\+\_\+}}\label{a00759_a8846405a33c1771a8cb6b5c5e2fd4ab2}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Scalar$>$class A\+C\+G\+::\+Knotvector\+T$<$ Scalar $>$}

A knotvector class for use with splines 

Definition at line 84 of file Knotvector\+T.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a00759_a35a53518d4e8f1922b75c2a2d2ee0412}{\index{A\+C\+G\+::\+Knotvector\+T@{A\+C\+G\+::\+Knotvector\+T}!operator()@{operator()}}
\index{operator()@{operator()}!A\+C\+G\+::\+Knotvector\+T@{A\+C\+G\+::\+Knotvector\+T}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar$>$ Scalar\& {\bf A\+C\+G\+::\+Knotvector\+T}$<$ Scalar $>$\+::operator() (
\begin{DoxyParamCaption}
\item[{unsigned int}]{\+\_\+index}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00759_a35a53518d4e8f1922b75c2a2d2ee0412}


returns a reference to the \+\_\+index'th knot 


\begin{DoxyParams}{Parameters}
{\em \+\_\+index} & The knot index \\
\hline
\end{DoxyParams}


Definition at line 136 of file Knotvector\+T.\+hh.

\hypertarget{a00759_a562b1866b6d1934b9a1f11009101f7e0}{\index{A\+C\+G\+::\+Knotvector\+T@{A\+C\+G\+::\+Knotvector\+T}!operator()@{operator()}}
\index{operator()@{operator()}!A\+C\+G\+::\+Knotvector\+T@{A\+C\+G\+::\+Knotvector\+T}}
\subsubsection[{operator()}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename Scalar$>$ const Scalar\& {\bf A\+C\+G\+::\+Knotvector\+T}$<$ Scalar $>$\+::operator() (
\begin{DoxyParamCaption}
\item[{unsigned int}]{\+\_\+index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{a00759_a562b1866b6d1934b9a1f11009101f7e0}


returns a const reference to the \+\_\+index'th knot 


\begin{DoxyParams}{Parameters}
{\em \+\_\+index} & The knot index \\
\hline
\end{DoxyParams}


Definition at line 145 of file Knotvector\+T.\+hh.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Object\+Types/\+Knotvector/Knotvector\+T.\+hh\item 
Object\+Types/\+Knotvector/Knotvector\+T.\+cc\end{DoxyCompactItemize}
