\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh}{\section{Struct\-Quad\-Surf\-Mesh$<$ Basis $>$ Class Template Reference}
\label{class_s_c_i_run_1_1_struct_quad_surf_mesh}\index{Struct\-Quad\-Surf\-Mesh$<$ Basis $>$@{Struct\-Quad\-Surf\-Mesh$<$ Basis $>$}}
}


Declarations for virtual interface.  




{\ttfamily \#include $<$Struct\-Quad\-Surf\-Mesh.\-h$>$}

Inheritance diagram for Struct\-Quad\-Surf\-Mesh$<$ Basis $>$\-:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.835924cm]{class_s_c_i_run_1_1_struct_quad_surf_mesh}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_1_1_elem_data}{Elem\-Data}
\end{DoxyCompactItemize}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef \hyperlink{namespace_s_c_i_run_a24ade047e7536e188f5ea3a9d93c5ced}{S\-C\-I\-Run\-::index\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a001fcd631f4d177ac2602390127fd77b}{under\-\_\-type}
\begin{DoxyCompactList}\small\item\em Types that change depending on 32 or 64bits. \end{DoxyCompactList}\item 
typedef \hyperlink{namespace_s_c_i_run_a24ade047e7536e188f5ea3a9d93c5ced}{S\-C\-I\-Run\-::index\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{index\-\_\-type}
\item 
typedef \hyperlink{namespace_s_c_i_run_aa710666634ca42a6ab6344c62a5c784f}{S\-C\-I\-Run\-::size\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type}
\item 
typedef \hyperlink{namespace_s_c_i_run_a6f30c9fd27c9be8e7bc5ad2bb9fa45e3}{S\-C\-I\-Run\-::mask\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5321d2d1c63a64768e359dcea4cd88ea}{mask\-\_\-type}
\item 
typedef boost\-::shared\-\_\-ptr\\*
$<$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh}{Struct\-Quad\-Surf\-Mesh}$<$ Basis $>$ $>$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a859f7f77f58d7986c0e5f6b6883157dc}{handle\-\_\-type}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5d4a19a74c306d1b57e059eca236ac1e}{Struct\-Quad\-Surf\-Mesh} ()
\item 
\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a40efd384715c401db832fd6a4886c3fc}{Struct\-Quad\-Surf\-Mesh} (\hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} x, \hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} y)
\item 
\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aede95f9889a2b260e4097247cdf4b8b0}{Struct\-Quad\-Surf\-Mesh} (const \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh}{Struct\-Quad\-Surf\-Mesh}$<$ Basis $>$ \&copy)
\item 
virtual \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh}{Struct\-Quad\-Surf\-Mesh} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4e4acf8d47f0a6480a6378ed8325cb8b}{clone} () const 
\item 
virtual \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5521d33516788d8b7a8490908629d32c}{$\sim$\-Struct\-Quad\-Surf\-Mesh} ()
\item 
virtual \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_b_box}{Core\-::\-Geometry\-::\-B\-Box} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad095ad3eb7a81b0d0d11207a1f17f6d}{get\-\_\-bounding\-\_\-box} () const 
\begin{DoxyCompactList}\small\item\em get the mesh statistics \end{DoxyCompactList}\item 
virtual void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae09ad10201c1d834f757325e09d48e86}{transform} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_transform}{Core\-::\-Geometry\-::\-Transform} \&t)
\item 
virtual bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae10005ad150f6e4cbecb652dadb2b7e3}{get\-\_\-dim} (std\-::vector$<$ \hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} $>$ \&) const 
\item 
virtual void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a668955f8fcdfb2d8aeb82180f1c3ecb7}{set\-\_\-dim} (std\-::vector$<$ \hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} $>$ dims)
\item 
virtual int \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab943a51e878d5dcad6e6f871b5112f81}{topology\-\_\-geometry} () const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a31f8021cdfb9cbfc9f1f1d8b243cce15}{get\-\_\-size} (const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&) const 
\begin{DoxyCompactList}\small\item\em Get the size of an element (length, area, volume) \end{DoxyCompactList}\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aea8699d4678a7ef436f72ec54f843d38}{get\-\_\-size} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_edge_a95f1c10493aa1e8c6010821019b62310}{Edge\-::index\-\_\-type} idx) const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a74c2bdd91e4fb0e3b5f64cfd63ab20b0}{get\-\_\-size} (const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Face\-::index\-\_\-type} \&idx) const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9b79737be5777260f3345ddd14d898a4}{get\-\_\-size} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_cell_a258451ba68a2cabf29261d5bb972fe37}{Cell\-::index\-\_\-type}) const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4982acabc161ea1bd17350d1c871eaeb}{get\-\_\-length} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_edge_a95f1c10493aa1e8c6010821019b62310}{Edge\-::index\-\_\-type} idx) const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a68b668aeae5f2a2e6d8eba2a02f1bf4c}{get\-\_\-area} (const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Face\-::index\-\_\-type} \&idx) const 
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8165ff375548426f72153196f1d200c6}{get\-\_\-volume} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_cell_a258451ba68a2cabf29261d5bb972fe37}{Cell\-::index\-\_\-type}) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a25ae478f50a089ce7c06f92530d81993}{get\-\_\-normal} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_vector}{Core\-::\-Geometry\-::\-Vector} \&, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_accb01fa0c1f17811924a706d292cfb2c}{get\-\_\-normal} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_vector}{Core\-::\-Geometry\-::\-Vector} \&result, std\-::vector$<$ double $>$ \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} eidx, unsigned int)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab75cf6892887aea903e50bd70002197b}{get\-\_\-center} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&) const 
\begin{DoxyCompactList}\small\item\em get the center point (in object space) of an element \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aa452a65321c7a3e326ecc58b0cd589c1}{get\-\_\-center} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_edge_a95f1c10493aa1e8c6010821019b62310}{Edge\-::index\-\_\-type}) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac4a24d44b5b8a907111fdcec7d513f98}{get\-\_\-center} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Face\-::index\-\_\-type} \&) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a11608d79413bdf00ae85188ae8709f5d}{get\-\_\-center} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_cell_a258451ba68a2cabf29261d5bb972fe37}{Cell\-::index\-\_\-type}) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada55ba877bdfdd6c3670616bbab47108}{locate} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&node, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a81215e665ecfb1c610658457a9a5cad7}{locate} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_edge_a95f1c10493aa1e8c6010821019b62310}{Edge\-::index\-\_\-type} \&edge, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac5dcfea678ce3ec99caaeaa4234304ea}{locate} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Face\-::index\-\_\-type} \&face, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad2a40dcbbf66d17b5b7a21f4c801586b}{locate} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_cell_a258451ba68a2cabf29261d5bb972fe37}{Cell\-::index\-\_\-type} \&, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&) const 
\item 
{\footnotesize template$<$class A\-R\-R\-A\-Y $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a19647fad9a0f71d71c6e4368ba121579}{locate} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} \&elem, A\-R\-R\-A\-Y \&coords, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a7a234df1aaed7c7812f8c434909e221f}{find\-\_\-closest\-\_\-node} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&node, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a049c34d9c096417e81a1eb51a27a2d47}{find\-\_\-closest\-\_\-node} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&node, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p, double maxdist) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad489f496eb60f774b70a9bd2fc5bc77b}{find\-\_\-closest\-\_\-elem} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} \&elem, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aee163180fa76a407091c9f763bfbdbf0}{find\-\_\-closest\-\_\-elems} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, std\-::vector$<$ typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} $>$ \&elems, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
int \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a495fc86b42c32ca3e94497cd05835b2f}{get\-\_\-weights} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_aff5fb7c70a8277f46a5e4d49fd14eb19}{Node\-::array\-\_\-type} \&l, double $\ast$w)
\item 
int \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7f9faae6b66bc2c74676f6f2dbbdf08}{get\-\_\-weights} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_edge_a3917ee57e9b8e1b58b1e9716405872d6}{Edge\-::array\-\_\-type} \&, double $\ast$)
\item 
int \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a820a5eaf8d99047f2f04696bb1700792}{get\-\_\-weights} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a3917ee57e9b8e1b58b1e9716405872d6}{Face\-::array\-\_\-type} \&l, double $\ast$w)
\item 
int \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a663cd040262fc138d76021e4e95a956f}{get\-\_\-weights} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_cell_a3917ee57e9b8e1b58b1e9716405872d6}{Cell\-::array\-\_\-type} \&, double $\ast$)
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8e09217c21c4570188ed176f8fe9f56d}{inside3\-\_\-p} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Face\-::index\-\_\-type} i, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a660d6ec1f6aad50b04f2beee84a5fc2b}{get\-\_\-point} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada7931538377462d50dfe833d9564a60}{point}, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&index) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_afc1ee5b49912949bc0957a5702062810}{set\-\_\-point} (const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada7931538377462d50dfe833d9564a60}{point}, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&index)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac3d0aa99b455eeed1838b77a1d424444}{get\-\_\-random\-\_\-point} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&, const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} \&, \hyperlink{class_s_c_i_run_1_1_field_r_n_g}{Field\-R\-N\-G} \&rng) const 
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a1f2a060a4f734c33d56a31f28ed504ce}{pwl\-\_\-approx\-\_\-edge} (std\-::vector$<$ std\-::vector$<$ double $>$ $>$ \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type}, unsigned which\-\_\-edge, unsigned div\-\_\-per\-\_\-unit) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a00c91d556a4deb70a99266a832fdf55a}{get\-\_\-coords} (V\-E\-C\-T\-O\-R \&coords, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R $>$ }\\void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01aa0f6d22996ef1aed1ea4913ed7db9}{interpolate} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&pt, const V\-E\-C\-T\-O\-R \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R1 , class V\-E\-C\-T\-O\-R2 $>$ }\\void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a28e61895e5b510ccfa894a6705b8f8fd}{derivate} (const V\-E\-C\-T\-O\-R1 \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx, V\-E\-C\-T\-O\-R2 \&J) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R $>$ }\\double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_acb8b874ba2522a504e392a05f92bc07d}{det\-\_\-jacobian} (const V\-E\-C\-T\-O\-R \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R $>$ }\\void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a62199aa6e67c8075d19a74ea854aaa34}{jacobian} (const V\-E\-C\-T\-O\-R \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx, double $\ast$J) const 
\item 
{\footnotesize template$<$class V\-E\-C\-T\-O\-R $>$ }\\double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6fe8609e671b91bc1bcf32a9a0eca869}{inverse\-\_\-jacobian} (const V\-E\-C\-T\-O\-R \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} idx, double $\ast$Ji) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4c25b13391bb9fa355f3c4c065f70285}{scaled\-\_\-jacobian\-\_\-metric} (const I\-N\-D\-E\-X idx) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a43ff4e8232063b6cc31ad531d6e4c753}{jacobian\-\_\-metric} (const I\-N\-D\-E\-X idx) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47a7c84c3c9d662a470a11fe0fba5ae3}{inside} (I\-N\-D\-E\-X idx, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a54d8d066582b7ed3ddfdd599978a515b}{locate\-\_\-node} (I\-N\-D\-E\-X \&node, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_afaf6c6d35d2545059157cf140ed36776}{locate\-\_\-edge} (I\-N\-D\-E\-X \&idx, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\begin{DoxyCompactList}\small\item\em This is currently implemented as an exhaustive search. \end{DoxyCompactList}\item 
{\footnotesize template$<$class I\-N\-D\-E\-X $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1d1bda6d91965bde0786d911d8fbe2b}{locate\-\_\-elem} (I\-N\-D\-E\-X \&elem, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
{\footnotesize template$<$class I\-N\-D\-E\-X , class A\-R\-R\-A\-Y $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a017ba6648ba3db8062e6cf6822eaf2de}{locate\-\_\-elem} (I\-N\-D\-E\-X \&elem, A\-R\-R\-A\-Y \&coords, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
{\footnotesize template$<$class A\-R\-R\-A\-Y $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c1f3c1e932c7eb7ca4bfea92a9e00d2}{find\-\_\-closest\-\_\-elem} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, A\-R\-R\-A\-Y \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} \&elem, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p) const 
\item 
{\footnotesize template$<$class A\-R\-R\-A\-Y $>$ }\\bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af9a55fb50c30dc6755aeda6073ed4e92}{find\-\_\-closest\-\_\-elem} (double \&pdist, \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&result, A\-R\-R\-A\-Y \&coords, typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} \&elem, const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \&p, double maxdist) const 
\item 
virtual void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a0ff134d5d4ba9d3a2f04f66f369fc96a}{io} (\hyperlink{class_s_c_i_run_1_1_piostream}{Piostream} \&)
\begin{DoxyCompactList}\small\item\em Export this class using the old Pio system. \end{DoxyCompactList}\item 
virtual bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_acc93290b994235279b63d728151df239}{synchronize} (\hyperlink{class_s_c_i_run_1_1_image_mesh_a5321d2d1c63a64768e359dcea4cd88ea}{mask\-\_\-type} sync)
\item 
virtual bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9642b864911449427a8756bcfdf1867f}{unsynchronize} (\hyperlink{class_s_c_i_run_1_1_image_mesh_a5321d2d1c63a64768e359dcea4cd88ea}{mask\-\_\-type} sync)
\item 
bool \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af978e703d08821c9160bf00ac4e6386b}{clear\-\_\-synchronization} ()
\item 
virtual const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c9eb8821e8ffc89c1ff59eec330d329}{get\-\_\-type\-\_\-description} () const 
\item 
\hyperlink{class_s_c_i_run_1_1_array2}{Array2}$<$ \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} $>$ \& \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a570ad3efd4f5a501c1d89ae0a4eec589}{get\-\_\-points} ()
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a75b6699b758b6f0ba735c5d92db767eb}{get\-\_\-epsilon} () const 
\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static const std\-::string \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a97d19d6120cf44d7ad4973bc733b9513}{type\-\_\-name} (int n=-\/1)
\begin{DoxyCompactList}\small\item\em \hyperlink{namespace_s_c_i_run_1_1_core}{Core} functionality for getting the name of a templated mesh class. \end{DoxyCompactList}\item 
static const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af77f5d9fd93144811cb7328ad0cc5610}{node\-\_\-type\-\_\-description} ()
\item 
static const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a56bc49b7484ad6801c756a5130f369db}{edge\-\_\-type\-\_\-description} ()
\item 
static const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1f0583e2be2464212af2738496bc9f2}{face\-\_\-type\-\_\-description} ()
\item 
static const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5c4814aff7349c8be9c27080391795f4}{cell\-\_\-type\-\_\-description} ()
\item 
static const \hyperlink{class_s_c_i_run_1_1_type_description}{Type\-Description} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6d89dc8845171249747e27c6f3c7ca61}{elem\-\_\-type\-\_\-description} ()
\item 
static \hyperlink{class_s_c_i_run_1_1_persistent}{Persistent} $\ast$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3962e3b58233dbce72f2bdd5d8a902da}{maker} ()
\begin{DoxyCompactList}\small\item\em This function returns a maker for Pio. \end{DoxyCompactList}\item 
static \hyperlink{namespace_s_c_i_run_a39a46f36f828951573c78467988f2e40}{Mesh\-Handle} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac208373ee890064a45a199ad89705f2e}{mesh\-\_\-maker} ()
\begin{DoxyCompactList}\small\item\em This function returns a handle for the virtual interface. \end{DoxyCompactList}\item 
static \hyperlink{namespace_s_c_i_run_a39a46f36f828951573c78467988f2e40}{Mesh\-Handle} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a45103bd4f2fdaf4a72f92d26fc037dbe}{structquadsurf\-\_\-maker} (\hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} x, \hyperlink{class_s_c_i_run_1_1_image_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{size\-\_\-type} y)
\begin{DoxyCompactList}\small\item\em This function returns a handle for the virtual interface. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{class_s_c_i_run_1_1_persistent_type_i_d}{Persistent\-Type\-I\-D} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8fb6380de024aea134b9b241205a3568}{type\-\_\-idsqs}
\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a77632ac6292ed713793de184d2e90b96}{compute\-\_\-node\-\_\-grid} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_b_box}{Core\-::\-Geometry\-::\-B\-Box} \&bb)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a090d0492b7de8834b475b3244b68e75e}{compute\-\_\-elem\-\_\-grid} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_b_box}{Core\-::\-Geometry\-::\-B\-Box} \&bb)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47bbe48effb8dad6293c0d18b9c358df}{compute\-\_\-epsilon} (\hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_b_box}{Core\-::\-Geometry\-::\-B\-Box} \&bb)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab55ec731ede55eb0c7285dcf76b0c83f}{compute\-\_\-normals} ()
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad4cf5ec6eb317482f782d3f2170a9745}{insert\-\_\-elem\-\_\-into\-\_\-grid} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} ci)
\begin{DoxyCompactList}\small\item\em Used to recompute data for individual cells. \end{DoxyCompactList}\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6cfd1270aeeaa50bae532a3fdab72b49}{remove\-\_\-elem\-\_\-from\-\_\-grid} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} ci)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6b58c42580acb34966fb02a8c3ef928}{insert\-\_\-node\-\_\-into\-\_\-grid} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} ci)
\item 
void \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aaf2ea60d0a5fed82195f321a3aa94b0e}{remove\-\_\-node\-\_\-from\-\_\-grid} (typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} ci)
\item 
const \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} \& \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada7931538377462d50dfe833d9564a60}{point} (const typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} \&idx)
\item 
\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{index\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc406bc7afff4b87731f0452b8c8f238}{next} (\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{index\-\_\-type} i)
\item 
\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{index\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab067a8a2579d6d33e5f9d8a331c621a3}{prev} (\hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{index\-\_\-type} i)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_s_c_i_run_1_1_array2}{Array2}$<$ \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_point}{Core\-::\-Geometry\-::\-Point} $>$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a39eed8b4014717fc902387292cace329}{points\-\_\-}
\item 
\hyperlink{class_s_c_i_run_1_1_array2}{Array2}$<$ \hyperlink{class_s_c_i_run_1_1_core_1_1_geometry_1_1_vector}{Core\-::\-Geometry\-::\-Vector} $>$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad10e1579c56a692419c261949d9bafe3}{normals\-\_\-}
\item 
boost\-::shared\-\_\-ptr$<$ \hyperlink{class_s_c_i_run_1_1_search_grid_t}{Search\-Grid\-T}\\*
$<$ typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\\*
\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_node_ae5a194aaa51b2cc89ec3a9ae7451bab4}{Node\-::index\-\_\-type} $>$ $>$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a05bdb43827ebefb8386e00a2341ee4fb}{node\-\_\-grid\-\_\-}
\begin{DoxyCompactList}\small\item\em normalized per node \end{DoxyCompactList}\item 
boost\-::shared\-\_\-ptr$<$ \hyperlink{class_s_c_i_run_1_1_search_grid_t}{Search\-Grid\-T}\\*
$<$ typename \hyperlink{class_s_c_i_run_1_1_image_mesh}{Image\-Mesh}$<$ Basis $>$\\*
\-::\hyperlink{struct_s_c_i_run_1_1_image_mesh_1_1_face_a0d8fc11095898a3214741038a65997e0}{Elem\-::index\-\_\-type} $>$ $>$ \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_af797eb1cb834e69db9bf64dc55da6153}{elem\-\_\-grid\-\_\-}
\item 
\hyperlink{class_s_c_i_run_1_1_core_1_1_thread_1_1_mutex}{Core\-::\-Thread\-::\-Mutex} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_aefc830eb9abca24871282163c49683ae}{synchronize\-\_\-lock\-\_\-}
\item 
\hyperlink{class_s_c_i_run_1_1_image_mesh_a5321d2d1c63a64768e359dcea4cd88ea}{mask\-\_\-type} \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc86d01fe8a7a179b693d22ffc5d9df0}{synchronized\-\_\-}
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a2dbee5c3528b25493ecded7e22083138}{epsilon\-\_\-}
\item 
double \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6ff5335c947ed09403995f166a4271a}{epsilon2\-\_\-}
\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class M\-E\-S\-H $>$ }\\class \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01a561fb964d9aefa33cc95a5c95600a}{V\-Struct\-Quad\-Surf\-Mesh}
\begin{DoxyCompactList}\small\item\em Make sure the virtual interface has access. \end{DoxyCompactList}\item 
class \hyperlink{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7bc6a2e9982fc70ba5d70191fc72b0d}{Elem\-Data}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class Basis$>$class S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh$<$ Basis $>$}

