\hypertarget{a06210}{}\section{Open\+Mesh Namespace Reference}
\label{a06210}\index{Open\+Mesh@{Open\+Mesh}}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \hyperlink{a06215}{Attributes}
\item 
 \hyperlink{a06211}{Concepts}
\item 
 \hyperlink{a06217}{Decimater}
\item 
 \hyperlink{a06214}{Gen\+Prog}
\item 
 \hyperlink{a06213}{IO}
\item 
 \hyperlink{a06212}{Iterators}
\item 
 \hyperlink{a06216}{Kernel\+\_\+\+O\+SG}
\item 
 \hyperlink{a06222}{Utils}
\item 
 \hyperlink{a06221}{V\+D\+PM}
\end{DoxyCompactItemize}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{a08576}{Array\+Kernel}
\item 
class \hyperlink{a08592}{Attrib\+KernelT}
\item 
class \hyperlink{a08820}{Auto\+Property\+HandleT}
\item 
class \hyperlink{a08692}{Base\+Handle}
\begin{DoxyCompactList}\small\item\em Base class for all handle types. \end{DoxyCompactList}\item 
class \hyperlink{a08596}{Base\+Kernel}
\item 
class \hyperlink{a08600}{Base\+Mesh}
\item 
class \hyperlink{a08824}{Base\+Property}
\item 
struct \hyperlink{a08872}{Base\+Prop\+HandleT}
\begin{DoxyCompactList}\small\item\em Base property handle. \end{DoxyCompactList}\item 
class \hyperlink{a08456}{C\+L\+A\+S\+S\+N\+A\+ME}
\item 
struct \hyperlink{a09012}{color\+\_\+caster$<$ osg\+::\+Color3f, osg\+::\+Color3ub $>$}
\item 
struct \hyperlink{a09008}{color\+\_\+caster$<$ osg\+::\+Color3ub, osg\+::\+Color3f $>$}
\item 
class \hyperlink{a08800}{Default\+Traits}
\item 
struct \hyperlink{a08704}{Edge\+Handle}
\begin{DoxyCompactList}\small\item\em Handle for a edge entity. \end{DoxyCompactList}\item 
class \hyperlink{a08828}{Endian}
\item 
struct \hyperlink{a08884}{E\+Prop\+HandleT}
\item 
struct \hyperlink{a08708}{Face\+Handle}
\begin{DoxyCompactList}\small\item\em Handle for a face entity. \end{DoxyCompactList}\item 
struct \hyperlink{a08664}{Final\+Mesh\+ItemsT}
\begin{DoxyCompactList}\small\item\em Definition of the mesh entities (items). \end{DoxyCompactList}\item 
struct \hyperlink{a08888}{F\+Prop\+HandleT}
\item 
struct \hyperlink{a08700}{Halfedge\+Handle}
\begin{DoxyCompactList}\small\item\em Handle for a halfedge entity. \end{DoxyCompactList}\item 
struct \hyperlink{a08832}{Handle\+To\+Prop\+Handle}
\item 
struct \hyperlink{a08844}{Handle\+To\+Prop\+Handle$<$ Open\+Mesh\+::\+Edge\+Handle, T $>$}
\item 
struct \hyperlink{a08848}{Handle\+To\+Prop\+Handle$<$ Open\+Mesh\+::\+Face\+Handle, T $>$}
\item 
struct \hyperlink{a08840}{Handle\+To\+Prop\+Handle$<$ Open\+Mesh\+::\+Halfedge\+Handle, T $>$}
\item 
struct \hyperlink{a08836}{Handle\+To\+Prop\+Handle$<$ Open\+Mesh\+::\+Vertex\+Handle, T $>$}
\item 
struct \hyperlink{a08852}{Handle\+To\+Prop\+Handle$<$ void, T $>$}
\item 
struct \hyperlink{a08880}{H\+Prop\+HandleT}
\item 
class \hyperlink{a08420}{Loop\+Scheme\+MaskT}
\item 
struct \hyperlink{a08804}{Merge\+Traits}
\item 
struct \hyperlink{a08672}{Mesh\+Cast}
\begin{DoxyCompactList}\small\item\em Cast a mesh with different but identical traits into each other. \end{DoxyCompactList}\item 
struct \hyperlink{a08680}{Mesh\+Cast$<$ const Lhs\+Mesh\+T \&, const Rhs\+Mesh\+T \& $>$}
\item 
struct \hyperlink{a08688}{Mesh\+Cast$<$ const Lhs\+Mesh\+T $\ast$, const Rhs\+Mesh\+T $\ast$ $>$}
\item 
struct \hyperlink{a08676}{Mesh\+Cast$<$ Lhs\+Mesh\+T \&, Rhs\+Mesh\+T \& $>$}
\item 
struct \hyperlink{a08684}{Mesh\+Cast$<$ Lhs\+Mesh\+T $\ast$, Rhs\+Mesh\+T $\ast$ $>$}
\item 
struct \hyperlink{a08892}{M\+Prop\+HandleT}
\item 
class \hyperlink{a08424}{Normal\+ConeT}
\item 
class \hyperlink{a08748}{Poly\+Connectivity}
\begin{DoxyCompactList}\small\item\em Connectivity Class for polygonal meshes. \end{DoxyCompactList}\item 
struct \hyperlink{a08792}{Poly\+Connectivity\+Tag}
\begin{DoxyCompactList}\small\item\em Connectivity tag indicating that the tagged mesh has polygon connectivity. \end{DoxyCompactList}\item 
struct \hyperlink{a08768}{Poly\+Mesh\+\_\+\+Array\+Kernel\+\_\+\+GeneratorT}
\begin{DoxyCompactList}\small\item\em Helper class to build a Poly\+Mesh-\/type. \end{DoxyCompactList}\item 
class \hyperlink{a08772}{Poly\+Mesh\+\_\+\+Array\+KernelT}
\item 
class \hyperlink{a08776}{Poly\+MeshT}
\item 
class \hyperlink{a08896}{Property\+Container}
\begin{DoxyCompactList}\small\item\em A a container for properties. \end{DoxyCompactList}\item 
class \hyperlink{a08900}{Property\+Manager}
\item 
class \hyperlink{a08860}{PropertyT}
\begin{DoxyCompactList}\small\item\em Default property class for any type T. \end{DoxyCompactList}\item 
class \hyperlink{a08864}{Property\+T$<$ bool $>$}
\item 
class \hyperlink{a08868}{Property\+T$<$ std\+::string $>$}
\item 
class \hyperlink{a08908}{Random\+Number\+Generator}
\item 
class \hyperlink{a08912}{SingletonT}
\item 
class \hyperlink{a09044}{Smart\+Tagger\+ET}
\item 
class \hyperlink{a09048}{Smart\+Tagger\+FT}
\item 
class \hyperlink{a09052}{Smart\+Tagger\+HT}
\item 
class \hyperlink{a09056}{Smart\+TaggerT}
\begin{DoxyCompactList}\small\item\em Smart Tagger. \end{DoxyCompactList}\item 
class \hyperlink{a09040}{Smart\+Tagger\+VT}
\item 
class \hyperlink{a09276}{StripifierT}
\item 
class \hyperlink{a08808}{Tri\+Connectivity}
\begin{DoxyCompactList}\small\item\em Connectivity Class for Triangle Meshes. \end{DoxyCompactList}\item 
struct \hyperlink{a08796}{Tri\+Connectivity\+Tag}
\begin{DoxyCompactList}\small\item\em Connectivity tag indicating that the tagged mesh has triangle connectivity. \end{DoxyCompactList}\item 
struct \hyperlink{a08812}{Tri\+Mesh\+\_\+\+Array\+Kernel\+\_\+\+GeneratorT}
\begin{DoxyCompactList}\small\item\em Helper class to create a Tri\+Mesh-\/type based on Array\+KernelT. \end{DoxyCompactList}\item 
class \hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}
\item 
class \hyperlink{a08816}{Tri\+MeshT}
\item 
class \hyperlink{a08412}{V\+D\+P\+M\+Synthesizer\+Viewer\+Widget}
\item 
struct \hyperlink{a08916}{vector\+\_\+traits}
\item 
struct \hyperlink{a09344}{vector\+\_\+traits$<$ Custom\+::\+Vec$<$ D\+I\+M $>$ $>$}
\item 
struct \hyperlink{a08416}{vector\+\_\+traits$<$ Eigen\+::\+Matrix$<$ \+\_\+\+Scalar, \+\_\+\+Rows, \+\_\+\+Cols, \+\_\+\+Options $>$ $>$}
\item 
class \hyperlink{a08452}{Vector\+DataT}
\item 
class \hyperlink{a08448}{VectorT}
\item 
struct \hyperlink{a08696}{Vertex\+Handle}
\begin{DoxyCompactList}\small\item\em Handle for a vertex entity. \end{DoxyCompactList}\item 
struct \hyperlink{a08876}{V\+Prop\+HandleT}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06210_a372df59b46e6aab68d079266eed6502b}\label{a06210_a372df59b46e6aab68d079266eed6502b}} 
typedef \hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}$<$ \hyperlink{a09288}{V\+D\+P\+M\+::\+Mesh\+Traits} $>$ {\bfseries V\+D\+P\+M\+Mesh}
\item 
\mbox{\Hypertarget{a06210_a6f4507dc506faf64d5e6c9fb04ea9104}\label{a06210_a6f4507dc506faf64d5e6c9fb04ea9104}} 
typedef \hyperlink{a08384}{Mesh\+Viewer\+WidgetT}$<$ \hyperlink{a08764}{V\+D\+P\+M\+Mesh} $>$ {\bfseries Mesh\+Viewer\+Widget}
\item 
\mbox{\Hypertarget{a06210_a6a1832a1053fc56a304ab2633eb8f4df}\label{a06210_a6a1832a1053fc56a304ab2633eb8f4df}} 
typedef \hyperlink{a08420}{Loop\+Scheme\+MaskT}$<$ double, 100 $>$ {\bfseries Loop\+Scheme\+Mask\+Double}
\item 
\mbox{\Hypertarget{a06210_a7447a8ec8f9460c1b26986a1c37fbc77}\label{a06210_a7447a8ec8f9460c1b26986a1c37fbc77}} 
typedef \hyperlink{a08912}{SingletonT}$<$ \hyperlink{a08420}{Loop\+Scheme\+Mask\+Double} $>$ {\bfseries Loop\+Scheme\+Mask\+Double\+Singleton}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 1 $>$ \hyperlink{a06210_af746e06878b496778ad9658870c6eeda}{Vec1c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 1 $>$ \hyperlink{a06210_a1f581e843d1bbb433d2164e1b67cc57c}{Vec1uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 1 $>$ \hyperlink{a06210_a922b502594a5e4fd57860779333ba6b3}{Vec1s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 1 $>$ \hyperlink{a06210_a30f095348d3ee156629e4409d03b53d2}{Vec1us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 1 $>$ \hyperlink{a06210_a52dab2f146797c1d6e37559592d7ce5a}{Vec1i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 1 $>$ \hyperlink{a06210_a2fae40cb0a24e3df3f7453dc81e81754}{Vec1ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 1 $>$ \hyperlink{a06210_ac0946677f9bb08a030c7221c0975b06d}{Vec1f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 1 $>$ \hyperlink{a06210_aeab28b6e52cde1cff8334876c4a1aab9}{Vec1d}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 2 $>$ \hyperlink{a06210_a22db9d58f167ccb84b7e1e9623cd446a}{Vec2c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 2 $>$ \hyperlink{a06210_a86d7742a485a6d2e8dbf3e167160167b}{Vec2uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 2 $>$ \hyperlink{a06210_aab2b8603f8aba741e83572ef7b54578e}{Vec2s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 2 $>$ \hyperlink{a06210_a474c8faa7202a0abc4da9f26bb1c6ae0}{Vec2us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 2 $>$ \hyperlink{a06210_a0f69341db63ed339281dfb4f3ef1b82f}{Vec2i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 2 $>$ \hyperlink{a06210_a838e095e4b2af2f5073b34747fd3e802}{Vec2ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 2 $>$ \hyperlink{a06210_abe4bc40898580f1b70eea39adaa4dda0}{Vec2f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 2 $>$ \hyperlink{a06210_a8adbb749b1928ca5dfa079ee0b994fec}{Vec2d}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 3 $>$ \hyperlink{a06210_adf748bba6e26d5ef6936eabe5bd0553b}{Vec3c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 3 $>$ \hyperlink{a06210_a053135905e5cb23084d5ec3bc2aa9d2e}{Vec3uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 3 $>$ \hyperlink{a06210_a775e2f7b2c1c77a657e6e18b21c19015}{Vec3s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 3 $>$ \hyperlink{a06210_a22a4180fb9f7681cf6c479b2ad120460}{Vec3us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 3 $>$ \hyperlink{a06210_a51e2e4ab2eb196df86f7d021c824824f}{Vec3i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 3 $>$ \hyperlink{a06210_aaa215faa771c9ccc150ab3bc1007145a}{Vec3ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 3 $>$ \hyperlink{a06210_aa8903e7c1a37b97fb332a69122a7c6e8}{Vec3f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 3 $>$ \hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Vec3d}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ bool, 3 $>$ \hyperlink{a06210_a45fac589d7f9c55b1c7131511b17e6b9}{Vec3b}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 4 $>$ \hyperlink{a06210_a254e9861bcc9a47af6178c9fa7261399}{Vec4c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 4 $>$ \hyperlink{a06210_a0679aaf1401d9d10cbbdf57b4ddddcef}{Vec4uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 4 $>$ \hyperlink{a06210_ab2622e0a32cc9f053c84520813592729}{Vec4s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 4 $>$ \hyperlink{a06210_a5923709edb2577d6d58e44fa44b6b2d7}{Vec4us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 4 $>$ \hyperlink{a06210_a98bcb8a2e79a7f62c7fffebccc466781}{Vec4i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 4 $>$ \hyperlink{a06210_af7d7e0de6ecb4b791776444f2c327c73}{Vec4ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 4 $>$ \hyperlink{a06210_a3b7e6dba036bbefcc461f05db4f7694b}{Vec4f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 4 $>$ \hyperlink{a06210_a63d5db1e7cc9580d64d7a6a9c9c4a09c}{Vec4d}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 5 $>$ \hyperlink{a06210_a421f9e51259cdf65cedfa7465fe8e8f7}{Vec5c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 5 $>$ \hyperlink{a06210_ac4788f3c9b4dd154f1430553e79e347e}{Vec5uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 5 $>$ \hyperlink{a06210_ad0cacc6a9152cf473b5fc0b2bdd66633}{Vec5s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 5 $>$ \hyperlink{a06210_a114b8dec1efe9cc6c5dcc398ec2db10a}{Vec5us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 5 $>$ \hyperlink{a06210_a705eba0d76f1c778e358e7ec17536cc3}{Vec5i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 5 $>$ \hyperlink{a06210_a5de2733a5abb142e23fb2e8a3c221b28}{Vec5ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 5 $>$ \hyperlink{a06210_a155d483431618c28abfb66809ea71fac}{Vec5f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 5 $>$ \hyperlink{a06210_a1b3f41ae1ee97c99fea32e3cb697d4e0}{Vec5d}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed char, 6 $>$ \hyperlink{a06210_a92082b41980d9513fa021da5888e3177}{Vec6c}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 6 $>$ \hyperlink{a06210_a26063822a091276712e911f47c373748}{Vec6uc}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 6 $>$ \hyperlink{a06210_a594226249077d4a603eb8a30d9ce2036}{Vec6s}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 6 $>$ \hyperlink{a06210_af7af51c975035ccdb38b9d392799ca07}{Vec6us}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ signed int, 6 $>$ \hyperlink{a06210_a25eda5dd23675c7f32d309f64e74b44e}{Vec6i}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 6 $>$ \hyperlink{a06210_af6172ca2fbe6c65877944661d7bcdc5e}{Vec6ui}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ float, 6 $>$ \hyperlink{a06210_af789d12a4a36583175d247875c5cadcf}{Vec6f}
\item 
typedef \hyperlink{a08448}{VectorT}$<$ double, 6 $>$ \hyperlink{a06210_a4990edafce1984fa512d34b0ee38f428}{Vec6d}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
{\footnotesize template$<$class T , typename Real $>$ }\\bool \hyperlink{a06210_a82f641ef2370d5bc304e1e764eb0b44b}{is\+\_\+zero} (const T \&\+\_\+a, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_a008fac326ccfd7a1b96329a4479ca9f6}\label{a06210_a008fac326ccfd7a1b96329a4479ca9f6}} 
{\footnotesize template$<$class T1 , class T2 , typename Real $>$ }\\bool {\bfseries is\+\_\+eq} (const T1 \&a, const T2 \&b, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_a6068816cb348a98341c48809b5a064f7}\label{a06210_a6068816cb348a98341c48809b5a064f7}} 
{\footnotesize template$<$class T1 , class T2 , typename Real $>$ }\\bool {\bfseries is\+\_\+gt} (const T1 \&a, const T2 \&b, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_a68f93868019792a1a5d6ab50c4a77fb5}\label{a06210_a68f93868019792a1a5d6ab50c4a77fb5}} 
{\footnotesize template$<$class T1 , class T2 , typename Real $>$ }\\bool {\bfseries is\+\_\+ge} (const T1 \&a, const T2 \&b, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_ad3587ef836f081d35d6300a802856570}\label{a06210_ad3587ef836f081d35d6300a802856570}} 
{\footnotesize template$<$class T1 , class T2 , typename Real $>$ }\\bool {\bfseries is\+\_\+lt} (const T1 \&a, const T2 \&b, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_a9d9eb3ce817656bb0e3299deb2e67ab1}\label{a06210_a9d9eb3ce817656bb0e3299deb2e67ab1}} 
{\footnotesize template$<$class T1 , class T2 , typename Real $>$ }\\bool {\bfseries is\+\_\+le} (const T1 \&a, const T2 \&b, Real \+\_\+eps)
\item 
\mbox{\Hypertarget{a06210_a2fd81f9af86645b454f61e3a9f74ad5b}\label{a06210_a2fd81f9af86645b454f61e3a9f74ad5b}} 
float {\bfseries eps\+\_\+\+\_\+} (float)
\item 
\mbox{\Hypertarget{a06210_ab980b92821ed467a951c4f668e23acca}\label{a06210_ab980b92821ed467a951c4f668e23acca}} 
double {\bfseries eps\+\_\+\+\_\+} (double)
\item 
\mbox{\Hypertarget{a06210_a50577efa3ee95b0d1952b67748b001a9}\label{a06210_a50577efa3ee95b0d1952b67748b001a9}} 
{\footnotesize template$<$class T $>$ }\\bool {\bfseries is\+\_\+zero} (const T \&a)
\item 
\mbox{\Hypertarget{a06210_a25db6d004cacced9540ab9770e7f96cb}\label{a06210_a25db6d004cacced9540ab9770e7f96cb}} 
{\footnotesize template$<$class T1 , class T2 $>$ }\\bool {\bfseries is\+\_\+eq} (const T1 \&a, const T2 \&b)
\item 
\mbox{\Hypertarget{a06210_a64e332f4f4ab30f3cfc5d91b71748772}\label{a06210_a64e332f4f4ab30f3cfc5d91b71748772}} 
{\footnotesize template$<$class T1 , class T2 $>$ }\\bool {\bfseries is\+\_\+gt} (const T1 \&a, const T2 \&b)
\item 
\mbox{\Hypertarget{a06210_a271f19eed421da4218947432f5f98aaf}\label{a06210_a271f19eed421da4218947432f5f98aaf}} 
{\footnotesize template$<$class T1 , class T2 $>$ }\\bool {\bfseries is\+\_\+ge} (const T1 \&a, const T2 \&b)
\item 
\mbox{\Hypertarget{a06210_ab166d04c839af67d9c4b408b5ad4b178}\label{a06210_ab166d04c839af67d9c4b408b5ad4b178}} 
{\footnotesize template$<$class T1 , class T2 $>$ }\\bool {\bfseries is\+\_\+lt} (const T1 \&a, const T2 \&b)
\item 
\mbox{\Hypertarget{a06210_aa20f61b2bbc2dc58991dba896716e0e5}\label{a06210_aa20f61b2bbc2dc58991dba896716e0e5}} 
{\footnotesize template$<$class T1 , class T2 $>$ }\\bool {\bfseries is\+\_\+le} (const T1 \&a, const T2 \&b)
\item 
\mbox{\Hypertarget{a06210_ad8bd3c89a85bd69fd300e4cd80a947dd}\label{a06210_ad8bd3c89a85bd69fd300e4cd80a947dd}} 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{a06210_ad8bd3c89a85bd69fd300e4cd80a947dd}{sane\+\_\+aarg} (T \+\_\+aarg)
\begin{DoxyCompactList}\small\item\em Trigonometry/angles -\/ related. \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{a06210_a39010bd91c5088f5c36a3ef2b1e6e697}{angle} (T \+\_\+cos\+\_\+angle, T \+\_\+sin\+\_\+angle)
\item 
\mbox{\Hypertarget{a06210_adc9cd93b72fba906387e9ca285f00f7d}\label{a06210_adc9cd93b72fba906387e9ca285f00f7d}} 
{\footnotesize template$<$class T $>$ }\\T {\bfseries positive\+\_\+angle} (T \+\_\+angle)
\item 
\mbox{\Hypertarget{a06210_a69498d2f6224f9e276531d073547e6cf}\label{a06210_a69498d2f6224f9e276531d073547e6cf}} 
{\footnotesize template$<$class T $>$ }\\T {\bfseries positive\+\_\+angle} (T \+\_\+cos\+\_\+angle, T \+\_\+sin\+\_\+angle)
\item 
\mbox{\Hypertarget{a06210_aa30a79214fde50d0674fa560b90c37fc}\label{a06210_aa30a79214fde50d0674fa560b90c37fc}} 
{\footnotesize template$<$class T $>$ }\\T {\bfseries deg\+\_\+to\+\_\+rad} (const T \&\+\_\+angle)
\item 
\mbox{\Hypertarget{a06210_a52274229b3c73af97b1c1ff8843b3ef0}\label{a06210_a52274229b3c73af97b1c1ff8843b3ef0}} 
{\footnotesize template$<$class T $>$ }\\T {\bfseries rad\+\_\+to\+\_\+deg} (const T \&\+\_\+angle)
\item 
\mbox{\Hypertarget{a06210_a767ccc7db22d4dc355c6ed6d576f7516}\label{a06210_a767ccc7db22d4dc355c6ed6d576f7516}} 
double {\bfseries log\+\_\+} (double \+\_\+value)
\item 
\mbox{\Hypertarget{a06210_a7a3182a3f1d2d06700b6e28b8f3956f3}\label{a06210_a7a3182a3f1d2d06700b6e28b8f3956f3}} 
{\footnotesize template$<$typename Scalar , int D\+IM, typename Other\+Scalar $>$ }\\auto \hyperlink{a06210_a7a3182a3f1d2d06700b6e28b8f3956f3}{operator$\ast$} (const Other\+Scalar \&\+\_\+s, const \hyperlink{a08448}{VectorT}$<$ Scalar, D\+IM $>$ \&rhs) -\/$>$ decltype(rhs.\+operator$\ast$(\+\_\+s))
\begin{DoxyCompactList}\small\item\em Component wise multiplication from the left. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a40a56baee75b61354d00aa1600716f85}\label{a06210_a40a56baee75b61354d00aa1600716f85}} 
{\footnotesize template$<$typename Scalar , int D\+IM$>$ }\\auto \hyperlink{a06210_a40a56baee75b61354d00aa1600716f85}{operator$<$$<$} (std\+::ostream \&os, const \hyperlink{a08448}{VectorT}$<$ Scalar, D\+IM $>$ \&\+\_\+vec) -\/$>$ typename std\+::enable\+\_\+if$<$ sizeof(decltype(os$<$$<$ \+\_\+vec\mbox{[}0\mbox{]})) $>$=0
\begin{DoxyCompactList}\small\item\em output a vector by printing its space-\/separated compontens \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a2de6794d235e7625396f271f323e397c}\label{a06210_a2de6794d235e7625396f271f323e397c}} 
{\bfseries for} (int i=1;i$<$ D\+IM;++i)
\item 
\mbox{\Hypertarget{a06210_abb20deed1b11439e61c4a0c70d0a50e2}\label{a06210_abb20deed1b11439e61c4a0c70d0a50e2}} 
{\footnotesize template$<$typename Scalar , int D\+IM$>$ }\\auto \hyperlink{a06210_abb20deed1b11439e61c4a0c70d0a50e2}{operator$>$$>$} (std\+::istream \&is, \hyperlink{a08448}{VectorT}$<$ Scalar, D\+IM $>$ \&\+\_\+vec) -\/$>$ typename std\+::enable\+\_\+if$<$ sizeof(decltype(is $>$$>$ \+\_\+vec\mbox{[}0\mbox{]})) $>$=0
\begin{DoxyCompactList}\small\item\em read the space-\/separated components of a vector from a stream \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a4c09797de0c6dd5dd8ab39252a7c752a}\label{a06210_a4c09797de0c6dd5dd8ab39252a7c752a}} 
{\footnotesize template$<$class Traits $>$ }\\\hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \& {\bfseries T\+R\+I\+M\+E\+S\+H\+\_\+\+C\+A\+ST} (\hyperlink{a08772}{Poly\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \&\+\_\+poly\+\_\+mesh)
\item 
\mbox{\Hypertarget{a06210_a95c5c314ee7a67ac0bd3718056325bbd}\label{a06210_a95c5c314ee7a67ac0bd3718056325bbd}} 
{\footnotesize template$<$class Traits $>$ }\\const \hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \& {\bfseries T\+R\+I\+M\+E\+S\+H\+\_\+\+C\+A\+ST} (const \hyperlink{a08772}{Poly\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \&\+\_\+poly\+\_\+mesh)
\item 
\mbox{\Hypertarget{a06210_a5562eecc8325992d5d171e9b7cf65499}\label{a06210_a5562eecc8325992d5d171e9b7cf65499}} 
{\footnotesize template$<$class Traits $>$ }\\\hyperlink{a08772}{Poly\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \& {\bfseries P\+O\+L\+Y\+M\+E\+S\+H\+\_\+\+C\+A\+ST} (\hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \&\+\_\+tri\+\_\+mesh)
\item 
\mbox{\Hypertarget{a06210_a3d8b505e7c833b05c38514e6038f27f4}\label{a06210_a3d8b505e7c833b05c38514e6038f27f4}} 
{\footnotesize template$<$class Traits $>$ }\\const \hyperlink{a08772}{Poly\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \& {\bfseries P\+O\+L\+Y\+M\+E\+S\+H\+\_\+\+C\+A\+ST} (const \hyperlink{a08764}{Tri\+Mesh\+\_\+\+Array\+KernelT}$<$ Traits $>$ \&\+\_\+tri\+\_\+mesh)
\item 
\mbox{\Hypertarget{a06210_ad661efc044ffca55028a7a9df42cdeb7}\label{a06210_ad661efc044ffca55028a7a9df42cdeb7}} 
size\+\_\+t {\bfseries hash\+\_\+value} (const \hyperlink{a08692}{Base\+Handle} \&h)
\item 
\mbox{\Hypertarget{a06210_a41d251aed8fdc5b7e9397141b58eacc7}\label{a06210_a41d251aed8fdc5b7e9397141b58eacc7}} 
std\+::ostream \& \hyperlink{a06210_a41d251aed8fdc5b7e9397141b58eacc7}{operator$<$$<$} (std\+::ostream \&\+\_\+os, const \hyperlink{a08692}{Base\+Handle} \&\+\_\+hnd)
\begin{DoxyCompactList}\small\item\em Write handle {\ttfamily \+\_\+hnd} to stream {\ttfamily \+\_\+os}. \end{DoxyCompactList}\item 
{\footnotesize template$<$typename L\+HS , typename K\+E\+R\+N\+EL $>$ }\\L\+HS \hyperlink{a06210_ac0f75aab1c554cfcdf72a61c09d1ab36}{mesh\+\_\+cast} (\hyperlink{a08776}{Poly\+MeshT}$<$ K\+E\+R\+N\+EL $>$ \&rhs)
\begin{DoxyCompactList}\small\item\em Cast a mesh with different but identical traits into each other. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ae94f6e8b5307ad0b4bb96f1cf0c7745b}\label{a06210_ae94f6e8b5307ad0b4bb96f1cf0c7745b}} 
{\footnotesize template$<$typename L\+HS , typename K\+E\+R\+N\+EL $>$ }\\L\+HS {\bfseries mesh\+\_\+cast} (\hyperlink{a08776}{Poly\+MeshT}$<$ K\+E\+R\+N\+EL $>$ $\ast$rhs)
\item 
\mbox{\Hypertarget{a06210_a269684927ebb3382ecb55ae27f25c80a}\label{a06210_a269684927ebb3382ecb55ae27f25c80a}} 
{\footnotesize template$<$typename L\+HS , typename K\+E\+R\+N\+EL $>$ }\\const L\+HS {\bfseries mesh\+\_\+cast} (const \hyperlink{a08776}{Poly\+MeshT}$<$ K\+E\+R\+N\+EL $>$ \&rhs)
\item 
\mbox{\Hypertarget{a06210_a9a3d3797a6f4e82702cd63d17495e25a}\label{a06210_a9a3d3797a6f4e82702cd63d17495e25a}} 
{\footnotesize template$<$typename L\+HS , typename K\+E\+R\+N\+EL $>$ }\\const L\+HS {\bfseries mesh\+\_\+cast} (const \hyperlink{a08776}{Poly\+MeshT}$<$ K\+E\+R\+N\+EL $>$ $\ast$rhs)
\item 
\mbox{\Hypertarget{a06210_a290da4d24c4dbd3a7062d08dcd31d60c}\label{a06210_a290da4d24c4dbd3a7062d08dcd31d60c}} 
\hyperlink{a06210_a290da4d24c4dbd3a7062d08dcd31d60c}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt4f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a9b1f755986d596afc5d11ec50df433d9}\label{a06210_a9b1f755986d596afc5d11ec50df433d9}} 
\hyperlink{a06210_a9b1f755986d596afc5d11ec50df433d9}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt3f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ae2bbd824b8023d3a0cc46be3b3e86a9c}\label{a06210_ae2bbd824b8023d3a0cc46be3b3e86a9c}} 
\hyperlink{a06210_ae2bbd824b8023d3a0cc46be3b3e86a9c}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt2f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a18631aa388e04034302a80d893b435f1}\label{a06210_a18631aa388e04034302a80d893b435f1}} 
\hyperlink{a06210_a18631aa388e04034302a80d893b435f1}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec4f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ae135f950a44ca28f459f60a5876b2238}\label{a06210_ae135f950a44ca28f459f60a5876b2238}} 
\hyperlink{a06210_ae135f950a44ca28f459f60a5876b2238}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec3f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ac5bf6e44c02a975720ccb077122e5605}\label{a06210_ac5bf6e44c02a975720ccb077122e5605}} 
\hyperlink{a06210_ac5bf6e44c02a975720ccb077122e5605}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec2f)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a3f8fdc3515388da6da8a0e695da7c0eb}\label{a06210_a3f8fdc3515388da6da8a0e695da7c0eb}} 
\hyperlink{a06210_a3f8fdc3515388da6da8a0e695da7c0eb}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt4d)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a9583c171b399d5f1c43ef5c9fa42f923}\label{a06210_a9583c171b399d5f1c43ef5c9fa42f923}} 
\hyperlink{a06210_a9583c171b399d5f1c43ef5c9fa42f923}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt3d)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a831e8d7ab274fa65f0cc21bbe0a7708b}\label{a06210_a831e8d7ab274fa65f0cc21bbe0a7708b}} 
\hyperlink{a06210_a831e8d7ab274fa65f0cc21bbe0a7708b}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Pnt2d)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a635e2921057cb33f62045af6ad7a9662}\label{a06210_a635e2921057cb33f62045af6ad7a9662}} 
\hyperlink{a06210_a635e2921057cb33f62045af6ad7a9662}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec4d)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a0c190b30aba42bf6844c4f86aca754c9}\label{a06210_a0c190b30aba42bf6844c4f86aca754c9}} 
\hyperlink{a06210_a0c190b30aba42bf6844c4f86aca754c9}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec3d)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_abccc7a9517a25fd571962b606a482df2}\label{a06210_abccc7a9517a25fd571962b606a482df2}} 
\hyperlink{a06210_abccc7a9517a25fd571962b606a482df2}{O\+S\+G\+\_\+\+V\+E\+C\+T\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Vec4ub)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG vector type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ac5feadbc7d8934ec76de11cbe38cb7ea}\label{a06210_ac5feadbc7d8934ec76de11cbe38cb7ea}} 
\hyperlink{a06210_ac5feadbc7d8934ec76de11cbe38cb7ea}{O\+S\+G\+\_\+\+C\+O\+L\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Color3ub, 3)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG color type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a6a19d0f71e9b2c15ec36ff7e2b2f26fb}\label{a06210_a6a19d0f71e9b2c15ec36ff7e2b2f26fb}} 
\hyperlink{a06210_a6a19d0f71e9b2c15ec36ff7e2b2f26fb}{O\+S\+G\+\_\+\+C\+O\+L\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Color4ub, 4)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG color type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a363bc47e1a70d337b2a7cd5952aa3a11}\label{a06210_a363bc47e1a70d337b2a7cd5952aa3a11}} 
\hyperlink{a06210_a363bc47e1a70d337b2a7cd5952aa3a11}{O\+S\+G\+\_\+\+C\+O\+L\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Color3f, 3)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG color type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a17596177c3026b8951b01601436cc605}\label{a06210_a17596177c3026b8951b01601436cc605}} 
\hyperlink{a06210_a17596177c3026b8951b01601436cc605}{O\+S\+G\+\_\+\+C\+O\+L\+O\+R\+\_\+\+T\+R\+A\+I\+TS} (osg\+::\+Color4f, 4)
\begin{DoxyCompactList}\small\item\em Vector traits for Open\+SG color type. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a0131b13be594e8f7fa463ea9fa0b5f0c}\label{a06210_a0131b13be594e8f7fa463ea9fa0b5f0c}} 
\hyperlink{a06210_a0131b13be594e8f7fa463ea9fa0b5f0c}{P\+N\+T2\+V\+E\+C\+\_\+\+C\+A\+S\+T\+ER} (osg\+::\+Vec3f, osg\+::\+Pnt3f)
\begin{DoxyCompactList}\small\item\em convert Pnt3f to Vec3f \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a3a7714689cba03f71513b09f5e196e0f}\label{a06210_a3a7714689cba03f71513b09f5e196e0f}} 
\hyperlink{a06210_a3a7714689cba03f71513b09f5e196e0f}{P\+N\+T2\+V\+E\+C\+\_\+\+C\+A\+S\+T\+ER} (osg\+::\+Vec4f, osg\+::\+Pnt4f)
\begin{DoxyCompactList}\small\item\em convert Pnt4f to Vec4f \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a3208a7bb4a48f6f3a445da7f6018e4d0}\label{a06210_a3208a7bb4a48f6f3a445da7f6018e4d0}} 
\hyperlink{a06210_a3208a7bb4a48f6f3a445da7f6018e4d0}{P\+N\+T2\+V\+E\+C\+\_\+\+C\+A\+S\+T\+ER} (osg\+::\+Vec3d, osg\+::\+Pnt3d)
\begin{DoxyCompactList}\small\item\em convert Pnt3d to Vec3d \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a65de89380728bec87b5975c8fb5b99e0}\label{a06210_a65de89380728bec87b5975c8fb5b99e0}} 
\hyperlink{a06210_a65de89380728bec87b5975c8fb5b99e0}{P\+N\+T2\+V\+E\+C\+\_\+\+C\+A\+S\+T\+ER} (osg\+::\+Vec4d, osg\+::\+Pnt4d)
\begin{DoxyCompactList}\small\item\em convert Pnt4d to Vec4d \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a9f06ee8b99347ea2d766f8a15f02bd46}\label{a06210_a9f06ee8b99347ea2d766f8a15f02bd46}} 
{\footnotesize template$<$class \+\_\+\+Mesh , class \+\_\+\+Property\+Handle $>$ }\\void {\bfseries smooth\+\_\+mesh\+\_\+property} (unsigned int \+\_\+n\+\_\+iters, \+\_\+\+Mesh \&\+\_\+m, \+\_\+\+Property\+Handle \+\_\+pph)
\item 
\mbox{\Hypertarget{a06210_a977a31f169b69bfdb237c90d42bb3f67}\label{a06210_a977a31f169b69bfdb237c90d42bb3f67}} 
{\footnotesize template$<$class \+\_\+\+Mesh $>$ }\\void {\bfseries smooth\+\_\+mesh} (\+\_\+\+Mesh \&\+\_\+m, uint \+\_\+n\+\_\+iters)
\end{DoxyCompactItemize}
\begin{Indent}\textbf{ Cast vector type to another vector type.}\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06210_a6bd9c6555d30f75e4de638b1c782ad42}\label{a06210_a6bd9c6555d30f75e4de638b1c782ad42}} 
{\footnotesize template$<$typename src\+\_\+t , typename dst\+\_\+t , int n$>$ }\\void \hyperlink{a06210_a6bd9c6555d30f75e4de638b1c782ad42}{vector\+\_\+cast} (const src\+\_\+t \&\+\_\+src, dst\+\_\+t \&\+\_\+dst, Gen\+Prog\+::\+Int2\+Type$<$ n $>$)
\begin{DoxyCompactList}\small\item\em Cast vector type to another vector type by copying the vector elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a4c9027c3e378b0e16c62f6bc7b61fdf9}\label{a06210_a4c9027c3e378b0e16c62f6bc7b61fdf9}} 
{\footnotesize template$<$typename src\+\_\+t , typename dst\+\_\+t $>$ }\\void \hyperlink{a06210_a4c9027c3e378b0e16c62f6bc7b61fdf9}{vector\+\_\+cast} (const src\+\_\+t \&, dst\+\_\+t \&, Gen\+Prog\+::\+Int2\+Type$<$ 0 $>$)
\begin{DoxyCompactList}\small\item\em Cast vector type to another vector type by copying the vector elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ae0287f19025fd1b249471f63a8c47d71}\label{a06210_ae0287f19025fd1b249471f63a8c47d71}} 
{\footnotesize template$<$typename src\+\_\+t , typename dst\+\_\+t , int n$>$ }\\void \hyperlink{a06210_ae0287f19025fd1b249471f63a8c47d71}{vector\+\_\+copy} (const src\+\_\+t \&\+\_\+src, dst\+\_\+t \&\+\_\+dst, Gen\+Prog\+::\+Int2\+Type$<$ n $>$)
\begin{DoxyCompactList}\small\item\em Cast vector type to another vector type by copying the vector elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_aa8c0ae097da7611ac569dcdd7f9c88d6}\label{a06210_aa8c0ae097da7611ac569dcdd7f9c88d6}} 
{\footnotesize template$<$typename src\+\_\+t , typename dst\+\_\+t $>$ }\\void \hyperlink{a06210_aa8c0ae097da7611ac569dcdd7f9c88d6}{vector\+\_\+copy} (const src\+\_\+t \&, dst\+\_\+t \&, Gen\+Prog\+::\+Int2\+Type$<$ 0 $>$)
\begin{DoxyCompactList}\small\item\em Cast vector type to another vector type by copying the vector elements. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_ad0d391915b6a74c2ed33aff7f78f1175}\label{a06210_ad0d391915b6a74c2ed33aff7f78f1175}} 
{\footnotesize template$<$typename dst\+\_\+t , typename src\+\_\+t $>$ }\\vector\+\_\+caster$<$ dst\+\_\+t, src\+\_\+t $>$\+::return\+\_\+type \hyperlink{a06210_ad0d391915b6a74c2ed33aff7f78f1175}{vector\+\_\+cast} (const src\+\_\+t \&\+\_\+src)
\begin{DoxyCompactList}\small\item\em Cast vector type to another vector type by copying the vector elements. \end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\textbf{ }\par
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06210_a351b282a40719408090277956e526735}\label{a06210_a351b282a40719408090277956e526735}} 
osg\+::\+Vec3f\+::\+Value\+Type \hyperlink{a06210_a351b282a40719408090277956e526735}{dot} (const osg\+::\+Vec3f \&\+\_\+v1, const osg\+::\+Vec3f \&\+\_\+v2)
\begin{DoxyCompactList}\small\item\em Adapter for osg vector member computing a scalar product. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_a41399efe66881aa33dd5993f6ccd9664}\label{a06210_a41399efe66881aa33dd5993f6ccd9664}} 
osg\+::\+Vec3f\+::\+Value\+Type \hyperlink{a06210_a41399efe66881aa33dd5993f6ccd9664}{dot} (const osg\+::\+Vec3f \&\+\_\+v1, const osg\+::\+Pnt3f \&\+\_\+v2)
\begin{DoxyCompactList}\small\item\em Adapter for osg vector member computing a scalar product. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_aaa412457a62231acf84f09c011a47231}\label{a06210_aaa412457a62231acf84f09c011a47231}} 
osg\+::\+Vec2f\+::\+Value\+Type \hyperlink{a06210_aaa412457a62231acf84f09c011a47231}{dot} (const osg\+::\+Vec2f \&\+\_\+v1, const osg\+::\+Vec2f \&\+\_\+v2)
\begin{DoxyCompactList}\small\item\em Adapter for osg vector member computing a scalar product. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{a06210_af37af4054108f1fef53058ff57689763}\label{a06210_af37af4054108f1fef53058ff57689763}} 
osg\+::\+Vec3f \hyperlink{a06210_af37af4054108f1fef53058ff57689763}{cross} (const osg\+::\+Vec3f \&\+\_\+v1, const osg\+::\+Vec3f \&\+\_\+v2)
\begin{DoxyCompactList}\small\item\em Adapter for osg vector member computing a scalar product. \end{DoxyCompactList}\end{DoxyCompactItemize}

