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


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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_adc5e3f583a8804b3f926815e1281e11a}\label{classACG_1_1KnotvectorT_adc5e3f583a8804b3f926815e1281e11a}} 
enum {\bfseries Knotvector\+Type} \{ {\bfseries U\+N\+I\+F\+O\+R\+M\+\_\+\+I\+N\+T\+E\+R\+P\+OL} = 0, 
{\bfseries U\+N\+I\+F\+O\+RM} = 1
 \}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a688e8cd77fc82e676be1769431dee31b}\label{classACG_1_1KnotvectorT_a688e8cd77fc82e676be1769431dee31b}} 
\hyperlink{classACG_1_1KnotvectorT_a688e8cd77fc82e676be1769431dee31b}{KnotvectorT} ()
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a1c3ff99f0a17825687a7a477955ce2ff}\label{classACG_1_1KnotvectorT_a1c3ff99f0a17825687a7a477955ce2ff}} 
\hyperlink{classACG_1_1KnotvectorT_a1c3ff99f0a17825687a7a477955ce2ff}{KnotvectorT} (const \hyperlink{classACG_1_1KnotvectorT}{KnotvectorT} \&\+\_\+knotvec)
\begin{DoxyCompactList}\small\item\em Copy Constructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_acf3d523aed1531b4650574fb114f236d}\label{classACG_1_1KnotvectorT_acf3d523aed1531b4650574fb114f236d}} 
\hyperlink{classACG_1_1KnotvectorT_acf3d523aed1531b4650574fb114f236d}{$\sim$\+KnotvectorT} ()
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a4d4211b6cbdd3ffe38e283dd5bdbad47}\label{classACG_1_1KnotvectorT_a4d4211b6cbdd3ffe38e283dd5bdbad47}} 
void {\bfseries set\+Type} (Knotvector\+Type \+\_\+type)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a645c79a886627455062b321f2071a71a}\label{classACG_1_1KnotvectorT_a645c79a886627455062b321f2071a71a}} 
void {\bfseries create\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_ae474d7b8e10bdc86e005257e09a06cb5}\label{classACG_1_1KnotvectorT_ae474d7b8e10bdc86e005257e09a06cb5}} 
std\+::vector$<$ Scalar $>$ \& {\bfseries get\+Knotvector} ()
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_ac3c79181e732c4d16e710f737fa3ddce}\label{classACG_1_1KnotvectorT_ac3c79181e732c4d16e710f737fa3ddce}} 
const std\+::vector$<$ Scalar $>$ \& {\bfseries get\+Knotvector} () const
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a30a5ca76541cb60b71c892b8f684481e}\label{classACG_1_1KnotvectorT_a30a5ca76541cb60b71c892b8f684481e}} 
unsigned int {\bfseries size} () const
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a3522dbc766584230fca73a7afc86e39b}\label{classACG_1_1KnotvectorT_a3522dbc766584230fca73a7afc86e39b}} 
Scalar {\bfseries get\+Knot} (unsigned int \+\_\+index) const
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_ac044a5d8bf46354e70be24a231cc0326}\label{classACG_1_1KnotvectorT_ac044a5d8bf46354e70be24a231cc0326}} 
void {\bfseries set\+Knotvector} (const std\+::vector$<$ Scalar $>$ \&\+\_\+knots)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a3e159840b81acf02d2819f1f69040f8f}\label{classACG_1_1KnotvectorT_a3e159840b81acf02d2819f1f69040f8f}} 
void {\bfseries resize} (unsigned int \+\_\+size)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a14d6bd2842a69e3799076857eade82c0}\label{classACG_1_1KnotvectorT_a14d6bd2842a69e3799076857eade82c0}} 
void {\bfseries insert\+Knot} (unsigned int \+\_\+index, const Scalar \+\_\+knot)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a8360c15bc41b709a04eb44daa19bd80a}\label{classACG_1_1KnotvectorT_a8360c15bc41b709a04eb44daa19bd80a}} 
void {\bfseries add\+Knot} (Scalar \+\_\+knot)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_abf0cce4392e6085f1d1b46973b4314fc}\label{classACG_1_1KnotvectorT_abf0cce4392e6085f1d1b46973b4314fc}} 
void {\bfseries set\+Knot} (unsigned int \+\_\+index, Scalar \+\_\+knot)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_af8abd152d8d7be5e5414743adbe69a25}\label{classACG_1_1KnotvectorT_af8abd152d8d7be5e5414743adbe69a25}} 
void {\bfseries delete\+Knot} (unsigned int \+\_\+index)
\item 
Scalar \& \hyperlink{classACG_1_1KnotvectorT_a35a53518d4e8f1922b75c2a2d2ee0412}{operator()} (unsigned int \+\_\+index)
\begin{DoxyCompactList}\small\item\em returns a reference to the \+\_\+index\textquotesingle{}th knot \end{DoxyCompactList}\item 
const Scalar \& \hyperlink{classACG_1_1KnotvectorT_a62065e465dc44bdc30d627bec7609e35}{operator()} (unsigned int \+\_\+index) const
\begin{DoxyCompactList}\small\item\em returns a const reference to the \+\_\+index\textquotesingle{}th knot \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a2f7e01d62557fa4f50d3ed9c1f40c9ab}\label{classACG_1_1KnotvectorT_a2f7e01d62557fa4f50d3ed9c1f40c9ab}} 
void {\bfseries clear} ()
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_aeeb310ba9a68e0aa192480e870821c15}\label{classACG_1_1KnotvectorT_aeeb310ba9a68e0aa192480e870821c15}} 
void {\bfseries request\+\_\+selections} ()
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a528dde7ddb27289124a341e0a934488e}\label{classACG_1_1KnotvectorT_a528dde7ddb27289124a341e0a934488e}} 
void {\bfseries release\+\_\+selections} ()
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a13926b22df97cf3448d422b361bfde0e}\label{classACG_1_1KnotvectorT_a13926b22df97cf3448d422b361bfde0e}} 
bool {\bfseries selections\+\_\+available} () const
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a90a6b8f396bbc7925d9e188a4c3b27b5}\label{classACG_1_1KnotvectorT_a90a6b8f396bbc7925d9e188a4c3b27b5}} 
unsigned char \& {\bfseries selection} (unsigned int \+\_\+i)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_abeee276dd04906a05a6fd180007f3688}\label{classACG_1_1KnotvectorT_abeee276dd04906a05a6fd180007f3688}} 
const unsigned char \& {\bfseries selection} (unsigned int \+\_\+i) const
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a2dd10fc283c35fe487c05dddbe3ec754}\label{classACG_1_1KnotvectorT_a2dd10fc283c35fe487c05dddbe3ec754}} 
void {\bfseries select} (unsigned int \+\_\+p\+Idx)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a9f14fd97960b1e71b939c658f8a23dbc}\label{classACG_1_1KnotvectorT_a9f14fd97960b1e71b939c658f8a23dbc}} 
void {\bfseries deselect} (unsigned int \+\_\+p\+Idx)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a430624ed4c4fae3513551324d9746cef}\label{classACG_1_1KnotvectorT_a430624ed4c4fae3513551324d9746cef}} 
bool {\bfseries selected} (unsigned int \+\_\+p\+Idx) const
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_ade839c50a014225547542e21dad75eff}\label{classACG_1_1KnotvectorT_ade839c50a014225547542e21dad75eff}} 
{\footnotesize template$<$class PropT $>$ }\\void {\bfseries request\+\_\+prop} (unsigned int \&\+\_\+ref\+\_\+count, PropT \&\+\_\+prop)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a46cb9a729a91924d3b47737ac214eb26}\label{classACG_1_1KnotvectorT_a46cb9a729a91924d3b47737ac214eb26}} 
{\footnotesize template$<$class PropT $>$ }\\void {\bfseries release\+\_\+prop} (unsigned int \&\+\_\+ref\+\_\+count, PropT \&\+\_\+prop)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a7faafac44079f4cd0163e9519dfb4598}\label{classACG_1_1KnotvectorT_a7faafac44079f4cd0163e9519dfb4598}} 
void {\bfseries create\+Uniform\+Interpolating\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a56484d33666c9724bfcab37b8fcc90b4}\label{classACG_1_1KnotvectorT_a56484d33666c9724bfcab37b8fcc90b4}} 
void {\bfseries create\+Uniform\+Knots} (unsigned int \+\_\+spline\+Deg, unsigned int \+\_\+dim)
\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_ac65d6909fadc839ef8a88abd75665e46}\label{classACG_1_1KnotvectorT_ac65d6909fadc839ef8a88abd75665e46}} 
std\+::vector$<$ unsigned char $>$ {\bfseries selections\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a11e574d9a41c4f6978c841bc9b7b519f}\label{classACG_1_1KnotvectorT_a11e574d9a41c4f6978c841bc9b7b519f}} 
unsigned int {\bfseries ref\+\_\+count\+\_\+selections\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_aca17f7931b4f1d22dae5e285d5310722}\label{classACG_1_1KnotvectorT_aca17f7931b4f1d22dae5e285d5310722}} 
std\+::vector$<$ Scalar $>$ {\bfseries knots\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a2cb48e3eac5ff0afe9a6302fe1ab0eb8}\label{classACG_1_1KnotvectorT_a2cb48e3eac5ff0afe9a6302fe1ab0eb8}} 
Knotvector\+Type {\bfseries knotvector\+Type\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a69ae92abd5243634dba8bec7a6e9d4b8}\label{classACG_1_1KnotvectorT_a69ae92abd5243634dba8bec7a6e9d4b8}} 
unsigned int {\bfseries num\+\_\+control\+\_\+points\+\_\+}
\item 
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a8846405a33c1771a8cb6b5c5e2fd4ab2}\label{classACG_1_1KnotvectorT_a8846405a33c1771a8cb6b5c5e2fd4ab2}} 
unsigned int {\bfseries spline\+\_\+degree\+\_\+}
\end{DoxyCompactItemize}


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