Declarations for virtual interface. 

Functions for creating the virtual interface Declare the functions that instantiate the virtual interface

These declarations are needed for a combined dynamic compilation as as well as virtual functions solution. Declare that these can be found in a library that is already precompiled. So dynamic compilation will not instantiate them again. 

\subsection{Member Typedef Documentation}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a859f7f77f58d7986c0e5f6b6883157dc}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!handle\-\_\-type@{handle\-\_\-type}}
\index{handle\-\_\-type@{handle\-\_\-type}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{handle\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}typedef boost\-::shared\-\_\-ptr$<${\bf Struct\-Quad\-Surf\-Mesh}$<$Basis$>$ $>$ {\bf handle\-\_\-type}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a859f7f77f58d7986c0e5f6b6883157dc}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!index\-\_\-type@{index\-\_\-type}}
\index{index\-\_\-type@{index\-\_\-type}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{index\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf S\-C\-I\-Run\-::index\-\_\-type} {\bf index\-\_\-type}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad461b7cfefc669aa88ae8c6189b0550}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5321d2d1c63a64768e359dcea4cd88ea}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!mask\-\_\-type@{mask\-\_\-type}}
\index{mask\-\_\-type@{mask\-\_\-type}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{mask\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf S\-C\-I\-Run\-::mask\-\_\-type} {\bf mask\-\_\-type}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5321d2d1c63a64768e359dcea4cd88ea}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!size\-\_\-type@{size\-\_\-type}}
\index{size\-\_\-type@{size\-\_\-type}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{size\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf S\-C\-I\-Run\-::size\-\_\-type} {\bf size\-\_\-type}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a683c42d4968c7fefbf9e3ac13dd20dd0}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a001fcd631f4d177ac2602390127fd77b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!under\-\_\-type@{under\-\_\-type}}
\index{under\-\_\-type@{under\-\_\-type}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{under\-\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf S\-C\-I\-Run\-::index\-\_\-type} {\bf under\-\_\-type}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a001fcd631f4d177ac2602390127fd77b}