\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a06210_a5ec0cded55d34ef7e4d4cbbcb41e92e8}\label{a06210_a5ec0cded55d34ef7e4d4cbbcb41e92e8}} 
const float {\bfseries flt\+\_\+eps\+\_\+\+\_\+} = (float)1e-\/05
\item 
\mbox{\Hypertarget{a06210_a243184cbc542dc5e8aa87b91bfdc0972}\label{a06210_a243184cbc542dc5e8aa87b91bfdc0972}} 
const double {\bfseries dbl\+\_\+eps\+\_\+\+\_\+} = 1e-\/09
\item 
\mbox{\Hypertarget{a06210_ae41313687bd8b61449eb1b8bc682f6cd}\label{a06210_ae41313687bd8b61449eb1b8bc682f6cd}} 
return {\bfseries os}
\item 
\mbox{\Hypertarget{a06210_a683a24b084e96af090c73627d7950b06}\label{a06210_a683a24b084e96af090c73627d7950b06}} 
return {\bfseries is}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Contains all the mesh ingredients like the polygonal mesh, the triangle mesh, different mesh kernels and mesh traits.

This file contains all code required to use Eigen3 vectors as Mesh vectors

Martin, 26.\+12.\+2004\+: 1) replaced resize(size()-\/1) with pop\+\_\+back(), since the later is more efficient 2) replaced interface\+\_\+.\+set\+\_\+heap\+\_\+position(entry(0), -\/1); with reset\+\_\+heap\+\_\+position() 3) added const modifier to various functions T\+O\+DO\+: in the moment the heap does not conform to the Heap\+Interface specification, i.\+e., copies are passed instead of references. This is especially important for set\+\_\+heap\+\_\+position(), where the reference argument is non-\/const. The specification should be changed to reflect that the heap actually (only?) works when the heap entry is nothing more but a handle. T\+O\+DO\+: change the specification of Heap\+Interface to make less(), greater() and get\+\_\+heap\+\_\+position() const. Needs changing DecimaterT. Might break someone\textquotesingle{}s code. 

