\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo}{\section{Get\-Field\-Boundary\-Algo Class Reference}
\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo}\index{Get\-Field\-Boundary\-Algo@{Get\-Field\-Boundary\-Algo}}
}


{\ttfamily \#include $<$Get\-Field\-Boundary\-Algo.\-h$>$}

Inheritance diagram for Get\-Field\-Boundary\-Algo\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ad9507658c6d3711e6e7e5298d310d025}{Get\-Field\-Boundary\-Algo} ()
\item 
bool \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a01debdacc9c9ffdcf9019214025d7b98}{run} (\hyperlink{namespace_s_c_i_run_ae62efffc02ce1c5a899048c76e4411bd}{Field\-Handle} input, \hyperlink{namespace_s_c_i_run_ae62efffc02ce1c5a899048c76e4411bd}{Field\-Handle} \&output, \hyperlink{namespace_s_c_i_run_1_1_core_1_1_datatypes_ab3398b10244bf021a505b6602fdeb22a}{Datatypes\-::\-Matrix\-Handle} \&mapping) const 
\begin{DoxyCompactList}\small\item\em With mapping. \end{DoxyCompactList}\item 
bool \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ab2d77aaad4e697e1513a7fef73826782}{run} (\hyperlink{namespace_s_c_i_run_ae62efffc02ce1c5a899048c76e4411bd}{Field\-Handle} input, \hyperlink{namespace_s_c_i_run_ae62efffc02ce1c5a899048c76e4411bd}{Field\-Handle} \&output)
\begin{DoxyCompactList}\small\item\em Without mapping. \end{DoxyCompactList}\item 
\hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_algorithm_output}{Algorithm\-Output} \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ae2dbf4ad18790ed52b6ba5f2ce34561c}{run\-\_\-generic} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_algorithm_input}{Algorithm\-Input} \&input) const 
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{namespace_s_c_i_run_1_1_core_1_1_algorithms_a49601cf20455a35ffa246563e4773556}{Algorithm\-Output\-Name} \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a1f8596d570183b800af3a8897870f8a8}{Boundary\-Field}
\item 
static \hyperlink{namespace_s_c_i_run_1_1_core_1_1_algorithms_a49601cf20455a35ffa246563e4773556}{Algorithm\-Output\-Name} \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a59794855359fc6e76138837ced3af3f9}{Mapping\-Matrix}
\end{DoxyCompactItemize}
\subsection*{Additional Inherited Members}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ad9507658c6d3711e6e7e5298d310d025}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!Get\-Field\-Boundary\-Algo@{Get\-Field\-Boundary\-Algo}}
\index{Get\-Field\-Boundary\-Algo@{Get\-Field\-Boundary\-Algo}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{Get\-Field\-Boundary\-Algo}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Get\-Field\-Boundary\-Algo} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ad9507658c6d3711e6e7e5298d310d025}


\subsection{Member Function Documentation}
\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a01debdacc9c9ffdcf9019214025d7b98}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!run@{run}}
\index{run@{run}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{run}]{\setlength{\rightskip}{0pt plus 5cm}bool run (
\begin{DoxyParamCaption}
\item[{{\bf Field\-Handle}}]{input, }
\item[{{\bf Field\-Handle} \&}]{output, }
\item[{{\bf Datatypes\-::\-Matrix\-Handle} \&}]{mapping}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a01debdacc9c9ffdcf9019214025d7b98}


With mapping. 

\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ab2d77aaad4e697e1513a7fef73826782}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!run@{run}}
\index{run@{run}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{run}]{\setlength{\rightskip}{0pt plus 5cm}bool run (
\begin{DoxyParamCaption}
\item[{{\bf Field\-Handle}}]{input, }
\item[{{\bf Field\-Handle} \&}]{output}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ab2d77aaad4e697e1513a7fef73826782}


Without mapping. 

A copy of the algorithm without creating the mapping matrix. Need this for the various algorithms that only use the boundary to project nodes on. Define types we need for mapping

Check whether we have an input field

Figure out what the input type and output type have to be

We do not yet support Quadratic and Cubic Meshes here

Figure out which type of field the output is\-:

Check whether we could make a conversion

Create the output field

Get the virtual interfaces\-:

These are all virtual iterators, virtual index\-\_\-types and array\-\_\-types

This algorithm was copy from the original dynamic compiled version and was slightly adapted to work here\-:

Copying values \hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ae2dbf4ad18790ed52b6ba5f2ce34561c}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!run\-\_\-generic@{run\-\_\-generic}}
\index{run\-\_\-generic@{run\-\_\-generic}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{run\-\_\-generic}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Algorithm\-Output} run\-\_\-generic (
\begin{DoxyParamCaption}
\item[{const {\bf Algorithm\-Input} \&}]{input}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_ae2dbf4ad18790ed52b6ba5f2ce34561c}


Implements \hyperlink{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_algorithm_interface_abf1160cbc2d53c212909224c08e98c08}{Algorithm\-Interface}.



\subsection{Member Data Documentation}
\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a1f8596d570183b800af3a8897870f8a8}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!Boundary\-Field@{Boundary\-Field}}
\index{Boundary\-Field@{Boundary\-Field}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{Boundary\-Field}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Algorithm\-Output\-Name} Boundary\-Field\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a1f8596d570183b800af3a8897870f8a8}
\hypertarget{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a59794855359fc6e76138837ced3af3f9}{\index{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}!Mapping\-Matrix@{Mapping\-Matrix}}
\index{Mapping\-Matrix@{Mapping\-Matrix}!SCIRun::Core::Algorithms::Fields::GetFieldBoundaryAlgo@{S\-C\-I\-Run\-::\-Core\-::\-Algorithms\-::\-Fields\-::\-Get\-Field\-Boundary\-Algo}}
\subsubsection[{Mapping\-Matrix}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Algorithm\-Output\-Name} Mapping\-Matrix\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_core_1_1_algorithms_1_1_fields_1_1_get_field_boundary_algo_a59794855359fc6e76138837ced3af3f9}


The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
Core/\-Algorithms/\-Legacy/\-Fields/\-Mesh\-Derivatives/\hyperlink{_get_field_boundary_algo_8h}{Get\-Field\-Boundary\-Algo.\-h}\item 
Core/\-Algorithms/\-Legacy/\-Fields/\-Mesh\-Derivatives/\hyperlink{_get_field_boundary_algo_8cc}{Get\-Field\-Boundary\-Algo.\-cc}\end{DoxyCompactItemize}