Types that change depending on 32 or 64bits. 



\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5d4a19a74c306d1b57e059eca236ac1e}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}}
\index{Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{Struct\-Quad\-Surf\-Mesh}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Struct\-Quad\-Surf\-Mesh} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5d4a19a74c306d1b57e059eca236ac1e}
Create a new virtual interface for this copy ! all pointers have changed hence create a new ! virtual interface class \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a40efd384715c401db832fd6a4886c3fc}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}}
\index{Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{Struct\-Quad\-Surf\-Mesh}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Struct\-Quad\-Surf\-Mesh} (
\begin{DoxyParamCaption}
\item[{{\bf size\-\_\-type}}]{x, }
\item[{{\bf size\-\_\-type}}]{y}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a40efd384715c401db832fd6a4886c3fc}
Create a new virtual interface for this copy ! all pointers have changed hence create a new ! virtual interface class \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aede95f9889a2b260e4097247cdf4b8b0}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}}
\index{Struct\-Quad\-Surf\-Mesh@{Struct\-Quad\-Surf\-Mesh}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{Struct\-Quad\-Surf\-Mesh}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Struct\-Quad\-Surf\-Mesh} (
\begin{DoxyParamCaption}
\item[{const {\bf Struct\-Quad\-Surf\-Mesh}$<$ Basis $>$ \&}]{copy}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aede95f9889a2b260e4097247cdf4b8b0}
Create a new virtual interface for this copy ! all pointers have changed hence create a new ! virtual interface class \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5521d33516788d8b7a8490908629d32c}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!$\sim$\-Struct\-Quad\-Surf\-Mesh@{$\sim$\-Struct\-Quad\-Surf\-Mesh}}
\index{$\sim$\-Struct\-Quad\-Surf\-Mesh@{$\sim$\-Struct\-Quad\-Surf\-Mesh}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{$\sim$\-Struct\-Quad\-Surf\-Mesh}]{\setlength{\rightskip}{0pt plus 5cm}virtual $\sim${\bf Struct\-Quad\-Surf\-Mesh} (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5521d33516788d8b7a8490908629d32c}


\subsection{Member Function Documentation}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5c4814aff7349c8be9c27080391795f4}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!cell\-\_\-type\-\_\-description@{cell\-\_\-type\-\_\-description}}
\index{cell\-\_\-type\-\_\-description@{cell\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{cell\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Type\-Description} $\ast$ cell\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a5c4814aff7349c8be9c27080391795f4}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af978e703d08821c9160bf00ac4e6386b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!clear\-\_\-synchronization@{clear\-\_\-synchronization}}
\index{clear\-\_\-synchronization@{clear\-\_\-synchronization}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{clear\-\_\-synchronization}]{\setlength{\rightskip}{0pt plus 5cm}bool clear\-\_\-synchronization (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af978e703d08821c9160bf00ac4e6386b}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4e4acf8d47f0a6480a6378ed8325cb8b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!clone@{clone}}
\index{clone@{clone}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{clone}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf Struct\-Quad\-Surf\-Mesh}$\ast$ clone (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4e4acf8d47f0a6480a6378ed8325cb8b}


Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_a32b840e24bd5048d360add47252066aa}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a090d0492b7de8834b475b3244b68e75e}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!compute\-\_\-elem\-\_\-grid@{compute\-\_\-elem\-\_\-grid}}
\index{compute\-\_\-elem\-\_\-grid@{compute\-\_\-elem\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{compute\-\_\-elem\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void compute\-\_\-elem\-\_\-grid (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-B\-Box} \&}]{bb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a090d0492b7de8834b475b3244b68e75e}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47bbe48effb8dad6293c0d18b9c358df}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!compute\-\_\-epsilon@{compute\-\_\-epsilon}}
\index{compute\-\_\-epsilon@{compute\-\_\-epsilon}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{compute\-\_\-epsilon}]{\setlength{\rightskip}{0pt plus 5cm}void compute\-\_\-epsilon (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-B\-Box} \&}]{bb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47bbe48effb8dad6293c0d18b9c358df}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a77632ac6292ed713793de184d2e90b96}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!compute\-\_\-node\-\_\-grid@{compute\-\_\-node\-\_\-grid}}
\index{compute\-\_\-node\-\_\-grid@{compute\-\_\-node\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{compute\-\_\-node\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void compute\-\_\-node\-\_\-grid (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-B\-Box} \&}]{bb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a77632ac6292ed713793de184d2e90b96}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab55ec731ede55eb0c7285dcf76b0c83f}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!compute\-\_\-normals@{compute\-\_\-normals}}
\index{compute\-\_\-normals@{compute\-\_\-normals}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{compute\-\_\-normals}]{\setlength{\rightskip}{0pt plus 5cm}void compute\-\_\-normals (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab55ec731ede55eb0c7285dcf76b0c83f}
1 per node

build table of faces that touch each node

face normals (not normalized) so that magnitude is also the area.

Computing normal per face.

build table of faces that touch each node

Averaging the normals. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a28e61895e5b510ccfa894a6705b8f8fd}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!derivate@{derivate}}
\index{derivate@{derivate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{derivate}]{\setlength{\rightskip}{0pt plus 5cm}void derivate (
\begin{DoxyParamCaption}
\item[{const V\-E\-C\-T\-O\-R1 \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx, }
\item[{V\-E\-C\-T\-O\-R2 \&}]{J}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a28e61895e5b510ccfa894a6705b8f8fd}
Interpolate the derivate of the function, This infact will return the ! jacobian of the local to global coordinate transformation. This function ! is mainly intended for the non linear elements \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_acb8b874ba2522a504e392a05f92bc07d}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!det\-\_\-jacobian@{det\-\_\-jacobian}}
\index{det\-\_\-jacobian@{det\-\_\-jacobian}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{det\-\_\-jacobian}]{\setlength{\rightskip}{0pt plus 5cm}double det\-\_\-jacobian (
\begin{DoxyParamCaption}
\item[{const V\-E\-C\-T\-O\-R \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_acb8b874ba2522a504e392a05f92bc07d}
Get the determinant of the jacobian, which is the local volume of an element ! and is intended to help with the integration of functions over an element. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a56bc49b7484ad6801c756a5130f369db}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!edge\-\_\-type\-\_\-description@{edge\-\_\-type\-\_\-description}}
\index{edge\-\_\-type\-\_\-description@{edge\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{edge\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Type\-Description} $\ast$ edge\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a56bc49b7484ad6801c756a5130f369db}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6d89dc8845171249747e27c6f3c7ca61}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!elem\-\_\-type\-\_\-description@{elem\-\_\-type\-\_\-description}}
\index{elem\-\_\-type\-\_\-description@{elem\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{elem\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}static const {\bf Type\-Description}$\ast$ elem\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6d89dc8845171249747e27c6f3c7ca61}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1f0583e2be2464212af2738496bc9f2}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!face\-\_\-type\-\_\-description@{face\-\_\-type\-\_\-description}}
\index{face\-\_\-type\-\_\-description@{face\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{face\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Type\-Description} $\ast$ face\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1f0583e2be2464212af2738496bc9f2}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad489f496eb60f774b70a9bd2fc5bc77b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}}
\index{find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-elem}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-elem (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} \&}]{elem, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad489f496eb60f774b70a9bd2fc5bc77b}
This function will find the closest element and the location on that element that is the closest \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c1f3c1e932c7eb7ca4bfea92a9e00d2}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}}
\index{find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-elem}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-elem (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{A\-R\-R\-A\-Y \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} \&}]{elem, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c1f3c1e932c7eb7ca4bfea92a9e00d2}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af9a55fb50c30dc6755aeda6073ed4e92}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}}
\index{find\-\_\-closest\-\_\-elem@{find\-\_\-closest\-\_\-elem}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-elem}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-elem (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{A\-R\-R\-A\-Y \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} \&}]{elem, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{double}]{maxdist}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af9a55fb50c30dc6755aeda6073ed4e92}
If there are no nodes we cannot find the closest one