\subsection{Typedef Documentation}
\mbox{\Hypertarget{a06210_af746e06878b496778ad9658870c6eeda}\label{a06210_af746e06878b496778ad9658870c6eeda}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1c@{Vec1c}}
\index{Vec1c@{Vec1c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1c}{Vec1c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 1 $>$ \hyperlink{a06210_af746e06878b496778ad9658870c6eeda}{Open\+Mesh\+::\+Vec1c}}

1-\/byte signed vector 

Definition at line 765 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_aeab28b6e52cde1cff8334876c4a1aab9}\label{a06210_aeab28b6e52cde1cff8334876c4a1aab9}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1d@{Vec1d}}
\index{Vec1d@{Vec1d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1d}{Vec1d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 1 $>$ \hyperlink{a06210_aeab28b6e52cde1cff8334876c4a1aab9}{Open\+Mesh\+::\+Vec1d}}

1-\/double vector 

Definition at line 779 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_ac0946677f9bb08a030c7221c0975b06d}\label{a06210_ac0946677f9bb08a030c7221c0975b06d}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1f@{Vec1f}}
\index{Vec1f@{Vec1f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1f}{Vec1f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 1 $>$ \hyperlink{a06210_ac0946677f9bb08a030c7221c0975b06d}{Open\+Mesh\+::\+Vec1f}}

1-\/float vector 

Definition at line 777 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a52dab2f146797c1d6e37559592d7ce5a}\label{a06210_a52dab2f146797c1d6e37559592d7ce5a}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1i@{Vec1i}}
\index{Vec1i@{Vec1i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1i}{Vec1i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 1 $>$ \hyperlink{a06210_a52dab2f146797c1d6e37559592d7ce5a}{Open\+Mesh\+::\+Vec1i}}

1-\/int signed vector 

Definition at line 773 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a922b502594a5e4fd57860779333ba6b3}\label{a06210_a922b502594a5e4fd57860779333ba6b3}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1s@{Vec1s}}
\index{Vec1s@{Vec1s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1s}{Vec1s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 1 $>$ \hyperlink{a06210_a922b502594a5e4fd57860779333ba6b3}{Open\+Mesh\+::\+Vec1s}}

1-\/short signed vector 

Definition at line 769 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a1f581e843d1bbb433d2164e1b67cc57c}\label{a06210_a1f581e843d1bbb433d2164e1b67cc57c}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1uc@{Vec1uc}}
\index{Vec1uc@{Vec1uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1uc}{Vec1uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 1 $>$ \hyperlink{a06210_a1f581e843d1bbb433d2164e1b67cc57c}{Open\+Mesh\+::\+Vec1uc}}

1-\/byte unsigned vector 

Definition at line 767 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a2fae40cb0a24e3df3f7453dc81e81754}\label{a06210_a2fae40cb0a24e3df3f7453dc81e81754}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1ui@{Vec1ui}}
\index{Vec1ui@{Vec1ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1ui}{Vec1ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 1 $>$ \hyperlink{a06210_a2fae40cb0a24e3df3f7453dc81e81754}{Open\+Mesh\+::\+Vec1ui}}

1-\/int unsigned vector 

Definition at line 775 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a30f095348d3ee156629e4409d03b53d2}\label{a06210_a30f095348d3ee156629e4409d03b53d2}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec1us@{Vec1us}}
\index{Vec1us@{Vec1us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec1us}{Vec1us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 1 $>$ \hyperlink{a06210_a30f095348d3ee156629e4409d03b53d2}{Open\+Mesh\+::\+Vec1us}}

1-\/short unsigned vector 

Definition at line 771 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a22db9d58f167ccb84b7e1e9623cd446a}\label{a06210_a22db9d58f167ccb84b7e1e9623cd446a}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2c@{Vec2c}}
\index{Vec2c@{Vec2c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2c}{Vec2c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 2 $>$ \hyperlink{a06210_a22db9d58f167ccb84b7e1e9623cd446a}{Open\+Mesh\+::\+Vec2c}}

2-\/byte signed vector 

Definition at line 782 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a8adbb749b1928ca5dfa079ee0b994fec}\label{a06210_a8adbb749b1928ca5dfa079ee0b994fec}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2d@{Vec2d}}
\index{Vec2d@{Vec2d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2d}{Vec2d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 2 $>$ \hyperlink{a06210_a8adbb749b1928ca5dfa079ee0b994fec}{Open\+Mesh\+::\+Vec2d}}

2-\/double vector 

Definition at line 796 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_abe4bc40898580f1b70eea39adaa4dda0}\label{a06210_abe4bc40898580f1b70eea39adaa4dda0}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2f@{Vec2f}}
\index{Vec2f@{Vec2f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2f}{Vec2f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 2 $>$ \hyperlink{a06210_abe4bc40898580f1b70eea39adaa4dda0}{Open\+Mesh\+::\+Vec2f}}

2-\/float vector 

Definition at line 794 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a0f69341db63ed339281dfb4f3ef1b82f}\label{a06210_a0f69341db63ed339281dfb4f3ef1b82f}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2i@{Vec2i}}
\index{Vec2i@{Vec2i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2i}{Vec2i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 2 $>$ \hyperlink{a06210_a0f69341db63ed339281dfb4f3ef1b82f}{Open\+Mesh\+::\+Vec2i}}

2-\/int signed vector 

Definition at line 790 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_aab2b8603f8aba741e83572ef7b54578e}\label{a06210_aab2b8603f8aba741e83572ef7b54578e}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2s@{Vec2s}}
\index{Vec2s@{Vec2s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2s}{Vec2s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 2 $>$ \hyperlink{a06210_aab2b8603f8aba741e83572ef7b54578e}{Open\+Mesh\+::\+Vec2s}}

2-\/short signed vector 

Definition at line 786 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a86d7742a485a6d2e8dbf3e167160167b}\label{a06210_a86d7742a485a6d2e8dbf3e167160167b}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2uc@{Vec2uc}}
\index{Vec2uc@{Vec2uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2uc}{Vec2uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 2 $>$ \hyperlink{a06210_a86d7742a485a6d2e8dbf3e167160167b}{Open\+Mesh\+::\+Vec2uc}}

2-\/byte unsigned vector 

Definition at line 784 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a838e095e4b2af2f5073b34747fd3e802}\label{a06210_a838e095e4b2af2f5073b34747fd3e802}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2ui@{Vec2ui}}
\index{Vec2ui@{Vec2ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2ui}{Vec2ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 2 $>$ \hyperlink{a06210_a838e095e4b2af2f5073b34747fd3e802}{Open\+Mesh\+::\+Vec2ui}}

2-\/int unsigned vector 

Definition at line 792 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a474c8faa7202a0abc4da9f26bb1c6ae0}\label{a06210_a474c8faa7202a0abc4da9f26bb1c6ae0}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec2us@{Vec2us}}
\index{Vec2us@{Vec2us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec2us}{Vec2us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 2 $>$ \hyperlink{a06210_a474c8faa7202a0abc4da9f26bb1c6ae0}{Open\+Mesh\+::\+Vec2us}}

2-\/short unsigned vector 

Definition at line 788 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a45fac589d7f9c55b1c7131511b17e6b9}\label{a06210_a45fac589d7f9c55b1c7131511b17e6b9}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3b@{Vec3b}}
\index{Vec3b@{Vec3b}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3b}{Vec3b}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ bool, 3 $>$ \hyperlink{a06210_a45fac589d7f9c55b1c7131511b17e6b9}{Open\+Mesh\+::\+Vec3b}}