A knotvector class for use with splines 

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{classACG_1_1KnotvectorT_a35a53518d4e8f1922b75c2a2d2ee0412}\label{classACG_1_1KnotvectorT_a35a53518d4e8f1922b75c2a2d2ee0412}} 
\index{A\+C\+G\+::\+KnotvectorT@{A\+C\+G\+::\+KnotvectorT}!operator()@{operator()}}
\index{operator()@{operator()}!A\+C\+G\+::\+KnotvectorT@{A\+C\+G\+::\+KnotvectorT}}
\subsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily template$<$typename Scalar$>$ \\
Scalar\& \hyperlink{classACG_1_1KnotvectorT}{A\+C\+G\+::\+KnotvectorT}$<$ Scalar $>$\+::operator() (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



returns a reference to the \+\_\+index\textquotesingle{}th knot 


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


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

\mbox{\Hypertarget{classACG_1_1KnotvectorT_a62065e465dc44bdc30d627bec7609e35}\label{classACG_1_1KnotvectorT_a62065e465dc44bdc30d627bec7609e35}} 
\index{A\+C\+G\+::\+KnotvectorT@{A\+C\+G\+::\+KnotvectorT}!operator()@{operator()}}
\index{operator()@{operator()}!A\+C\+G\+::\+KnotvectorT@{A\+C\+G\+::\+KnotvectorT}}
\subsubsection{\texorpdfstring{operator()()}{operator()()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily template$<$typename Scalar$>$ \\
const Scalar\& \hyperlink{classACG_1_1KnotvectorT}{A\+C\+G\+::\+KnotvectorT}$<$ Scalar $>$\+::operator() (\begin{DoxyParamCaption}\item[{unsigned int}]{\+\_\+index }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



returns a const reference to the \+\_\+index\textquotesingle{}th knot 


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


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



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Type-\/\+B\+Spline/\+Object\+Types/\+Knotvector/Knotvector\+T.\+hh\item 
Type-\/\+B\+Spline/\+Object\+Types/\+Knotvector/Knotvector\+T\+\_\+impl.\+hh\end{DoxyCompactItemize}