Test the one in face that is an initial guess

As we computed an estimate, we use the Newton's method in the basis functions compute a more refined solution. This function may slow down computation. This piece of code will calculate the coordinates in the local element framework (the newton's method of finding a minimum), then it will project this back T\-H\-I\-S C\-O\-D\-E S\-H\-O\-U\-L\-D B\-E F\-U\-R\-T\-H\-E\-R O\-P\-T\-I\-M\-I\-Z\-E\-D

This looks incorrect -\/ but it is correct We need to do a full shell without any elements that are closer to make sure there no closer elements in neighboring searchgrid cells

As we computed an estimate, we use the Newton's method in the basis functions compute a more refined solution. This function may slow down computation. This piece of code will calculate the coordinates in the local element framework (the newton's method of finding a minimum), then it will project this back T\-H\-I\-S C\-O\-D\-E S\-H\-O\-U\-L\-D B\-E F\-U\-R\-T\-H\-E\-R O\-P\-T\-I\-M\-I\-Z\-E\-D

As we computed an estimate, we use the Newton's method in the basis functions compute a more refined solution. This function may slow down computation. This piece of code will calculate the coordinates in the local element framework (the newton's method of finding a minimum), then it will project this back T\-H\-I\-S C\-O\-D\-E S\-H\-O\-U\-L\-D B\-E F\-U\-R\-T\-H\-E\-R O\-P\-T\-I\-M\-I\-Z\-E\-D \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aee163180fa76a407091c9f763bfbdbf0}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-elems@{find\-\_\-closest\-\_\-elems}}
\index{find\-\_\-closest\-\_\-elems@{find\-\_\-closest\-\_\-elems}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-elems}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-elems (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{std\-::vector$<$ typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} $>$ \&}]{elems, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aee163180fa76a407091c9f763bfbdbf0}
If there are no nodes we cannot find the closest one

This looks incorrect -\/ but it is correct We need to do a full shell without any elements that are closer to make sure there no closer elements \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a7a234df1aaed7c7812f8c434909e221f}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-node@{find\-\_\-closest\-\_\-node}}
\index{find\-\_\-closest\-\_\-node@{find\-\_\-closest\-\_\-node}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-node (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{node, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a7a234df1aaed7c7812f8c434909e221f}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a049c34d9c096417e81a1eb51a27a2d47}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!find\-\_\-closest\-\_\-node@{find\-\_\-closest\-\_\-node}}
\index{find\-\_\-closest\-\_\-node@{find\-\_\-closest\-\_\-node}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{find\-\_\-closest\-\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}bool find\-\_\-closest\-\_\-node (
\begin{DoxyParamCaption}
\item[{double \&}]{pdist, }
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{node, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{double}]{maxdist}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a049c34d9c096417e81a1eb51a27a2d47}
If there are no nodes we cannot find a closest point

Check first guess

This looks incorrect -\/ but it is correct We need to do a full shell without any elements that are closer to make sure there no closer elements in neighboring searchgrid cells

If we are closer than eps$^\wedge$2 we found a node close enough \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a68b668aeae5f2a2e6d8eba2a02f1bf4c}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-area@{get\-\_\-area}}
\index{get\-\_\-area@{get\-\_\-area}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-area}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-area (
\begin{DoxyParamCaption}
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a68b668aeae5f2a2e6d8eba2a02f1bf4c}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad095ad3eb7a81b0d0d11207a1f17f6d}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-bounding\-\_\-box@{get\-\_\-bounding\-\_\-box}}
\index{get\-\_\-bounding\-\_\-box@{get\-\_\-bounding\-\_\-box}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-bounding\-\_\-box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Core\-::\-Geometry\-::\-B\-Box} get\-\_\-bounding\-\_\-box (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aad095ad3eb7a81b0d0d11207a1f17f6d}