3-\/bool vector 

Definition at line 815 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_adf748bba6e26d5ef6936eabe5bd0553b}\label{a06210_adf748bba6e26d5ef6936eabe5bd0553b}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3c@{Vec3c}}
\index{Vec3c@{Vec3c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3c}{Vec3c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 3 $>$ \hyperlink{a06210_adf748bba6e26d5ef6936eabe5bd0553b}{Open\+Mesh\+::\+Vec3c}}

3-\/byte signed vector 

Definition at line 799 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}\label{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3d@{Vec3d}}
\index{Vec3d@{Vec3d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3d}{Vec3d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 3 $>$ \hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Open\+Mesh\+::\+Vec3d}}

3-\/double vector 

Definition at line 813 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_aa8903e7c1a37b97fb332a69122a7c6e8}\label{a06210_aa8903e7c1a37b97fb332a69122a7c6e8}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3f@{Vec3f}}
\index{Vec3f@{Vec3f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3f}{Vec3f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 3 $>$ \hyperlink{a06210_aa8903e7c1a37b97fb332a69122a7c6e8}{Open\+Mesh\+::\+Vec3f}}

3-\/float vector 

Definition at line 811 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a51e2e4ab2eb196df86f7d021c824824f}\label{a06210_a51e2e4ab2eb196df86f7d021c824824f}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3i@{Vec3i}}
\index{Vec3i@{Vec3i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3i}{Vec3i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 3 $>$ \hyperlink{a06210_a51e2e4ab2eb196df86f7d021c824824f}{Open\+Mesh\+::\+Vec3i}}

3-\/int signed vector 

Definition at line 807 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a775e2f7b2c1c77a657e6e18b21c19015}\label{a06210_a775e2f7b2c1c77a657e6e18b21c19015}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3s@{Vec3s}}
\index{Vec3s@{Vec3s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3s}{Vec3s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 3 $>$ \hyperlink{a06210_a775e2f7b2c1c77a657e6e18b21c19015}{Open\+Mesh\+::\+Vec3s}}

3-\/short signed vector 

Definition at line 803 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a053135905e5cb23084d5ec3bc2aa9d2e}\label{a06210_a053135905e5cb23084d5ec3bc2aa9d2e}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3uc@{Vec3uc}}
\index{Vec3uc@{Vec3uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3uc}{Vec3uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 3 $>$ \hyperlink{a06210_a053135905e5cb23084d5ec3bc2aa9d2e}{Open\+Mesh\+::\+Vec3uc}}

3-\/byte unsigned vector 

Definition at line 801 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_aaa215faa771c9ccc150ab3bc1007145a}\label{a06210_aaa215faa771c9ccc150ab3bc1007145a}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3ui@{Vec3ui}}
\index{Vec3ui@{Vec3ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3ui}{Vec3ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 3 $>$ \hyperlink{a06210_aaa215faa771c9ccc150ab3bc1007145a}{Open\+Mesh\+::\+Vec3ui}}

3-\/int unsigned vector 

Definition at line 809 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a22a4180fb9f7681cf6c479b2ad120460}\label{a06210_a22a4180fb9f7681cf6c479b2ad120460}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec3us@{Vec3us}}
\index{Vec3us@{Vec3us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec3us}{Vec3us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 3 $>$ \hyperlink{a06210_a22a4180fb9f7681cf6c479b2ad120460}{Open\+Mesh\+::\+Vec3us}}

3-\/short unsigned vector 

Definition at line 805 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a254e9861bcc9a47af6178c9fa7261399}\label{a06210_a254e9861bcc9a47af6178c9fa7261399}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4c@{Vec4c}}
\index{Vec4c@{Vec4c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4c}{Vec4c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 4 $>$ \hyperlink{a06210_a254e9861bcc9a47af6178c9fa7261399}{Open\+Mesh\+::\+Vec4c}}

4-\/byte signed vector 

Definition at line 818 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a63d5db1e7cc9580d64d7a6a9c9c4a09c}\label{a06210_a63d5db1e7cc9580d64d7a6a9c9c4a09c}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4d@{Vec4d}}
\index{Vec4d@{Vec4d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4d}{Vec4d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 4 $>$ \hyperlink{a06210_a63d5db1e7cc9580d64d7a6a9c9c4a09c}{Open\+Mesh\+::\+Vec4d}}

4-\/double vector 

Definition at line 832 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a3b7e6dba036bbefcc461f05db4f7694b}\label{a06210_a3b7e6dba036bbefcc461f05db4f7694b}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4f@{Vec4f}}
\index{Vec4f@{Vec4f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4f}{Vec4f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 4 $>$ \hyperlink{a06210_a3b7e6dba036bbefcc461f05db4f7694b}{Open\+Mesh\+::\+Vec4f}}

4-\/float vector 

Definition at line 830 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a98bcb8a2e79a7f62c7fffebccc466781}\label{a06210_a98bcb8a2e79a7f62c7fffebccc466781}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4i@{Vec4i}}
\index{Vec4i@{Vec4i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4i}{Vec4i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 4 $>$ \hyperlink{a06210_a98bcb8a2e79a7f62c7fffebccc466781}{Open\+Mesh\+::\+Vec4i}}

4-\/int signed vector 

Definition at line 826 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_ab2622e0a32cc9f053c84520813592729}\label{a06210_ab2622e0a32cc9f053c84520813592729}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4s@{Vec4s}}
\index{Vec4s@{Vec4s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4s}{Vec4s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 4 $>$ \hyperlink{a06210_ab2622e0a32cc9f053c84520813592729}{Open\+Mesh\+::\+Vec4s}}

4-\/short signed vector 

Definition at line 822 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a0679aaf1401d9d10cbbdf57b4ddddcef}\label{a06210_a0679aaf1401d9d10cbbdf57b4ddddcef}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4uc@{Vec4uc}}
\index{Vec4uc@{Vec4uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4uc}{Vec4uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 4 $>$ \hyperlink{a06210_a0679aaf1401d9d10cbbdf57b4ddddcef}{Open\+Mesh\+::\+Vec4uc}}

4-\/byte unsigned vector 

Definition at line 820 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_af7d7e0de6ecb4b791776444f2c327c73}\label{a06210_af7d7e0de6ecb4b791776444f2c327c73}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4ui@{Vec4ui}}
\index{Vec4ui@{Vec4ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4ui}{Vec4ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 4 $>$ \hyperlink{a06210_af7d7e0de6ecb4b791776444f2c327c73}{Open\+Mesh\+::\+Vec4ui}}

4-\/int unsigned vector 

Definition at line 828 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a5923709edb2577d6d58e44fa44b6b2d7}\label{a06210_a5923709edb2577d6d58e44fa44b6b2d7}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec4us@{Vec4us}}
\index{Vec4us@{Vec4us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec4us}{Vec4us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 4 $>$ \hyperlink{a06210_a5923709edb2577d6d58e44fa44b6b2d7}{Open\+Mesh\+::\+Vec4us}}

4-\/short unsigned vector 

Definition at line 824 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a421f9e51259cdf65cedfa7465fe8e8f7}\label{a06210_a421f9e51259cdf65cedfa7465fe8e8f7}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5c@{Vec5c}}
\index{Vec5c@{Vec5c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5c}{Vec5c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 5 $>$ \hyperlink{a06210_a421f9e51259cdf65cedfa7465fe8e8f7}{Open\+Mesh\+::\+Vec5c}}

5-\/byte signed vector 

Definition at line 835 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a1b3f41ae1ee97c99fea32e3cb697d4e0}\label{a06210_a1b3f41ae1ee97c99fea32e3cb697d4e0}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5d@{Vec5d}}
\index{Vec5d@{Vec5d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5d}{Vec5d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 5 $>$ \hyperlink{a06210_a1b3f41ae1ee97c99fea32e3cb697d4e0}{Open\+Mesh\+::\+Vec5d}}

5-\/double vector 

Definition at line 849 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a155d483431618c28abfb66809ea71fac}\label{a06210_a155d483431618c28abfb66809ea71fac}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5f@{Vec5f}}
\index{Vec5f@{Vec5f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5f}{Vec5f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 5 $>$ \hyperlink{a06210_a155d483431618c28abfb66809ea71fac}{Open\+Mesh\+::\+Vec5f}}

5-\/float vector 

Definition at line 847 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a705eba0d76f1c778e358e7ec17536cc3}\label{a06210_a705eba0d76f1c778e358e7ec17536cc3}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5i@{Vec5i}}
\index{Vec5i@{Vec5i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5i}{Vec5i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 5 $>$ \hyperlink{a06210_a705eba0d76f1c778e358e7ec17536cc3}{Open\+Mesh\+::\+Vec5i}}

5-\/int signed vector 

Definition at line 843 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_ad0cacc6a9152cf473b5fc0b2bdd66633}\label{a06210_ad0cacc6a9152cf473b5fc0b2bdd66633}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5s@{Vec5s}}
\index{Vec5s@{Vec5s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5s}{Vec5s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 5 $>$ \hyperlink{a06210_ad0cacc6a9152cf473b5fc0b2bdd66633}{Open\+Mesh\+::\+Vec5s}}

5-\/short signed vector 

Definition at line 839 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_ac4788f3c9b4dd154f1430553e79e347e}\label{a06210_ac4788f3c9b4dd154f1430553e79e347e}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5uc@{Vec5uc}}
\index{Vec5uc@{Vec5uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5uc}{Vec5uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 5 $>$ \hyperlink{a06210_ac4788f3c9b4dd154f1430553e79e347e}{Open\+Mesh\+::\+Vec5uc}}

5-\/byte unsigned vector 

Definition at line 837 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a5de2733a5abb142e23fb2e8a3c221b28}\label{a06210_a5de2733a5abb142e23fb2e8a3c221b28}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5ui@{Vec5ui}}
\index{Vec5ui@{Vec5ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5ui}{Vec5ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 5 $>$ \hyperlink{a06210_a5de2733a5abb142e23fb2e8a3c221b28}{Open\+Mesh\+::\+Vec5ui}}

5-\/int unsigned vector 

Definition at line 845 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a114b8dec1efe9cc6c5dcc398ec2db10a}\label{a06210_a114b8dec1efe9cc6c5dcc398ec2db10a}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec5us@{Vec5us}}
\index{Vec5us@{Vec5us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec5us}{Vec5us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 5 $>$ \hyperlink{a06210_a114b8dec1efe9cc6c5dcc398ec2db10a}{Open\+Mesh\+::\+Vec5us}}

5-\/short unsigned vector 

Definition at line 841 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a92082b41980d9513fa021da5888e3177}\label{a06210_a92082b41980d9513fa021da5888e3177}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6c@{Vec6c}}
\index{Vec6c@{Vec6c}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6c}{Vec6c}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed char, 6 $>$ \hyperlink{a06210_a92082b41980d9513fa021da5888e3177}{Open\+Mesh\+::\+Vec6c}}

