\section{R\+Tree\+Descent\+Heuristic Class Reference}
\label{classmlpack_1_1tree_1_1RTreeDescentHeuristic}\index{R\+Tree\+Descent\+Heuristic@{R\+Tree\+Descent\+Heuristic}}


When descending a \doxyref{Rectangle\+Tree}{p.}{classmlpack_1_1tree_1_1RectangleTree} to insert a point, we need to have a way to choose a child node when the point isn\textquotesingle{}t enclosed by any of them.  


\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$typename Tree\+Type $>$ }\\static size\+\_\+t \textbf{ Choose\+Descent\+Node} (const Tree\+Type $\ast$node, const size\+\_\+t point)
\begin{DoxyCompactList}\small\item\em Evaluate the node using a heuristic. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename Tree\+Type $>$ }\\static size\+\_\+t \textbf{ Choose\+Descent\+Node} (const Tree\+Type $\ast$node, const Tree\+Type $\ast$inserted\+Node)
\begin{DoxyCompactList}\small\item\em Evaluate the node using a heuristic. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
When descending a \doxyref{Rectangle\+Tree}{p.}{classmlpack_1_1tree_1_1RectangleTree} to insert a point, we need to have a way to choose a child node when the point isn\textquotesingle{}t enclosed by any of them. 

This heuristic is used to do so. 

Definition at line 26 of file r\+\_\+tree\+\_\+descent\+\_\+heuristic.\+hpp.



\subsection{Member Function Documentation}
\mbox{\label{classmlpack_1_1tree_1_1RTreeDescentHeuristic_a8e256767c1051c319d839423802523d5}} 
\index{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic@{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic}!Choose\+Descent\+Node@{Choose\+Descent\+Node}}
\index{Choose\+Descent\+Node@{Choose\+Descent\+Node}!mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic@{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic}}
\subsubsection{Choose\+Descent\+Node()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily static size\+\_\+t Choose\+Descent\+Node (\begin{DoxyParamCaption}\item[{const Tree\+Type $\ast$}]{node,  }\item[{const size\+\_\+t}]{point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Evaluate the node using a heuristic. 

The heuristic guarantees two things\+:


\begin{DoxyEnumerate}
\item If point is contained in (or on) the bound, the value returned is zero.
\item If the point is not contained in (or on) the bound, the value returned is greater than zero.
\end{DoxyEnumerate}


\begin{DoxyParams}{Parameters}
{\em node} & The node that is being evaluated. \\
\hline
{\em point} & The index of the point that is being inserted. \\
\hline
\end{DoxyParams}
\mbox{\label{classmlpack_1_1tree_1_1RTreeDescentHeuristic_aa91503da5ab453e1a2e13cde6deded48}} 
\index{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic@{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic}!Choose\+Descent\+Node@{Choose\+Descent\+Node}}
\index{Choose\+Descent\+Node@{Choose\+Descent\+Node}!mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic@{mlpack\+::tree\+::\+R\+Tree\+Descent\+Heuristic}}
\subsubsection{Choose\+Descent\+Node()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily static size\+\_\+t Choose\+Descent\+Node (\begin{DoxyParamCaption}\item[{const Tree\+Type $\ast$}]{node,  }\item[{const Tree\+Type $\ast$}]{inserted\+Node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Evaluate the node using a heuristic. 

The heuristic guarantees two things\+:


\begin{DoxyEnumerate}
\item If point is contained in (or on) the bound, the value returned is zero.
\item If the point is not contained in (or on) the bound, the value returned is greater than zero.
\end{DoxyEnumerate}


\begin{DoxyParams}{Parameters}
{\em node} & The node that is being evaluated. \\
\hline
{\em inserted\+Node} & The node that is being inserted. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
/var/www/mlpack.\+ratml.\+org/mlpack.\+org/\+\_\+src/mlpack-\/3.\+3.\+2/src/mlpack/core/tree/rectangle\+\_\+tree/\textbf{ r\+\_\+tree\+\_\+descent\+\_\+heuristic.\+hpp}\end{DoxyCompactItemize}