get the mesh statistics 



Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_aad095ad3eb7a81b0d0d11207a1f17f6d}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab75cf6892887aea903e50bd70002197b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-center@{get\-\_\-center}}
\index{get\-\_\-center@{get\-\_\-center}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-center}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-center (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab75cf6892887aea903e50bd70002197b}


get the center point (in object space) of an element 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aa452a65321c7a3e326ecc58b0cd589c1}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-center@{get\-\_\-center}}
\index{get\-\_\-center@{get\-\_\-center}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-center}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-center (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{result, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Edge\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aa452a65321c7a3e326ecc58b0cd589c1}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac4a24d44b5b8a907111fdcec7d513f98}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-center@{get\-\_\-center}}
\index{get\-\_\-center@{get\-\_\-center}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-center}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-center (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac4a24d44b5b8a907111fdcec7d513f98}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a11608d79413bdf00ae85188ae8709f5d}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-center@{get\-\_\-center}}
\index{get\-\_\-center@{get\-\_\-center}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-center}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-center (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Cell\-::index\-\_\-type}}]{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a11608d79413bdf00ae85188ae8709f5d}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a00c91d556a4deb70a99266a832fdf55a}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-coords@{get\-\_\-coords}}
\index{get\-\_\-coords@{get\-\_\-coords}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-coords}]{\setlength{\rightskip}{0pt plus 5cm}bool get\-\_\-coords (
\begin{DoxyParamCaption}
\item[{V\-E\-C\-T\-O\-R \&}]{coords, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a00c91d556a4deb70a99266a832fdf55a}
Get the local coordinates for a certain point within an element This function uses a couple of newton iterations to find the local ! coordinate of a point \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae10005ad150f6e4cbecb652dadb2b7e3}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-dim@{get\-\_\-dim}}
\index{get\-\_\-dim@{get\-\_\-dim}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-dim}]{\setlength{\rightskip}{0pt plus 5cm}bool get\-\_\-dim (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ {\bf size\-\_\-type} $>$ \&}]{array}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae10005ad150f6e4cbecb652dadb2b7e3}


Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_ae10005ad150f6e4cbecb652dadb2b7e3}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a75b6699b758b6f0ba735c5d92db767eb}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-epsilon@{get\-\_\-epsilon}}
\index{get\-\_\-epsilon@{get\-\_\-epsilon}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-epsilon}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-epsilon (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a75b6699b758b6f0ba735c5d92db767eb}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4982acabc161ea1bd17350d1c871eaeb}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-length@{get\-\_\-length}}
\index{get\-\_\-length@{get\-\_\-length}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-length (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Edge\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4982acabc161ea1bd17350d1c871eaeb}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a25ae478f50a089ce7c06f92530d81993}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-normal@{get\-\_\-normal}}
\index{get\-\_\-normal@{get\-\_\-normal}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-normal}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-normal (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Vector} \&}]{result, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a25ae478f50a089ce7c06f92530d81993}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_accb01fa0c1f17811924a706d292cfb2c}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-normal@{get\-\_\-normal}}
\index{get\-\_\-normal@{get\-\_\-normal}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-normal}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-normal (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Vector} \&}]{result, }
\item[{std\-::vector$<$ double $>$ \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{eidx, }
\item[{unsigned}]{int}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_accb01fa0c1f17811924a706d292cfb2c}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a660d6ec1f6aad50b04f2beee84a5fc2b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-point@{get\-\_\-point}}
\index{get\-\_\-point@{get\-\_\-point}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-point}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-point (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{point, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{index}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a660d6ec1f6aad50b04f2beee84a5fc2b}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a570ad3efd4f5a501c1d89ae0a4eec589}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-points@{get\-\_\-points}}
\index{get\-\_\-points@{get\-\_\-points}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-points}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Array2}$<${\bf Core\-::\-Geometry\-::\-Point}$>$\& get\-\_\-points (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a570ad3efd4f5a501c1d89ae0a4eec589}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac3d0aa99b455eeed1838b77a1d424444}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-random\-\_\-point@{get\-\_\-random\-\_\-point}}
\index{get\-\_\-random\-\_\-point@{get\-\_\-random\-\_\-point}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-random\-\_\-point}]{\setlength{\rightskip}{0pt plus 5cm}void get\-\_\-random\-\_\-point (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} \&}]{ei, }
\item[{{\bf Field\-R\-N\-G} \&}]{rng}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac3d0aa99b455eeed1838b77a1d424444}
Fold the quad sample into a triangle. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a31f8021cdfb9cbfc9f1f1d8b243cce15}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-size@{get\-\_\-size}}
\index{get\-\_\-size@{get\-\_\-size}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-size (
\begin{DoxyParamCaption}
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a31f8021cdfb9cbfc9f1f1d8b243cce15}


Get the size of an element (length, area, volume) 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aea8699d4678a7ef436f72ec54f843d38}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-size@{get\-\_\-size}}
\index{get\-\_\-size@{get\-\_\-size}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-size (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Edge\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aea8699d4678a7ef436f72ec54f843d38}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a74c2bdd91e4fb0e3b5f64cfd63ab20b0}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-size@{get\-\_\-size}}
\index{get\-\_\-size@{get\-\_\-size}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-size (
\begin{DoxyParamCaption}
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a74c2bdd91e4fb0e3b5f64cfd63ab20b0}
Sum the sizes of the two triangles. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9b79737be5777260f3345ddd14d898a4}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-size@{get\-\_\-size}}
\index{get\-\_\-size@{get\-\_\-size}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-size}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-size (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Cell\-::index\-\_\-type}}]{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9b79737be5777260f3345ddd14d898a4}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c9eb8821e8ffc89c1ff59eec330d329}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-type\-\_\-description@{get\-\_\-type\-\_\-description}}
\index{get\-\_\-type\-\_\-description@{get\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Type\-Description} $\ast$ get\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3c9eb8821e8ffc89c1ff59eec330d329}
Type description, used for finding names of the mesh class for dynamic compilation purposes. Soem of this should be obsolete 

Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_a3c9eb8821e8ffc89c1ff59eec330d329}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8165ff375548426f72153196f1d200c6}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-volume@{get\-\_\-volume}}
\index{get\-\_\-volume@{get\-\_\-volume}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-volume}]{\setlength{\rightskip}{0pt plus 5cm}double get\-\_\-volume (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Cell\-::index\-\_\-type}}]{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8165ff375548426f72153196f1d200c6}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a495fc86b42c32ca3e94497cd05835b2f}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-weights@{get\-\_\-weights}}
\index{get\-\_\-weights@{get\-\_\-weights}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-weights}]{\setlength{\rightskip}{0pt plus 5cm}int get\-\_\-weights (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::array\-\_\-type} \&}]{l, }
\item[{double $\ast$}]{w}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a495fc86b42c32ca3e94497cd05835b2f}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7f9faae6b66bc2c74676f6f2dbbdf08}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-weights@{get\-\_\-weights}}
\index{get\-\_\-weights@{get\-\_\-weights}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-weights}]{\setlength{\rightskip}{0pt plus 5cm}int get\-\_\-weights (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Edge\-::array\-\_\-type} \&}]{, }
\item[{double $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7f9faae6b66bc2c74676f6f2dbbdf08}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a820a5eaf8d99047f2f04696bb1700792}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-weights@{get\-\_\-weights}}
\index{get\-\_\-weights@{get\-\_\-weights}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-weights}]{\setlength{\rightskip}{0pt plus 5cm}int get\-\_\-weights (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::array\-\_\-type} \&}]{l, }
\item[{double $\ast$}]{w}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a820a5eaf8d99047f2f04696bb1700792}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a663cd040262fc138d76021e4e95a956f}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!get\-\_\-weights@{get\-\_\-weights}}
\index{get\-\_\-weights@{get\-\_\-weights}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{get\-\_\-weights}]{\setlength{\rightskip}{0pt plus 5cm}int get\-\_\-weights (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Cell\-::array\-\_\-type} \&}]{, }
\item[{double $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a663cd040262fc138d76021e4e95a956f}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad4cf5ec6eb317482f782d3f2170a9745}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!insert\-\_\-elem\-\_\-into\-\_\-grid@{insert\-\_\-elem\-\_\-into\-\_\-grid}}
\index{insert\-\_\-elem\-\_\-into\-\_\-grid@{insert\-\_\-elem\-\_\-into\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{insert\-\_\-elem\-\_\-into\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void insert\-\_\-elem\-\_\-into\-\_\-grid (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{ci}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad4cf5ec6eb317482f782d3f2170a9745}


Used to recompute data for individual cells. 

\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000183}{Todo}]\-: This can crash if you insert a new cell outside of the grid. \end{DoxyRefDesc}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6b58c42580acb34966fb02a8c3ef928}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!insert\-\_\-node\-\_\-into\-\_\-grid@{insert\-\_\-node\-\_\-into\-\_\-grid}}
\index{insert\-\_\-node\-\_\-into\-\_\-grid@{insert\-\_\-node\-\_\-into\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{insert\-\_\-node\-\_\-into\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void insert\-\_\-node\-\_\-into\-\_\-grid (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type}}]{ci}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6b58c42580acb34966fb02a8c3ef928}
\begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000184}{Todo}]\-: This can crash if you insert a new cell outside of the grid. \end{DoxyRefDesc}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47a7c84c3c9d662a470a11fe0fba5ae3}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!inside@{inside}}
\index{inside@{inside}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{inside}]{\setlength{\rightskip}{0pt plus 5cm}bool inside (
\begin{DoxyParamCaption}
\item[{I\-N\-D\-E\-X}]{idx, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a47a7c84c3c9d662a470a11fe0fba5ae3}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8e09217c21c4570188ed176f8fe9f56d}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!inside3\-\_\-p@{inside3\-\_\-p}}
\index{inside3\-\_\-p@{inside3\-\_\-p}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{inside3\-\_\-p}]{\setlength{\rightskip}{0pt plus 5cm}bool inside3\-\_\-p (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::index\-\_\-type}}]{i, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8e09217c21c4570188ed176f8fe9f56d}
area of the whole triangle (2x)