6-\/byte signed vector 

Definition at line 852 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a4990edafce1984fa512d34b0ee38f428}\label{a06210_a4990edafce1984fa512d34b0ee38f428}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6d@{Vec6d}}
\index{Vec6d@{Vec6d}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6d}{Vec6d}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ double, 6 $>$ \hyperlink{a06210_a4990edafce1984fa512d34b0ee38f428}{Open\+Mesh\+::\+Vec6d}}

6-\/double vector 

Definition at line 866 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_af789d12a4a36583175d247875c5cadcf}\label{a06210_af789d12a4a36583175d247875c5cadcf}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6f@{Vec6f}}
\index{Vec6f@{Vec6f}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6f}{Vec6f}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ float, 6 $>$ \hyperlink{a06210_af789d12a4a36583175d247875c5cadcf}{Open\+Mesh\+::\+Vec6f}}

6-\/float vector 

Definition at line 864 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a25eda5dd23675c7f32d309f64e74b44e}\label{a06210_a25eda5dd23675c7f32d309f64e74b44e}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6i@{Vec6i}}
\index{Vec6i@{Vec6i}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6i}{Vec6i}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed int, 6 $>$ \hyperlink{a06210_a25eda5dd23675c7f32d309f64e74b44e}{Open\+Mesh\+::\+Vec6i}}