area opposite p0

area opposite p1

area opposite p2

If the area of any of the sub triangles is very small then the point is on the edge of the subtriangle. \begin{DoxyRefDesc}{Todo}
\item[\hyperlink{todo__todo000182}{Todo}]\-: How small is small ??? \end{DoxyRefDesc}


if( a0 $<$ M\-I\-N\-\_\-\-E\-L\-E\-M\-E\-N\-T\-\_\-\-V\-A\-L $|$$|$ a1 $<$ M\-I\-N\-\_\-\-E\-L\-E\-M\-E\-N\-T\-\_\-\-V\-A\-L $|$$|$ a2 $<$ M\-I\-N\-\_\-\-E\-L\-E\-M\-E\-N\-T\-\_\-\-V\-A\-L ) return true;

For the point to be inside a C\-O\-N\-V\-E\-X quad it must be inside one of the four triangles that can be formed by using three of the quad vertices and the point in question. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01aa0f6d22996ef1aed1ea4913ed7db9}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!interpolate@{interpolate}}
\index{interpolate@{interpolate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{interpolate}]{\setlength{\rightskip}{0pt plus 5cm}void interpolate (
\begin{DoxyParamCaption}
\item[{{\bf Core\-::\-Geometry\-::\-Point} \&}]{pt, }
\item[{const V\-E\-C\-T\-O\-R \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01aa0f6d22996ef1aed1ea4913ed7db9}
Find the location in the global coordinate system for a local coordinate ! This function is the opposite of get\-\_\-coords. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6fe8609e671b91bc1bcf32a9a0eca869}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!inverse\-\_\-jacobian@{inverse\-\_\-jacobian}}
\index{inverse\-\_\-jacobian@{inverse\-\_\-jacobian}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{inverse\-\_\-jacobian}]{\setlength{\rightskip}{0pt plus 5cm}double inverse\-\_\-jacobian (
\begin{DoxyParamCaption}
\item[{const V\-E\-C\-T\-O\-R \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx, }
\item[{double $\ast$}]{Ji}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6fe8609e671b91bc1bcf32a9a0eca869}
Get the inverse jacobian of the transformation. This one is needed to ! translate local gradients into global gradients. Hence it is crucial for ! calculating gradients of fields, or constructing finite elements. \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a0ff134d5d4ba9d3a2f04f66f369fc96a}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!io@{io}}
\index{io@{io}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{io}]{\setlength{\rightskip}{0pt plus 5cm}void io (
\begin{DoxyParamCaption}
\item[{{\bf Piostream} \&}]{stream}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a0ff134d5d4ba9d3a2f04f66f369fc96a}


Export this class using the old Pio system. 

The dimensions of this array were swapped 

Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_a0ff134d5d4ba9d3a2f04f66f369fc96a}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a62199aa6e67c8075d19a74ea854aaa34}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!jacobian@{jacobian}}
\index{jacobian@{jacobian}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{jacobian}]{\setlength{\rightskip}{0pt plus 5cm}void jacobian (
\begin{DoxyParamCaption}
\item[{const V\-E\-C\-T\-O\-R \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{idx, }
\item[{double $\ast$}]{J}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a62199aa6e67c8075d19a74ea854aaa34}
Get the jacobian of the transformation. In case one wants the non inverted ! version of this matrix. This is currentl here for completeness of the ! interface \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a43ff4e8232063b6cc31ad531d6e4c753}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!jacobian\-\_\-metric@{jacobian\-\_\-metric}}
\index{jacobian\-\_\-metric@{jacobian\-\_\-metric}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{jacobian\-\_\-metric}]{\setlength{\rightskip}{0pt plus 5cm}double jacobian\-\_\-metric (
\begin{DoxyParamCaption}
\item[{const I\-N\-D\-E\-X}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a43ff4e8232063b6cc31ad531d6e4c753}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada55ba877bdfdd6c3670616bbab47108}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate@{locate}}
\index{locate@{locate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate}]{\setlength{\rightskip}{0pt plus 5cm}bool locate (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{node, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada55ba877bdfdd6c3670616bbab47108}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a81215e665ecfb1c610658457a9a5cad7}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate@{locate}}
\index{locate@{locate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate}]{\setlength{\rightskip}{0pt plus 5cm}bool locate (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Edge\-::index\-\_\-type} \&}]{edge, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a81215e665ecfb1c610658457a9a5cad7}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac5dcfea678ce3ec99caaeaa4234304ea}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate@{locate}}
\index{locate@{locate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate}]{\setlength{\rightskip}{0pt plus 5cm}bool locate (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Face\-::index\-\_\-type} \&}]{face, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac5dcfea678ce3ec99caaeaa4234304ea}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad2a40dcbbf66d17b5b7a21f4c801586b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate@{locate}}
\index{locate@{locate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate}]{\setlength{\rightskip}{0pt plus 5cm}bool locate (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Cell\-::index\-\_\-type} \&}]{, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad2a40dcbbf66d17b5b7a21f4c801586b}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a19647fad9a0f71d71c6e4368ba121579}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate@{locate}}
\index{locate@{locate}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate}]{\setlength{\rightskip}{0pt plus 5cm}bool locate (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type} \&}]{elem, }
\item[{A\-R\-R\-A\-Y \&}]{coords, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a19647fad9a0f71d71c6e4368ba121579}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_afaf6c6d35d2545059157cf140ed36776}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate\-\_\-edge@{locate\-\_\-edge}}
\index{locate\-\_\-edge@{locate\-\_\-edge}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate\-\_\-edge}]{\setlength{\rightskip}{0pt plus 5cm}bool locate\-\_\-edge (
\begin{DoxyParamCaption}
\item[{I\-N\-D\-E\-X \&}]{idx, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_afaf6c6d35d2545059157cf140ed36776}


This is currently implemented as an exhaustive search. 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1d1bda6d91965bde0786d911d8fbe2b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate\-\_\-elem@{locate\-\_\-elem}}
\index{locate\-\_\-elem@{locate\-\_\-elem}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate\-\_\-elem}]{\setlength{\rightskip}{0pt plus 5cm}bool locate\-\_\-elem (
\begin{DoxyParamCaption}
\item[{I\-N\-D\-E\-X \&}]{elem, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af1d1bda6d91965bde0786d911d8fbe2b}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a017ba6648ba3db8062e6cf6822eaf2de}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate\-\_\-elem@{locate\-\_\-elem}}
\index{locate\-\_\-elem@{locate\-\_\-elem}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate\-\_\-elem}]{\setlength{\rightskip}{0pt plus 5cm}bool locate\-\_\-elem (
\begin{DoxyParamCaption}
\item[{I\-N\-D\-E\-X \&}]{elem, }
\item[{A\-R\-R\-A\-Y \&}]{coords, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a017ba6648ba3db8062e6cf6822eaf2de}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a54d8d066582b7ed3ddfdd599978a515b}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!locate\-\_\-node@{locate\-\_\-node}}
\index{locate\-\_\-node@{locate\-\_\-node}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{locate\-\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}bool locate\-\_\-node (
\begin{DoxyParamCaption}
\item[{I\-N\-D\-E\-X \&}]{node, }
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{p}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a54d8d066582b7ed3ddfdd599978a515b}
If there are no nodes we cannot find a closest point

Check first guess

This looks incorrect -\/ but it is correct We need to do a full shell without any elements that are closer to make sure there no closer elements in neighboring searchgrid cells \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3962e3b58233dbce72f2bdd5d8a902da}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!maker@{maker}}
\index{maker@{maker}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{maker}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Persistent}$\ast$ maker (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a3962e3b58233dbce72f2bdd5d8a902da}


This function returns a maker for Pio. 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac208373ee890064a45a199ad89705f2e}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!mesh\-\_\-maker@{mesh\-\_\-maker}}
\index{mesh\-\_\-maker@{mesh\-\_\-maker}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{mesh\-\_\-maker}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Mesh\-Handle} mesh\-\_\-maker (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac208373ee890064a45a199ad89705f2e}


This function returns a handle for the virtual interface. 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc406bc7afff4b87731f0452b8c8f238}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!next@{next}}
\index{next@{next}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{next}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\-\_\-type} next (
\begin{DoxyParamCaption}
\item[{{\bf index\-\_\-type}}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc406bc7afff4b87731f0452b8c8f238}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af77f5d9fd93144811cb7328ad0cc5610}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!node\-\_\-type\-\_\-description@{node\-\_\-type\-\_\-description}}
\index{node\-\_\-type\-\_\-description@{node\-\_\-type\-\_\-description}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{node\-\_\-type\-\_\-description}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Type\-Description} $\ast$ node\-\_\-type\-\_\-description (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af77f5d9fd93144811cb7328ad0cc5610}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada7931538377462d50dfe833d9564a60}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!point@{point}}
\index{point@{point}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{point}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Core\-::\-Geometry\-::\-Point}\& point (
\begin{DoxyParamCaption}
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{idx}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ada7931538377462d50dfe833d9564a60}
compute\-\_\-edge\-\_\-neighbors is not defined anywhere... do don't declare it... void compute\-\_\-edge\-\_\-neighbors(double err = 1.\-0e-\/8); \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab067a8a2579d6d33e5f9d8a331c621a3}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!prev@{prev}}
\index{prev@{prev}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{prev}]{\setlength{\rightskip}{0pt plus 5cm}{\bf index\-\_\-type} prev (
\begin{DoxyParamCaption}
\item[{{\bf index\-\_\-type}}]{i}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab067a8a2579d6d33e5f9d8a331c621a3}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a1f2a060a4f734c33d56a31f28ed504ce}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!pwl\-\_\-approx\-\_\-edge@{pwl\-\_\-approx\-\_\-edge}}
\index{pwl\-\_\-approx\-\_\-edge@{pwl\-\_\-approx\-\_\-edge}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{pwl\-\_\-approx\-\_\-edge}]{\setlength{\rightskip}{0pt plus 5cm}void pwl\-\_\-approx\-\_\-edge (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ std\-::vector$<$ double $>$ $>$ \&}]{coords, }
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{, }
\item[{unsigned}]{which\-\_\-edge, }
\item[{unsigned}]{div\-\_\-per\-\_\-unit}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a1f2a060a4f734c33d56a31f28ed504ce}
Generate the list of points that make up a sufficiently accurate piecewise linear approximation of an edge. Needs to match unit\-\_\-edges in \hyperlink{_quad_bilinear_lgn_8cc}{Basis/\-Quad\-Bilinear\-Lgn.\-cc} compare get\-\_\-nodes order to the basis order \hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6cfd1270aeeaa50bae532a3fdab72b49}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!remove\-\_\-elem\-\_\-from\-\_\-grid@{remove\-\_\-elem\-\_\-from\-\_\-grid}}
\index{remove\-\_\-elem\-\_\-from\-\_\-grid@{remove\-\_\-elem\-\_\-from\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{remove\-\_\-elem\-\_\-from\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void remove\-\_\-elem\-\_\-from\-\_\-grid (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Elem\-::index\-\_\-type}}]{ci}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a6cfd1270aeeaa50bae532a3fdab72b49}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aaf2ea60d0a5fed82195f321a3aa94b0e}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!remove\-\_\-node\-\_\-from\-\_\-grid@{remove\-\_\-node\-\_\-from\-\_\-grid}}
\index{remove\-\_\-node\-\_\-from\-\_\-grid@{remove\-\_\-node\-\_\-from\-\_\-grid}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{remove\-\_\-node\-\_\-from\-\_\-grid}]{\setlength{\rightskip}{0pt plus 5cm}void remove\-\_\-node\-\_\-from\-\_\-grid (
\begin{DoxyParamCaption}
\item[{typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type}}]{ci}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aaf2ea60d0a5fed82195f321a3aa94b0e}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4c25b13391bb9fa355f3c4c065f70285}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!scaled\-\_\-jacobian\-\_\-metric@{scaled\-\_\-jacobian\-\_\-metric}}
\index{scaled\-\_\-jacobian\-\_\-metric@{scaled\-\_\-jacobian\-\_\-metric}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{scaled\-\_\-jacobian\-\_\-metric}]{\setlength{\rightskip}{0pt plus 5cm}double scaled\-\_\-jacobian\-\_\-metric (
\begin{DoxyParamCaption}
\item[{const I\-N\-D\-E\-X}]{idx}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a4c25b13391bb9fa355f3c4c065f70285}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a668955f8fcdfb2d8aeb82180f1c3ecb7}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!set\-\_\-dim@{set\-\_\-dim}}
\index{set\-\_\-dim@{set\-\_\-dim}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{set\-\_\-dim}]{\setlength{\rightskip}{0pt plus 5cm}virtual void set\-\_\-dim (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ {\bf size\-\_\-type} $>$}]{dims}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a668955f8fcdfb2d8aeb82180f1c3ecb7}
Create a new virtual interface for this copy all pointers have changed hence create a new virtual interface class 

Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_a3b31d34fbf52e2cc86f12334d7d67c44}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_afc1ee5b49912949bc0957a5702062810}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!set\-\_\-point@{set\-\_\-point}}
\index{set\-\_\-point@{set\-\_\-point}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{set\-\_\-point}]{\setlength{\rightskip}{0pt plus 5cm}void set\-\_\-point (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Point} \&}]{point, }
\item[{const typename {\bf Image\-Mesh}$<$ Basis $>$\-::{\bf Node\-::index\-\_\-type} \&}]{index}
\end{DoxyParamCaption}
)}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_afc1ee5b49912949bc0957a5702062810}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a45103bd4f2fdaf4a72f92d26fc037dbe}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!structquadsurf\-\_\-maker@{structquadsurf\-\_\-maker}}
\index{structquadsurf\-\_\-maker@{structquadsurf\-\_\-maker}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{structquadsurf\-\_\-maker}]{\setlength{\rightskip}{0pt plus 5cm}static {\bf Mesh\-Handle} structquadsurf\-\_\-maker (
\begin{DoxyParamCaption}
\item[{{\bf size\-\_\-type}}]{x, }
\item[{{\bf size\-\_\-type}}]{y}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a45103bd4f2fdaf4a72f92d26fc037dbe}


This function returns a handle for the virtual interface. 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_acc93290b994235279b63d728151df239}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!synchronize@{synchronize}}
\index{synchronize@{synchronize}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{synchronize}]{\setlength{\rightskip}{0pt plus 5cm}bool synchronize (
\begin{DoxyParamCaption}
\item[{{\bf mask\-\_\-type}}]{sync}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_acc93290b994235279b63d728151df239}
These computations share the evalution of the bounding box

Compute the epsilon for geometrical closeness comparisons Mainly used by the grid lookup tables

Table for finding nodes in space

Table for finding elements in space 

Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_acc93290b994235279b63d728151df239}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab943a51e878d5dcad6e6f871b5112f81}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!topology\-\_\-geometry@{topology\-\_\-geometry}}
\index{topology\-\_\-geometry@{topology\-\_\-geometry}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{topology\-\_\-geometry}]{\setlength{\rightskip}{0pt plus 5cm}virtual int topology\-\_\-geometry (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ab943a51e878d5dcad6e6f871b5112f81}


Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_ab943a51e878d5dcad6e6f871b5112f81}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae09ad10201c1d834f757325e09d48e86}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!transform@{transform}}
\index{transform@{transform}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{transform}]{\setlength{\rightskip}{0pt plus 5cm}void transform (
\begin{DoxyParamCaption}
\item[{const {\bf Core\-::\-Geometry\-::\-Transform} \&}]{t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae09ad10201c1d834f757325e09d48e86}


Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_ae09ad10201c1d834f757325e09d48e86}{Image\-Mesh$<$ Basis $>$}.

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a97d19d6120cf44d7ad4973bc733b9513}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!type\-\_\-name@{type\-\_\-name}}
\index{type\-\_\-name@{type\-\_\-name}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{type\-\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string type\-\_\-name (
\begin{DoxyParamCaption}
\item[{int}]{n = {\ttfamily -\/1}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a97d19d6120cf44d7ad4973bc733b9513}


\hyperlink{namespace_s_c_i_run_1_1_core}{Core} functionality for getting the name of a templated mesh class. 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9642b864911449427a8756bcfdf1867f}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!unsynchronize@{unsynchronize}}
\index{unsynchronize@{unsynchronize}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{unsynchronize}]{\setlength{\rightskip}{0pt plus 5cm}bool unsynchronize (
\begin{DoxyParamCaption}
\item[{{\bf mask\-\_\-type}}]{sync}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a9642b864911449427a8756bcfdf1867f}


Reimplemented from \hyperlink{class_s_c_i_run_1_1_image_mesh_a9642b864911449427a8756bcfdf1867f}{Image\-Mesh$<$ Basis $>$}.



\subsection{Friends And Related Function Documentation}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7bc6a2e9982fc70ba5d70191fc72b0d}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!Elem\-Data@{Elem\-Data}}
\index{Elem\-Data@{Elem\-Data}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{Elem\-Data}]{\setlength{\rightskip}{0pt plus 5cm}friend class {\bf Elem\-Data}\hspace{0.3cm}{\ttfamily [friend]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ae7bc6a2e9982fc70ba5d70191fc72b0d}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01a561fb964d9aefa33cc95a5c95600a}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!V\-Struct\-Quad\-Surf\-Mesh@{V\-Struct\-Quad\-Surf\-Mesh}}
\index{V\-Struct\-Quad\-Surf\-Mesh@{V\-Struct\-Quad\-Surf\-Mesh}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{V\-Struct\-Quad\-Surf\-Mesh}]{\setlength{\rightskip}{0pt plus 5cm}friend class V\-Struct\-Quad\-Surf\-Mesh\hspace{0.3cm}{\ttfamily [friend]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a01a561fb964d9aefa33cc95a5c95600a}


Make sure the virtual interface has access. 



\subsection{Member Data Documentation}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_af797eb1cb834e69db9bf64dc55da6153}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!elem\-\_\-grid\-\_\-@{elem\-\_\-grid\-\_\-}}
\index{elem\-\_\-grid\-\_\-@{elem\-\_\-grid\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{elem\-\_\-grid\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}boost\-::shared\-\_\-ptr$<${\bf Search\-Grid\-T}$<$typename {\bf Image\-Mesh}$<$Basis$>$\-::{\bf Elem\-::index\-\_\-type} $>$ $>$ elem\-\_\-grid\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_af797eb1cb834e69db9bf64dc55da6153}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6ff5335c947ed09403995f166a4271a}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!epsilon2\-\_\-@{epsilon2\-\_\-}}
\index{epsilon2\-\_\-@{epsilon2\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{epsilon2\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}double epsilon2\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ac6ff5335c947ed09403995f166a4271a}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a2dbee5c3528b25493ecded7e22083138}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!epsilon\-\_\-@{epsilon\-\_\-}}
\index{epsilon\-\_\-@{epsilon\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{epsilon\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}double epsilon\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a2dbee5c3528b25493ecded7e22083138}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a05bdb43827ebefb8386e00a2341ee4fb}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!node\-\_\-grid\-\_\-@{node\-\_\-grid\-\_\-}}
\index{node\-\_\-grid\-\_\-@{node\-\_\-grid\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{node\-\_\-grid\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}boost\-::shared\-\_\-ptr$<${\bf Search\-Grid\-T}$<$typename {\bf Image\-Mesh}$<$Basis$>$\-::{\bf Node\-::index\-\_\-type} $>$ $>$ node\-\_\-grid\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a05bdb43827ebefb8386e00a2341ee4fb}


normalized per node 

\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad10e1579c56a692419c261949d9bafe3}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!normals\-\_\-@{normals\-\_\-}}
\index{normals\-\_\-@{normals\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{normals\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Array2}$<${\bf Core\-::\-Geometry\-::\-Vector}$>$ normals\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_ad10e1579c56a692419c261949d9bafe3}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a39eed8b4014717fc902387292cace329}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!points\-\_\-@{points\-\_\-}}
\index{points\-\_\-@{points\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{points\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Array2}$<${\bf Core\-::\-Geometry\-::\-Point}$>$ points\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a39eed8b4014717fc902387292cace329}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_aefc830eb9abca24871282163c49683ae}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!synchronize\-\_\-lock\-\_\-@{synchronize\-\_\-lock\-\_\-}}
\index{synchronize\-\_\-lock\-\_\-@{synchronize\-\_\-lock\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{synchronize\-\_\-lock\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Core\-::\-Thread\-::\-Mutex} synchronize\-\_\-lock\-\_\-\hspace{0.3cm}{\ttfamily [mutable]}, {\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_aefc830eb9abca24871282163c49683ae}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc86d01fe8a7a179b693d22ffc5d9df0}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!synchronized\-\_\-@{synchronized\-\_\-}}
\index{synchronized\-\_\-@{synchronized\-\_\-}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{synchronized\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mask\-\_\-type} synchronized\-\_\-\hspace{0.3cm}{\ttfamily [protected]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_adc86d01fe8a7a179b693d22ffc5d9df0}
\hypertarget{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8fb6380de024aea134b9b241205a3568}{\index{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}!type\-\_\-idsqs@{type\-\_\-idsqs}}
\index{type\-\_\-idsqs@{type\-\_\-idsqs}!SCIRun::StructQuadSurfMesh@{S\-C\-I\-Run\-::\-Struct\-Quad\-Surf\-Mesh}}
\subsubsection[{type\-\_\-idsqs}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Persistent\-Type\-I\-D} type\-\_\-idsqs\hspace{0.3cm}{\ttfamily [static]}}}\label{class_s_c_i_run_1_1_struct_quad_surf_mesh_a8fb6380de024aea134b9b241205a3568}
These I\-Ds are created as soon as this class will be instantiated The first one is for Pio and the second for the virtual interface These are currently different as they serve different needs. static \hyperlink{class_s_c_i_run_1_1_persistent_type_i_d}{Persistent\-Type\-I\-D} type\-\_\-idts; 

The documentation for this class was generated from the following file\-:\begin{DoxyCompactItemize}
\item 
Core/\-Datatypes/\-Legacy/\-Field/\hyperlink{_struct_quad_surf_mesh_8h}{Struct\-Quad\-Surf\-Mesh.\-h}\end{DoxyCompactItemize}