6-\/int signed vector 

Definition at line 860 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a594226249077d4a603eb8a30d9ce2036}\label{a06210_a594226249077d4a603eb8a30d9ce2036}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6s@{Vec6s}}
\index{Vec6s@{Vec6s}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6s}{Vec6s}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ signed short int, 6 $>$ \hyperlink{a06210_a594226249077d4a603eb8a30d9ce2036}{Open\+Mesh\+::\+Vec6s}}

6-\/short signed vector 

Definition at line 856 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_a26063822a091276712e911f47c373748}\label{a06210_a26063822a091276712e911f47c373748}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6uc@{Vec6uc}}
\index{Vec6uc@{Vec6uc}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6uc}{Vec6uc}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned char, 6 $>$ \hyperlink{a06210_a26063822a091276712e911f47c373748}{Open\+Mesh\+::\+Vec6uc}}

6-\/byte unsigned vector 

Definition at line 854 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_af6172ca2fbe6c65877944661d7bcdc5e}\label{a06210_af6172ca2fbe6c65877944661d7bcdc5e}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6ui@{Vec6ui}}
\index{Vec6ui@{Vec6ui}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6ui}{Vec6ui}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned int, 6 $>$ \hyperlink{a06210_af6172ca2fbe6c65877944661d7bcdc5e}{Open\+Mesh\+::\+Vec6ui}}

6-\/int unsigned vector 

Definition at line 862 of file Vector11\+T.\+hh.

\mbox{\Hypertarget{a06210_af7af51c975035ccdb38b9d392799ca07}\label{a06210_af7af51c975035ccdb38b9d392799ca07}} 
\index{Open\+Mesh@{Open\+Mesh}!Vec6us@{Vec6us}}
\index{Vec6us@{Vec6us}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{Vec6us}{Vec6us}}
{\footnotesize\ttfamily typedef \hyperlink{a08448}{VectorT}$<$ unsigned short int, 6 $>$ \hyperlink{a06210_af7af51c975035ccdb38b9d392799ca07}{Open\+Mesh\+::\+Vec6us}}

6-\/short unsigned vector 

Definition at line 858 of file Vector11\+T.\+hh.



\subsection{Function Documentation}
\mbox{\Hypertarget{a06210_a39010bd91c5088f5c36a3ef2b1e6e697}\label{a06210_a39010bd91c5088f5c36a3ef2b1e6e697}} 
\index{Open\+Mesh@{Open\+Mesh}!angle@{angle}}
\index{angle@{angle}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{angle()}{angle()}}
{\footnotesize\ttfamily template$<$class T $>$ \\
T Open\+Mesh\+::angle (\begin{DoxyParamCaption}\item[{T}]{\+\_\+cos\+\_\+angle,  }\item[{T}]{\+\_\+sin\+\_\+angle }\end{DoxyParamCaption})}

returns the angle determined by its cos and the sign of its sin result is positive if the angle is in \mbox{[}0\+:pi\mbox{]} and negative if it is in \mbox{[}pi\+:2pi\mbox{]} 

Definition at line 140 of file Math\+Defs.\+hh.

\mbox{\Hypertarget{a06210_a82f641ef2370d5bc304e1e764eb0b44b}\label{a06210_a82f641ef2370d5bc304e1e764eb0b44b}} 
\index{Open\+Mesh@{Open\+Mesh}!is\+\_\+zero@{is\+\_\+zero}}
\index{is\+\_\+zero@{is\+\_\+zero}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{is\+\_\+zero()}{is\_zero()}}
{\footnotesize\ttfamily template$<$class T , typename Real $>$ \\
bool Open\+Mesh\+::is\+\_\+zero (\begin{DoxyParamCaption}\item[{const T \&}]{\+\_\+a,  }\item[{Real}]{\+\_\+eps }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

comparison operators with user-\/selected precision control 

Definition at line 61 of file Math\+Defs.\+hh.

\mbox{\Hypertarget{a06210_ac0f75aab1c554cfcdf72a61c09d1ab36}\label{a06210_ac0f75aab1c554cfcdf72a61c09d1ab36}} 
\index{Open\+Mesh@{Open\+Mesh}!mesh\+\_\+cast@{mesh\+\_\+cast}}
\index{mesh\+\_\+cast@{mesh\+\_\+cast}!Open\+Mesh@{Open\+Mesh}}
\subsubsection{\texorpdfstring{mesh\+\_\+cast()}{mesh\_cast()}}
{\footnotesize\ttfamily template$<$typename L\+HS , typename K\+E\+R\+N\+EL $>$ \\
L\+HS Open\+Mesh\+::mesh\+\_\+cast (\begin{DoxyParamCaption}\item[{\hyperlink{a08776}{Poly\+MeshT}$<$ K\+E\+R\+N\+EL $>$ \&}]{rhs }\end{DoxyParamCaption})}



Cast a mesh with different but identical traits into each other. 

Example\+: 
\begin{DoxyCode}
\textcolor{keyword}{struct }TriTraits1 : \textcolor{keyword}{public} \hyperlink{a08800}{OpenMesh::DefaultTraits} \{
  \textcolor{keyword}{typedef} \hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Vec3d} Point;
\};
\textcolor{keyword}{struct }TriTraits2 : \textcolor{keyword}{public} \hyperlink{a08800}{OpenMesh::DefaultTraits} \{
  \textcolor{keyword}{typedef} \hyperlink{a06210_aca56e7eac7bf182bfff4ea1841d2cea2}{Vec3d} Point;
\};
\textcolor{keyword}{struct }TriTraits3 : \textcolor{keyword}{public} \hyperlink{a08800}{OpenMesh::DefaultTraits} \{
  \textcolor{keyword}{typedef} \hyperlink{a08448}{Vec3f} Point;
\};

TriMesh\_ArrayKernelT<TriTraits1> a;
TriMesh\_ArrayKernelT<TriTraits2> &b = \hyperlink{a06210_ac0f75aab1c554cfcdf72a61c09d1ab36}{mesh\_cast}<TriMesh\_ArrayKernelT<TriTraits2>&>(a); \textcolor{comment}{// OK}
TriMesh\_ArrayKernelT<TriTraits3> &c = \hyperlink{a06210_ac0f75aab1c554cfcdf72a61c09d1ab36}{mesh\_cast}<TriMesh\_ArrayKernelT<TriTraits3>&>(a); \textcolor{comment}{// ERROR}
\end{DoxyCode}


\begin{DoxySeeAlso}{See also}
\hyperlink{a08672}{Mesh\+Cast}
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em rhs} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 607 of file Poly\+Mesh\+T.\+hh.

