Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 60f1dc962abad0f3b492991a4fbef9be > files > 999

vtk-doc-5.4.2-5mdv2010.0.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>VTK: vtkMath Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="classes.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>vtkMath Class Reference</h1><!-- doxytag: class="vtkMath" --><!-- doxytag: inherits="vtkObject" --><code>#include &lt;<a class="el" href="a03869.html">vtkMath.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for vtkMath:</div>
<div class="dynsection">
<p><center><img src="a11971.png" border="0" usemap="#a11972" alt="Inheritance graph"></center>
<map name="a11972">
<area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="20,80,100,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="5,6,115,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for vtkMath:</div>
<div class="dynsection">
<p><center><img src="a11973.png" border="0" usemap="#a11974" alt="Collaboration graph"></center>
<map name="a11974">
<area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="87,96,167,123"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="5,5,115,32"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="139,5,248,32"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="a11975.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
performs common math operations 
<p>
<a class="el" href="a00996.html" title="performs common math operations">vtkMath</a> provides methods to perform common math operations. These include providing constants such as Pi; conversion from degrees to radians; vector operations such as dot and cross products and vector norm; matrix determinant for 2x2 and 3x3 matrices; univariate polynomial solvers; and random number generation.<p>
<dl class="user" compact><dt><b>Tests:</b></dt><dd><a class="el" href="c2_vtk_t_10.html#c2_vtk_t_vtkMath">vtkMath (Tests)</a> </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l00053">53</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="a01084.html">vtkObject</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ad2d3c7b60b1ce91d33fbcbdc09143f6">Superclass</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#eb6e750a3d748ed1267d6d6ecec4c2a9">GetClassName</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#5782983818fca1fe6675061d5d8abee3">IsA</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#08cab113a3893c58696c49468a13e2f1">PrintSelf</a> (ostream &amp;os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00996.html">vtkMath</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#5468092bd51218174ad10a2ad85ed73b">New</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0316111890a10bd3f2b3bb9eb94d81c3">IsTypeOf</a> (const char *type)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00996.html">vtkMath</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#39612186c58ea994fcf797ed5414eea7">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d234d00c2ae52afae90452db174bec58">Pi</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#a32a872d29227bb04a59fd60b0a96076">Floor</a> (double x)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static vtkTypeInt64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#5b5df05fb7a424fa2869a8dd148da508">Factorial</a> (int N)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static vtkTypeInt64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#28c8eeb2a5b250ce2472d24ce95e0f56">Binomial</a> (int m, int n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0cfa64bc962dddde9cbb4661a942092b">BeginCombination</a> (int m, int n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#8694828e970a8530060db5506cfa558d">NextCombination</a> (int m, int n, int *combination)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#33b21b73814eb5d1ddb624fa3a6c6185">FreeCombination</a> (int *combination)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#36714645c356e2ba77fbdf071d147a93">RandomSeed</a> (long s)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3469e628adfe1fe181944eb61f46780f">GetSeed</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#29e4885c5d94003640f2ba7988bc107d">Random</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#254c119738283031ed27f2ca70322685">Random</a> (double min, double max)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#fc984b768e615d48cd97e0f8594e2c3b">Gaussian</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#77ce281d6f6a0f514d7b06f31403772b">Gaussian</a> (double mean, double std)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0478c5164c7f26db4fa357f2f5f59bec">Cross</a> (const float x[3], const float y[3], float z[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#6cd7325b04369f312cea2ca01cdce96b">Cross</a> (const double x[3], const double y[3], double z[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#a765892dedc5670ff8fbcb474789d2bd">Normalize</a> (float x[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9878597d78523a780d0bdff521021a26">Normalize</a> (double x[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#11944eda4bd17e4e57bcd1e49c2f9446">Distance2BetweenPoints</a> (const float x[3], const float y[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2ae99578ae65acefe517b12a7f4068e1">Distance2BetweenPoints</a> (const double x[3], const double y[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#42bfd6092238f9a1a10975d5eb11f64b">Normalize2D</a> (float x[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#08932572f5178c06c419ce9848d3b61c">Normalize2D</a> (double x[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#dec7315402522fa3c3ae95e50e00ff15">SolveLinearSystem</a> (double **A, double *x, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#84cc5caa4e4007f056bd4be45a1723a8">InvertMatrix</a> (double **A, double **AI, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d1e0a4b34cd2fc05ec9f925500485c01">LUFactorLinearSystem</a> (double **A, int *index, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ac5fa72bd0ad7a96da828967149ca2f9">EstimateMatrixCondition</a> (double **A, int size)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#964f1fc0c4d7f1a91c496d6e2aabb30e">SolveCubic</a> (double c0, double c1, double c2, double c3)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#e4209ef792c1f30fee1979dd3540e811">SolveQuadratic</a> (double c0, double c1, double c2)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#6a791ebf1407129b7e942b5c6ab0b368">SolveLinear</a> (double c0, double c1)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#a55758125fe26dce3faebad8c85b8d20">SolveQuadratic</a> (double *c, double *r, int *m)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3743e9c1b3a4d03909b855cb44588663">SolveLinear</a> (double c0, double c1, double *r1, int *num_roots)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#93d39538ca8dd55a93a4051cb1b48890">ExtentIsWithinOtherExtent</a> (int extent1[6], int extent2[6])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2d17ec60ac786ac10265ff80bec04712">BoundsIsWithinOtherBounds</a> (double bounds1[6], double bounds2[6], double delta[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3dca42a90d669653f8395eed56bc3a2b">PointIsWithinBounds</a> (double point[3], double bounds[6], double delta[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#dd0483658e07d7b0fc8115d3f7d1b66b">SpiralPoints</a> (<a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a> num, <a class="el" href="a01250.html">vtkPoints</a> *offsets)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#c21d956b4e1d6779580d7eea88e84475">DoubleTwoPi</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#7fba7457e8f8e97e6b18d207747d2c26">DoublePi</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0f8f2897ebd840e8b4766ff62ff4739c">RadiansFromDegrees</a> (float)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9314b07f9843031715b6dd1142e088d0">RadiansFromDegrees</a> (double)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#48cf5fb6b8f307a61ba5d3aa2ea5a733">DegreesFromRadians</a> (float)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#028e70a84b6700362b2e896395ce6d31">DegreesFromRadians</a> (double)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#7a84a201f15975b3a64f69b41be49c9f">DegreesToRadians</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f20b34fb96aab2bd07ecdbd9cbedf14f">DoubleDegreesToRadians</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#8e8db9c91a19909858eb3b752b3036ce">RadiansToDegrees</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#c0d3d3e3e03a0d8ae90eb9038a778503">DoubleRadiansToDegrees</a> ()</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0c5b0cdf8d3a4d7b3b266d7070d984ad">Round</a> (float f)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#b0998487cb9ab02e6588264c2758e8fa">Round</a> (double f)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#120a1e5381ff5374ec1b9bbc4a92f3c5">Dot</a> (const float x[3], const float y[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d9405d4578a48f239efb91ead99c5ba4">Dot</a> (const double x[3], const double y[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#33a8e8e2f870096e8b995500e23d41f2">Outer</a> (const float x[3], const float y[3], float A[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d207ad61d99868c0e0790cbfb7e8f02e">Outer</a> (const double x[3], const double y[3], double A[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#1b75dcac2e5f0f1ddb9d05c611919541">Norm</a> (const float *x, int n)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0b43e293f04dc1bbf45836a21ef595a3">Norm</a> (const double *x, int n)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#467100c38669fe110ed2779982bce4f5">Norm</a> (const float x[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#888bc31249f991a8170f2fa994bbb4ea">Norm</a> (const double x[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#150ebb74e3f67922b27408bc4f2dff52">Perpendiculars</a> (const double x[3], double y[3], double z[3], double theta)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f199b4d1ef247e1cd92f4b79f9dcf6e2">Perpendiculars</a> (const float x[3], float y[3], float z[3], double theta)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#55217249f9716b7aed23e639a306a521">Dot2D</a> (const float x[3], const float y[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#bf6245ea75d9aeb61eb869b827c9dfb9">Dot2D</a> (const double x[3], const double y[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d442b3bcea0577be0def1a98bb2472e3">Outer2D</a> (const float x[3], const float y[3], float A[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#216babab99cd83e5eea0d9c7aed58bb2">Outer2D</a> (const double x[3], const double y[3], double A[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#1222fa68a653dbef7489667303695154">Norm2D</a> (const float x[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#23cc6c4a17904e84a7f8043748b6fac4">Norm2D</a> (const double x[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#b040d14bf00607680a62850b05f5faac">Determinant2x2</a> (const float c1[2], const float c2[2])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ab048d50c28584033221d2fe3e2e874d">Determinant2x2</a> (double a, double b, double c, double d)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#44984bde62de3ebfd7531259e4ad9765">Determinant2x2</a> (const double c1[2], const double c2[2])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#320f7bb9ad826750f1a08e66ad849a61">LUFactor3x3</a> (float A[3][3], int index[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f10328cda9bbce3d838c65a430ab88f1">LUFactor3x3</a> (double A[3][3], int index[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#6d8183ab9eacea7417c098e913443667">LUSolve3x3</a> (const float A[3][3], const int index[3], float x[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#16ae1a29913aa196a87bd00d5b44176f">LUSolve3x3</a> (const double A[3][3], const int index[3], double x[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9af561884b7554963898c7d3906b6718">LinearSolve3x3</a> (const float A[3][3], const float x[3], float y[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#db25980300dd6a755c3bc3474baffdf0">LinearSolve3x3</a> (const double A[3][3], const double x[3], double y[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#4da3eb2e687cc4088bbaef1161751e62">Multiply3x3</a> (const float A[3][3], const float in[3], float out[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#17b68a39d770051ac085f71563c0bb96">Multiply3x3</a> (const double A[3][3], const double in[3], double out[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0449d32094295df29a46eece31e1d168">Multiply3x3</a> (const float A[3][3], const float B[3][3], float C[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0b3863c885f066311bd7d9a947802bf0">Multiply3x3</a> (const double A[3][3], const double B[3][3], double C[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#52f8a7543fad4920d1b3769d986008a7">MultiplyMatrix</a> (const double **A, const double **B, unsigned int rowA, unsigned int colA, unsigned int rowB, unsigned int colB, double **C)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#fa8f6dc85de34d0c27337f65bcbbaf11">Transpose3x3</a> (const float A[3][3], float AT[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#c4299015a8eaba842650db05bd977474">Transpose3x3</a> (const double A[3][3], double AT[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#c1cb54b3ca30596c4bc54d13bdda300e">Invert3x3</a> (const float A[3][3], float AI[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#62f319398a2c5e34a2bdd8bc9d1b4b00">Invert3x3</a> (const double A[3][3], double AI[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2b3dbf82e624c9ae1bf1d8803ecf245d">Identity3x3</a> (float A[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ed464413a53fee288c05dfaf0334fced">Identity3x3</a> (double A[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d7880485adb356a3be4e8f9cf91f52a5">Determinant3x3</a> (float A[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#90aac8b6457f1f6af628aa29f59d8ea5">Determinant3x3</a> (double A[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3e4e289c7f3dfb6c979d1c34aded4629">Determinant3x3</a> (const float c1[3], const float c2[3], const float c3[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#fa2df192808d6c6ea2be34f3cf2ee2b7">Determinant3x3</a> (const double c1[3], const double c2[3], const double c3[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#07dd0f0455c7ed9ae0f58e7b427128fe">Determinant3x3</a> (double a1, double a2, double a3, double b1, double b2, double b3, double c1, double c2, double c3)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f9f6cfdcc01dd647ce1b5f68a7739212">QuaternionToMatrix3x3</a> (const float quat[4], float A[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#dfc143c97f897f3357b8f97ac8e1d9ee">QuaternionToMatrix3x3</a> (const double quat[4], double A[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#bf0f53ce0b5883da0cc3cca0b4b929ef">Matrix3x3ToQuaternion</a> (const float A[3][3], float quat[4])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#1404071e22bc7b7acd0a73117eba6453">Matrix3x3ToQuaternion</a> (const double A[3][3], double quat[4])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d204cfd0803e5f81fb8bc91e7e434bf1">Orthogonalize3x3</a> (const float A[3][3], float B[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#93fa906a7300f7f18799a606a5decff3">Orthogonalize3x3</a> (const double A[3][3], double B[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3ea20fb606b9b4b2b338cda5eda20b16">Diagonalize3x3</a> (const float A[3][3], float w[3], float V[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9cd6079edf436e2854668846bcd7c595">Diagonalize3x3</a> (const double A[3][3], double w[3], double V[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2c03ea7eae8adc2e0e49aa33fae2f357">SingularValueDecomposition3x3</a> (const float A[3][3], float U[3][3], float w[3], float VT[3][3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#6129424c4b605945653e9c64c6868abc">SingularValueDecomposition3x3</a> (const double A[3][3], double U[3][3], double w[3], double VT[3][3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#be26f3a0c273cca5a13d0cb76e8d94d1">InvertMatrix</a> (double **A, double **AI, int size, int *tmp1Size, double *tmp2Size)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#e666b6fb3c8722f0410e1e250c3e106a">LUFactorLinearSystem</a> (double **A, int *index, int size, double *tmpSize)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#307f01592c63f5986048e270e52c3a77">LUSolveLinearSystem</a> (double **A, int *index, double *x, int size)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d55ec58a5c1dd2a50a6e8756483abe8d">Jacobi</a> (float **a, float *w, float **v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0756c2877fdceb53a7aba77b857c29b3">Jacobi</a> (double **a, double *w, double **v)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#668c41dbd47bda94aef8cc37b15dd773">JacobiN</a> (float **a, int n, float *w, float **v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ebe844e0f738e6606c86258ae11f7e76">JacobiN</a> (double **a, int n, double *w, double **v)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#40779020fc0bede453516eeb51d2a0a7">SolveCubic</a> (double c0, double c1, double c2, double c3, double *r1, double *r2, double *r3, int *num_roots)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#a1d432d101ba7c27e9d52f61ab100078">SolveQuadratic</a> (double c0, double c1, double c2, double *r1, double *r2, int *num_roots)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#966d5211cc53fa7c0c72fca47594ac6e">SolveHomogeneousLeastSquares</a> (int numberOfSamples, double **xt, int xOrder, double **mt)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#859c851c76907bbd72f2adc9f139d141">SolveLeastSquares</a> (int numberOfSamples, double **xt, int xOrder, double **yt, int yOrder, double **mt, int checkHomogeneous=1)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#cda272197c6723e3ff6e72822b1e1d79">RGBToHSV</a> (const float rgb[3], float hsv[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#1d22caf1c39447eebb4cbf94d97c26f5">RGBToHSV</a> (float r, float g, float b, float *h, float *s, float *v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#cdd21cdd066b5ee3f099f20abae1508d">RGBToHSV</a> (const double rgb[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#e8c8e37428d6e3a37c948fa3ab990810">RGBToHSV</a> (double r, double g, double b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ad1318dab2335213cba931ae5927fa99">RGBToHSV</a> (const double rgb[3], double hsv[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#b913d532869765e40f86b9b83006ee32">RGBToHSV</a> (double r, double g, double b, double *h, double *s, double *v)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#432c7d56d981a3030cb0d6f4a8789b79">HSVToRGB</a> (const float hsv[3], float rgb[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#62fbf1f394594e40a26bf97c0decb23a">HSVToRGB</a> (float h, float s, float v, float *r, float *g, float *b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#efa15b605513f178af59df55dce0f52c">HSVToRGB</a> (const double hsv[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3b174c8cde194c7abccf1d044745a8fa">HSVToRGB</a> (double h, double s, double v)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#4e5c4224946d2e942dc5937ce6f1d9e8">HSVToRGB</a> (const double hsv[3], double rgb[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#602a5e55f868075f6d9b8b8974a65dcf">HSVToRGB</a> (double h, double s, double v, double *r, double *g, double *b)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3879c122cefb1c449ce918e5f1b1d911">LabToXYZ</a> (const double lab[3], double xyz[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#3f0b462116c3933418db76c01785fdc1">LabToXYZ</a> (double L, double a, double b, double *x, double *y, double *z)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#90d726f36e0a1cc5bd5ccc05e637f3ae">LabToXYZ</a> (const double lab[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#257737dce7bd7f2b2a1de57fecfe2db3">XYZToLab</a> (const double xyz[3], double lab[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#dc44cf694f8eedf6ab41a74337ccb8ac">XYZToLab</a> (double x, double y, double z, double *L, double *a, double *b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ac47c908beac0d1397d7b7ebe8768db8">XYZToLab</a> (const double xyz[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9402083868ca56b82156d150fb5bcfb7">XYZToRGB</a> (const double xyz[3], double rgb[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#1324a65c6b0d08da735a43e28b2925ea">XYZToRGB</a> (double x, double y, double z, double *r, double *g, double *b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f6820496eb311cf238a3ee7cfa2317c1">XYZToRGB</a> (const double xyz[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#5f11627927934251fc6010a76befec10">RGBToXYZ</a> (const double rgb[3], double xyz[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#0b291650e8a9537197e2d62430bee23d">RGBToXYZ</a> (double r, double g, double b, double *x, double *y, double *z)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#a3b73ae4edcccdbf215e8d5ce6e47725">RGBToXYZ</a> (const double rgb[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#9ec1201a0065fcd63bf78c02e24ad7c0">RGBToLab</a> (const double rgb[3], double lab[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f212a19375dcb5dc7058d989e1d19c8d">RGBToLab</a> (double red, double green, double blue, double *L, double *a, double *b)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#bb8694a209d5fc431841d160b81778c4">RGBToLab</a> (const double rgb[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#d6939030cf36bbcda58590a1ed2d5804">LabToRGB</a> (const double lab[3], double rgb[3])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#4cfb9cbf7880173dd37aeec0b70d5325">LabToRGB</a> (double L, double a, double b, double *red, double *green, double *blue)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f403b7c1acbf584b32f0f30aff1c2eac">LabToRGB</a> (const double lab[3])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#b82dc2a06348b1041bd62a1eb9aea06c">UninitializeBounds</a> (double bounds[6])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#e9fb2900520b8646d97f4b997a8c1749">AreBoundsInitialized</a> (double bounds[6])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#470f5cbb2efcb33a3c03355f0f916a1c">ClampValue</a> (double *value, const double range[2])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#511ae083561cc64471c8d261e088251d">ClampValue</a> (double value, const double range[2], double *clamped_value)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#fdc25d71ef2789634a5b0ccf88128a68">ClampValues</a> (double *values, int nb_values, const double range[2])</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#fa7eb65901979a9108a0a89da570a5a8">ClampValues</a> (const double *values, int nb_values, const double range[2], double *clamped_values)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#95e4d9d6928d49b88408cc5f4595c5da">ClampAndNormalizeValue</a> (double value, const double range[2])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#097ad00b5fe640503d8a410f55d04d6a">GetScalarTypeFittingRange</a> (double range_min, double range_max, double scale=1.0, double shift=0.0)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2ec241ccca9cfaea9d43d246688bd3b0">GetAdjustedScalarRange</a> (<a class="el" href="a00356.html">vtkDataArray</a> *array, int comp, double range[2])</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#54193733c61913fb566e47ba284ca7e8">Inf</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#49c88083ce2b8ed50d41fc4ebd9868af">NegInf</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#2c21b947acfd9157815cbd2bdb9f7b5e">Nan</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#f9fa7080e218c2282732f40d8c51128f">vtkMath</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#7a526fb6bcf794a8ed7ffe7a6019941c">~vtkMath</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00996.html#ad61dbb4e7f32d3ddfd1484e2d7cbe9e">Seed</a></td></tr>

</table>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="ad2d3c7b60b1ce91d33fbcbdc09143f6"></a><!-- doxytag: member="vtkMath::Superclass" ref="ad2d3c7b60b1ce91d33fbcbdc09143f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="a01084.html">vtkObject</a> <a class="el" href="a01084.html">vtkMath::Superclass</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#11429dee69f4b562e03e07b453dae9b5">vtkObject</a>.</p>

<p>Definition at line <a class="el" href="a03869.html#l00057">57</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f9fa7080e218c2282732f40d8c51128f"></a><!-- doxytag: member="vtkMath::vtkMath" ref="f9fa7080e218c2282732f40d8c51128f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkMath::vtkMath           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a03869.html#l00796">796</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7a526fb6bcf794a8ed7ffe7a6019941c"></a><!-- doxytag: member="vtkMath::~vtkMath" ref="7a526fb6bcf794a8ed7ffe7a6019941c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkMath::~vtkMath           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a03869.html#l00797">797</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5468092bd51218174ad10a2ad85ed73b"></a><!-- doxytag: member="vtkMath::New" ref="5468092bd51218174ad10a2ad85ed73b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00996.html">vtkMath</a>* vtkMath::New           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create an object with Debug turned off, modified time initialized to zero, and reference counting on. 
<p>Reimplemented from <a class="el" href="a01084.html#4d5b227267c076d6f9e38483370b6612">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="eb6e750a3d748ed1267d6d6ecec4c2a9"></a><!-- doxytag: member="vtkMath::GetClassName" ref="eb6e750a3d748ed1267d6d6ecec4c2a9" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* vtkMath::GetClassName           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#d95975c85c2896ea32ff4cf1f8de0886">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="0316111890a10bd3f2b3bb9eb94d81c3"></a><!-- doxytag: member="vtkMath::IsTypeOf" ref="0316111890a10bd3f2b3bb9eb94d81c3" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::IsTypeOf           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01084.html#e9548a248bce0f02f73bbcccd0a9489e">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="5782983818fca1fe6675061d5d8abee3"></a><!-- doxytag: member="vtkMath::IsA" ref="5782983818fca1fe6675061d5d8abee3" args="(const char *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int vtkMath::IsA           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeRevisionMacro found in vtkSetGet.h. 
<p>Reimplemented from <a class="el" href="a01084.html#831e57b04e46827a7098aa81abadee69">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="39612186c58ea994fcf797ed5414eea7"></a><!-- doxytag: member="vtkMath::SafeDownCast" ref="39612186c58ea994fcf797ed5414eea7" args="(vtkObject *o)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00996.html">vtkMath</a>* vtkMath::SafeDownCast           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> *&nbsp;</td>
          <td class="paramname"> <em>o</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented from <a class="el" href="a01084.html#bb9351f076544c427ee91229dce83abe">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="08cab113a3893c58696c49468a13e2f1"></a><!-- doxytag: member="vtkMath::PrintSelf" ref="08cab113a3893c58696c49468a13e2f1" args="(ostream &amp;os, vtkIndent indent)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMath::PrintSelf           </td>
          <td>(</td>
          <td class="paramtype">ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>os</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00869.html">vtkIndent</a>&nbsp;</td>
          <td class="paramname"> <em>indent</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use <a class="el" href="a01085.html#edadf6378465fd81c2592ef64262e2a5">Print()</a> instead) but used in the hierarchical print process to combine the output of several classes. 
<p>Reimplemented from <a class="el" href="a01084.html#bf3dbb4154289b56a12483eee3866263">vtkObject</a>.</p>

</div>
</div><p>
<a class="anchor" name="d234d00c2ae52afae90452db174bec58"></a><!-- doxytag: member="vtkMath::Pi" ref="d234d00c2ae52afae90452db174bec58" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Pi           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Useful constants. 
<p>Definition at line <a class="el" href="a03869.html#l00061">61</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c21d956b4e1d6779580d7eea88e84475"></a><!-- doxytag: member="vtkMath::DoubleTwoPi" ref="c21d956b4e1d6779580d7eea88e84475" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::DoubleTwoPi           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Useful constants. (double-precision version) 
<p>Definition at line <a class="el" href="a03869.html#l00065">65</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7fba7457e8f8e97e6b18d207747d2c26"></a><!-- doxytag: member="vtkMath::DoublePi" ref="7fba7457e8f8e97e6b18d207747d2c26" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::DoublePi           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Useful constants. (double-precision version) 
<p>Definition at line <a class="el" href="a03869.html#l00066">66</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f8f2897ebd840e8b4766ff62ff4739c"></a><!-- doxytag: member="vtkMath::RadiansFromDegrees" ref="0f8f2897ebd840e8b4766ff62ff4739c" args="(float)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::RadiansFromDegrees           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert degrees into radians 
<p>Definition at line <a class="el" href="a03869.html#l00806">806</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9314b07f9843031715b6dd1142e088d0"></a><!-- doxytag: member="vtkMath::RadiansFromDegrees" ref="9314b07f9843031715b6dd1142e088d0" args="(double)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::RadiansFromDegrees           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert degrees into radians 
<p>Definition at line <a class="el" href="a03869.html#l00812">812</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="48cf5fb6b8f307a61ba5d3aa2ea5a733"></a><!-- doxytag: member="vtkMath::DegreesFromRadians" ref="48cf5fb6b8f307a61ba5d3aa2ea5a733" args="(float)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::DegreesFromRadians           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert radians into degrees 
<p>Definition at line <a class="el" href="a03869.html#l00818">818</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="028e70a84b6700362b2e896395ce6d31"></a><!-- doxytag: member="vtkMath::DegreesFromRadians" ref="028e70a84b6700362b2e896395ce6d31" args="(double)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::DegreesFromRadians           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert radians into degrees 
<p>Definition at line <a class="el" href="a03869.html#l00824">824</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7a84a201f15975b3a64f69b41be49c9f"></a><!-- doxytag: member="vtkMath::DegreesToRadians" ref="7a84a201f15975b3a64f69b41be49c9f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::DegreesToRadians           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>Replaced by <a class="el" href="a00996.html#0f8f2897ebd840e8b4766ff62ff4739c">vtkMath::RadiansFromDegrees()</a> as of VTK 5.4. </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l00831">831</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f20b34fb96aab2bd07ecdbd9cbedf14f"></a><!-- doxytag: member="vtkMath::DoubleDegreesToRadians" ref="f20b34fb96aab2bd07ecdbd9cbedf14f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::DoubleDegreesToRadians           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>Replaced by <a class="el" href="a00996.html#0f8f2897ebd840e8b4766ff62ff4739c">vtkMath::RadiansFromDegrees()</a> as of VTK 5.4. </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l00840">840</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e8db9c91a19909858eb3b752b3036ce"></a><!-- doxytag: member="vtkMath::RadiansToDegrees" ref="8e8db9c91a19909858eb3b752b3036ce" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::RadiansToDegrees           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>Replaced by <a class="el" href="a00996.html#48cf5fb6b8f307a61ba5d3aa2ea5a733">vtkMath::DegreesFromRadians()</a> as of VTK 5.4. </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l00850">850</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="c0d3d3e3e03a0d8ae90eb9038a778503"></a><!-- doxytag: member="vtkMath::DoubleRadiansToDegrees" ref="c0d3d3e3e03a0d8ae90eb9038a778503" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::DoubleRadiansToDegrees           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>Replaced by <a class="el" href="a00996.html#48cf5fb6b8f307a61ba5d3aa2ea5a733">vtkMath::DegreesFromRadians()</a> as of VTK 5.4. </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l00859">859</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0c5b0cdf8d3a4d7b3b266d7070d984ad"></a><!-- doxytag: member="vtkMath::Round" ref="0c5b0cdf8d3a4d7b3b266d7070d984ad" args="(float f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::Round           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rounds a float to the nearest integer. 
<p>Definition at line <a class="el" href="a03869.html#l00095">95</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b0998487cb9ab02e6588264c2758e8fa"></a><!-- doxytag: member="vtkMath::Round" ref="b0998487cb9ab02e6588264c2758e8fa" args="(double f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::Round           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rounds a float to the nearest integer. 
<p>Definition at line <a class="el" href="a03869.html#l00097">97</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a32a872d29227bb04a59fd60b0a96076"></a><!-- doxytag: member="vtkMath::Floor" ref="a32a872d29227bb04a59fd60b0a96076" args="(double x)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int vtkMath::Floor           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a03869.html#l00901">901</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5b5df05fb7a424fa2869a8dd148da508"></a><!-- doxytag: member="vtkMath::Factorial" ref="5b5df05fb7a424fa2869a8dd148da508" args="(int N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">vtkTypeInt64 vtkMath::Factorial           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>N</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute N factorial, N! = N*(N-1) * (N-2)...*3*2*1. 0! is taken to be 1. 
<p>Definition at line <a class="el" href="a03869.html#l00869">869</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="28c8eeb2a5b250ce2472d24ce95e0f56"></a><!-- doxytag: member="vtkMath::Binomial" ref="28c8eeb2a5b250ce2472d24ce95e0f56" args="(int m, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static vtkTypeInt64 vtkMath::Binomial           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The number of combinations of n objects from a pool of m objects (m&gt;n). This is commonly known as "m choose n" and sometimes denoted <img class="formulaInl" alt="$_mC_n$" src="form_0.png"> or <img class="formulaInl" alt="$\left(\begin{array}{c}m \\ n\end{array}\right)$" src="form_1.png">. 
</div>
</div><p>
<a class="anchor" name="0cfa64bc962dddde9cbb4661a942092b"></a><!-- doxytag: member="vtkMath::BeginCombination" ref="0cfa64bc962dddde9cbb4661a942092b" args="(int m, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int* vtkMath::BeginCombination           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Start iterating over "m choose n" objects. This function returns an array of n integers, each from 0 to m-1. These integers represent the n items chosen from the set [0,m[. You are responsible for calling <a class="el" href="a00996.html#33b21b73814eb5d1ddb624fa3a6c6185">vtkMath::FreeCombination()</a> once the iterator is no longer needed. Warning: this gets large very quickly, especially when n nears m/2! (Hint: think of Pascal's triangle.) 
</div>
</div><p>
<a class="anchor" name="8694828e970a8530060db5506cfa558d"></a><!-- doxytag: member="vtkMath::NextCombination" ref="8694828e970a8530060db5506cfa558d" args="(int m, int n, int *combination)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::NextCombination           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>m</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>combination</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given <em>m</em>, <em>n</em>, and a valid <em>combination</em> of <em>n</em> integers in the range [0,m[, this function alters the integers into the next combination in a sequence of all combinations of <em>n</em> items from a pool of <em>m</em>. If the <em>combination</em> is the last item in the sequence on input, then <em>combination</em> is unaltered and 0 is returned. Otherwise, 1 is returned and <em>combination</em> is updated. 
</div>
</div><p>
<a class="anchor" name="33b21b73814eb5d1ddb624fa3a6c6185"></a><!-- doxytag: member="vtkMath::FreeCombination" ref="33b21b73814eb5d1ddb624fa3a6c6185" args="(int *combination)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::FreeCombination           </td>
          <td>(</td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>combination</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Free the "iterator" array created by <a class="el" href="a00996.html#0cfa64bc962dddde9cbb4661a942092b">vtkMath::BeginCombination</a>. 
</div>
</div><p>
<a class="anchor" name="36714645c356e2ba77fbdf071d147a93"></a><!-- doxytag: member="vtkMath::RandomSeed" ref="36714645c356e2ba77fbdf071d147a93" args="(long s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RandomSeed           </td>
          <td>(</td>
          <td class="paramtype">long&nbsp;</td>
          <td class="paramname"> <em>s</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize seed value. NOTE: <a class="el" href="a00996.html#29e4885c5d94003640f2ba7988bc107d">Random()</a> has the bad property that the first random number returned after <a class="el" href="a00996.html#36714645c356e2ba77fbdf071d147a93">RandomSeed()</a> is called is proportional to the seed value! To help solve this, call <a class="el" href="a00996.html#36714645c356e2ba77fbdf071d147a93">RandomSeed()</a> a few times inside seed. This doesn't ruin the repeatability of <a class="el" href="a00996.html#29e4885c5d94003640f2ba7988bc107d">Random()</a>. 
</div>
</div><p>
<a class="anchor" name="3469e628adfe1fe181944eb61f46780f"></a><!-- doxytag: member="vtkMath::GetSeed" ref="3469e628adfe1fe181944eb61f46780f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static long vtkMath::GetSeed           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the current seed used by the random number generator. 
</div>
</div><p>
<a class="anchor" name="29e4885c5d94003640f2ba7988bc107d"></a><!-- doxytag: member="vtkMath::Random" ref="29e4885c5d94003640f2ba7988bc107d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Random           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate pseudo-random numbers distributed according to the uniform distribution between 0.0 and 1.0. This is used to provide portability across different systems. 
</div>
</div><p>
<a class="anchor" name="254c119738283031ed27f2ca70322685"></a><!-- doxytag: member="vtkMath::Random" ref="254c119738283031ed27f2ca70322685" args="(double min, double max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Random           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>max</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate pseudo-random numbers distributed according to the uniform distribution between <em>min</em> and <em>max</em>. 
<p>Definition at line <a class="el" href="a03869.html#l00880">880</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc984b768e615d48cd97e0f8594e2c3b"></a><!-- doxytag: member="vtkMath::Gaussian" ref="fc984b768e615d48cd97e0f8594e2c3b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Gaussian           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate pseudo-random numbers distributed according to the standard normal distribution. 
<p>Definition at line <a class="el" href="a03869.html#l00886">886</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="77ce281d6f6a0f514d7b06f31403772b"></a><!-- doxytag: member="vtkMath::Gaussian" ref="77ce281d6f6a0f514d7b06f31403772b" args="(double mean, double std)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Gaussian           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>mean</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>std</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Generate pseudo-random numbers distributed according to the Gaussian distribution with mean <em>mean</em> and standard deviation <em>std</em>. 
<p>Definition at line <a class="el" href="a03869.html#l00895">895</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="120a1e5381ff5374ec1b9bbc4a92f3c5"></a><!-- doxytag: member="vtkMath::Dot" ref="120a1e5381ff5374ec1b9bbc4a92f3c5" args="(const float x[3], const float y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Dot           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dot product of two 3-vectors (float version). 
<p>Definition at line <a class="el" href="a03869.html#l00160">160</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d9405d4578a48f239efb91ead99c5ba4"></a><!-- doxytag: member="vtkMath::Dot" ref="d9405d4578a48f239efb91ead99c5ba4" args="(const double x[3], const double y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Dot           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dot product of two 3-vectors (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00166">166</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="33a8e8e2f870096e8b995500e23d41f2"></a><!-- doxytag: member="vtkMath::Outer" ref="33a8e8e2f870096e8b995500e23d41f2" args="(const float x[3], const float y[3], float A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Outer           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Outer product of two 3-vectors (float version). 
<p>Definition at line <a class="el" href="a03869.html#l00172">172</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d207ad61d99868c0e0790cbfb7e8f02e"></a><!-- doxytag: member="vtkMath::Outer" ref="d207ad61d99868c0e0790cbfb7e8f02e" args="(const double x[3], const double y[3], double A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Outer           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Outer product of two 3-vectors (float version). 
<p>Definition at line <a class="el" href="a03869.html#l00179">179</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0478c5164c7f26db4fa357f2f5f59bec"></a><!-- doxytag: member="vtkMath::Cross" ref="0478c5164c7f26db4fa357f2f5f59bec" args="(const float x[3], const float y[3], float z[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMath::Cross           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cross product of two 3-vectors. Result vector in z[3]. 
<p>Definition at line <a class="el" href="a03869.html#l01022">1022</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6cd7325b04369f312cea2ca01cdce96b"></a><!-- doxytag: member="vtkMath::Cross" ref="6cd7325b04369f312cea2ca01cdce96b" args="(const double x[3], const double y[3], double z[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMath::Cross           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>z</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cross product of two 3-vectors. Result vector in z[3]. (double-precision version) 
<p>Definition at line <a class="el" href="a03869.html#l01032">1032</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1b75dcac2e5f0f1ddb9d05c611919541"></a><!-- doxytag: member="vtkMath::Norm" ref="1b75dcac2e5f0f1ddb9d05c611919541" args="(const float *x, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Norm           </td>
          <td>(</td>
          <td class="paramtype">const float *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of n-vector. 
</div>
</div><p>
<a class="anchor" name="0b43e293f04dc1bbf45836a21ef595a3"></a><!-- doxytag: member="vtkMath::Norm" ref="0b43e293f04dc1bbf45836a21ef595a3" args="(const double *x, int n)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Norm           </td>
          <td>(</td>
          <td class="paramtype">const double *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of n-vector. 
</div>
</div><p>
<a class="anchor" name="467100c38669fe110ed2779982bce4f5"></a><!-- doxytag: member="vtkMath::Norm" ref="467100c38669fe110ed2779982bce4f5" args="(const float x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Norm           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of 3-vector. 
<p>Definition at line <a class="el" href="a03869.html#l00201">201</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="888bc31249f991a8170f2fa994bbb4ea"></a><!-- doxytag: member="vtkMath::Norm" ref="888bc31249f991a8170f2fa994bbb4ea" args="(const double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Norm           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of 3-vector (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00207">207</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a765892dedc5670ff8fbcb474789d2bd"></a><!-- doxytag: member="vtkMath::Normalize" ref="a765892dedc5670ff8fbcb474789d2bd" args="(float x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::Normalize           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize (in place) a 3-vector. Returns norm of vector. 
<p>Definition at line <a class="el" href="a03869.html#l00919">919</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="9878597d78523a780d0bdff521021a26"></a><!-- doxytag: member="vtkMath::Normalize" ref="9878597d78523a780d0bdff521021a26" args="(double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Normalize           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize (in place) a 3-vector. Returns norm of vector (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00933">933</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="150ebb74e3f67922b27408bc4f2dff52"></a><!-- doxytag: member="vtkMath::Perpendiculars" ref="150ebb74e3f67922b27408bc4f2dff52" args="(const double x[3], double y[3], double z[3], double theta)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Perpendiculars           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>z</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>theta</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given a unit vector x, find two unit vectors y and z such that x cross y = z (i.e. the vectors are perpendicular to each other). There is an infinite number of such vectors, specify an angle theta to choose one set. If you want only one perpendicular vector, specify NULL for z. 
</div>
</div><p>
<a class="anchor" name="f199b4d1ef247e1cd92f4b79f9dcf6e2"></a><!-- doxytag: member="vtkMath::Perpendiculars" ref="f199b4d1ef247e1cd92f4b79f9dcf6e2" args="(const float x[3], float y[3], float z[3], double theta)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Perpendiculars           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>z</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>theta</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Given a unit vector x, find two unit vectors y and z such that x cross y = z (i.e. the vectors are perpendicular to each other). There is an infinite number of such vectors, specify an angle theta to choose one set. If you want only one perpendicular vector, specify NULL for z. 
</div>
</div><p>
<a class="anchor" name="11944eda4bd17e4e57bcd1e49c2f9446"></a><!-- doxytag: member="vtkMath::Distance2BetweenPoints" ref="11944eda4bd17e4e57bcd1e49c2f9446" args="(const float x[3], const float y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::Distance2BetweenPoints           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute distance squared between two points. 
<p>Definition at line <a class="el" href="a03869.html#l01003">1003</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="2ae99578ae65acefe517b12a7f4068e1"></a><!-- doxytag: member="vtkMath::Distance2BetweenPoints" ref="2ae99578ae65acefe517b12a7f4068e1" args="(const double x[3], const double y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Distance2BetweenPoints           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute distance squared between two points (double precision version). 
<p>Definition at line <a class="el" href="a03869.html#l01012">1012</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="55217249f9716b7aed23e639a306a521"></a><!-- doxytag: member="vtkMath::Dot2D" ref="55217249f9716b7aed23e639a306a521" args="(const float x[3], const float y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Dot2D           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dot product of two 2-vectors. The third (z) component is ignored. 
<p>Definition at line <a class="el" href="a03869.html#l00239">239</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="bf6245ea75d9aeb61eb869b827c9dfb9"></a><!-- doxytag: member="vtkMath::Dot2D" ref="bf6245ea75d9aeb61eb869b827c9dfb9" args="(const double x[3], const double y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Dot2D           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dot product of two 2-vectors. The third (z) component is ignored (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00246">246</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d442b3bcea0577be0def1a98bb2472e3"></a><!-- doxytag: member="vtkMath::Outer2D" ref="d442b3bcea0577be0def1a98bb2472e3" args="(const float x[3], const float y[3], float A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Outer2D           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Outer product of two 2-vectors (float version). z-comp is ignored 
<p>Definition at line <a class="el" href="a03869.html#l00252">252</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="216babab99cd83e5eea0d9c7aed58bb2"></a><!-- doxytag: member="vtkMath::Outer2D" ref="216babab99cd83e5eea0d9c7aed58bb2" args="(const double x[3], const double y[3], double A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Outer2D           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Outer product of two 2-vectors (float version). z-comp is ignored 
<p>Definition at line <a class="el" href="a03869.html#l00264">264</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1222fa68a653dbef7489667303695154"></a><!-- doxytag: member="vtkMath::Norm2D" ref="1222fa68a653dbef7489667303695154" args="(const float x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Norm2D           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of a 2-vector. Ignores z-component. 
<p>Definition at line <a class="el" href="a03869.html#l00278">278</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="23cc6c4a17904e84a7f8043748b6fac4"></a><!-- doxytag: member="vtkMath::Norm2D" ref="23cc6c4a17904e84a7f8043748b6fac4" args="(const double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Norm2D           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute the norm of a 2-vector. Ignores z-component (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00285">285</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="42bfd6092238f9a1a10975d5eb11f64b"></a><!-- doxytag: member="vtkMath::Normalize2D" ref="42bfd6092238f9a1a10975d5eb11f64b" args="(float x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::Normalize2D           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize (in place) a 2-vector. Returns norm of vector. Ignores z-component. 
<p>Definition at line <a class="el" href="a03869.html#l00947">947</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="08932572f5178c06c419ce9848d3b61c"></a><!-- doxytag: member="vtkMath::Normalize2D" ref="08932572f5178c06c419ce9848d3b61c" args="(double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Normalize2D           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Normalize (in place) a 2-vector. Returns norm of vector. Ignores z-component (double-precision version). 
<p>Definition at line <a class="el" href="a03869.html#l00961">961</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b040d14bf00607680a62850b05f5faac"></a><!-- doxytag: member="vtkMath::Determinant2x2" ref="b040d14bf00607680a62850b05f5faac" args="(const float c1[2], const float c2[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static float vtkMath::Determinant2x2           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>c1</em>[2], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>c2</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute determinant of 2x2 matrix. Two columns of matrix are input. 
<p>Definition at line <a class="el" href="a03869.html#l00299">299</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ab048d50c28584033221d2fe3e2e874d"></a><!-- doxytag: member="vtkMath::Determinant2x2" ref="ab048d50c28584033221d2fe3e2e874d" args="(double a, double b, double c, double d)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Determinant2x2           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>d</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the determinant of a 2x2 matrix: | a b | | c d | 
<p>Definition at line <a class="el" href="a03869.html#l00305">305</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="44984bde62de3ebfd7531259e4ad9765"></a><!-- doxytag: member="vtkMath::Determinant2x2" ref="44984bde62de3ebfd7531259e4ad9765" args="(const double c1[2], const double c2[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Determinant2x2           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>c1</em>[2], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>c2</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the determinant of a 2x2 matrix: | a b | | c d | 
<p>Definition at line <a class="el" href="a03869.html#l00307">307</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="320f7bb9ad826750f1a08e66ad849a61"></a><!-- doxytag: member="vtkMath::LUFactor3x3" ref="320f7bb9ad826750f1a08e66ad849a61" args="(float A[3][3], int index[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LUFactor3x3           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>index</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
LU Factorization of a 3x3 matrix. The diagonal elements are the multiplicative inverse of those in the standard LU factorization. 
</div>
</div><p>
<a class="anchor" name="f10328cda9bbce3d838c65a430ab88f1"></a><!-- doxytag: member="vtkMath::LUFactor3x3" ref="f10328cda9bbce3d838c65a430ab88f1" args="(double A[3][3], int index[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LUFactor3x3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>index</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
LU Factorization of a 3x3 matrix. The diagonal elements are the multiplicative inverse of those in the standard LU factorization. 
</div>
</div><p>
<a class="anchor" name="6d8183ab9eacea7417c098e913443667"></a><!-- doxytag: member="vtkMath::LUSolve3x3" ref="6d8183ab9eacea7417c098e913443667" args="(const float A[3][3], const int index[3], float x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LUSolve3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>index</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
LU back substitution for a 3x3 matrix. The diagonal elements are the multiplicative inverse of those in the standard LU factorization. 
</div>
</div><p>
<a class="anchor" name="16ae1a29913aa196a87bd00d5b44176f"></a><!-- doxytag: member="vtkMath::LUSolve3x3" ref="16ae1a29913aa196a87bd00d5b44176f" args="(const double A[3][3], const int index[3], double x[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LUSolve3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>index</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
LU back substitution for a 3x3 matrix. The diagonal elements are the multiplicative inverse of those in the standard LU factorization. 
</div>
</div><p>
<a class="anchor" name="9af561884b7554963898c7d3906b6718"></a><!-- doxytag: member="vtkMath::LinearSolve3x3" ref="9af561884b7554963898c7d3906b6718" args="(const float A[3][3], const float x[3], float y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LinearSolve3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solve Ay = x for y and place the result in y. The matrix A is destroyed in the process. 
</div>
</div><p>
<a class="anchor" name="db25980300dd6a755c3bc3474baffdf0"></a><!-- doxytag: member="vtkMath::LinearSolve3x3" ref="db25980300dd6a755c3bc3474baffdf0" args="(const double A[3][3], const double x[3], double y[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LinearSolve3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>x</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solve Ay = x for y and place the result in y. The matrix A is destroyed in the process. 
</div>
</div><p>
<a class="anchor" name="4da3eb2e687cc4088bbaef1161751e62"></a><!-- doxytag: member="vtkMath::Multiply3x3" ref="4da3eb2e687cc4088bbaef1161751e62" args="(const float A[3][3], const float in[3], float out[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Multiply3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>in</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>out</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector by a 3x3 matrix. The result is placed in out. 
</div>
</div><p>
<a class="anchor" name="17b68a39d770051ac085f71563c0bb96"></a><!-- doxytag: member="vtkMath::Multiply3x3" ref="17b68a39d770051ac085f71563c0bb96" args="(const double A[3][3], const double in[3], double out[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Multiply3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>in</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>out</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply a vector by a 3x3 matrix. The result is placed in out. 
</div>
</div><p>
<a class="anchor" name="0449d32094295df29a46eece31e1d168"></a><!-- doxytag: member="vtkMath::Multiply3x3" ref="0449d32094295df29a46eece31e1d168" args="(const float A[3][3], const float B[3][3], float C[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Multiply3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>B</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>C</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply one 3x3 matrix by another according to C = AB. 
</div>
</div><p>
<a class="anchor" name="0b3863c885f066311bd7d9a947802bf0"></a><!-- doxytag: member="vtkMath::Multiply3x3" ref="0b3863c885f066311bd7d9a947802bf0" args="(const double A[3][3], const double B[3][3], double C[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Multiply3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>B</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>C</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Multiply one 3x3 matrix by another according to C = AB. 
</div>
</div><p>
<a class="anchor" name="52f8a7543fad4920d1b3769d986008a7"></a><!-- doxytag: member="vtkMath::MultiplyMatrix" ref="52f8a7543fad4920d1b3769d986008a7" args="(const double **A, const double **B, unsigned int rowA, unsigned int colA, unsigned int rowB, unsigned int colB, double **C)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::MultiplyMatrix           </td>
          <td>(</td>
          <td class="paramtype">const double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double **&nbsp;</td>
          <td class="paramname"> <em>B</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>rowA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>colA</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>rowB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>colB</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>C</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
General matrix multiplication. You must allocate output storage. colA == rowB and matrix C is rowA x colB 
</div>
</div><p>
<a class="anchor" name="fa8f6dc85de34d0c27337f65bcbbaf11"></a><!-- doxytag: member="vtkMath::Transpose3x3" ref="fa8f6dc85de34d0c27337f65bcbbaf11" args="(const float A[3][3], float AT[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Transpose3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>AT</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transpose a 3x3 matrix. 
</div>
</div><p>
<a class="anchor" name="c4299015a8eaba842650db05bd977474"></a><!-- doxytag: member="vtkMath::Transpose3x3" ref="c4299015a8eaba842650db05bd977474" args="(const double A[3][3], double AT[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Transpose3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>AT</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transpose a 3x3 matrix. 
</div>
</div><p>
<a class="anchor" name="c1cb54b3ca30596c4bc54d13bdda300e"></a><!-- doxytag: member="vtkMath::Invert3x3" ref="c1cb54b3ca30596c4bc54d13bdda300e" args="(const float A[3][3], float AI[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Invert3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>AI</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Invert a 3x3 matrix. 
</div>
</div><p>
<a class="anchor" name="62f319398a2c5e34a2bdd8bc9d1b4b00"></a><!-- doxytag: member="vtkMath::Invert3x3" ref="62f319398a2c5e34a2bdd8bc9d1b4b00" args="(const double A[3][3], double AI[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Invert3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>AI</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Invert a 3x3 matrix. 
</div>
</div><p>
<a class="anchor" name="2b3dbf82e624c9ae1bf1d8803ecf245d"></a><!-- doxytag: member="vtkMath::Identity3x3" ref="2b3dbf82e624c9ae1bf1d8803ecf245d" args="(float A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Identity3x3           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set A to the identity matrix. 
</div>
</div><p>
<a class="anchor" name="ed464413a53fee288c05dfaf0334fced"></a><!-- doxytag: member="vtkMath::Identity3x3" ref="ed464413a53fee288c05dfaf0334fced" args="(double A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Identity3x3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set A to the identity matrix. 
</div>
</div><p>
<a class="anchor" name="d7880485adb356a3be4e8f9cf91f52a5"></a><!-- doxytag: member="vtkMath::Determinant3x3" ref="d7880485adb356a3be4e8f9cf91f52a5" args="(float A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Determinant3x3           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the determinant of a 3x3 matrix. 
<p>Definition at line <a class="el" href="a03869.html#l01052">1052</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="90aac8b6457f1f6af628aa29f59d8ea5"></a><!-- doxytag: member="vtkMath::Determinant3x3" ref="90aac8b6457f1f6af628aa29f59d8ea5" args="(double A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Determinant3x3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the determinant of a 3x3 matrix. 
<p>Definition at line <a class="el" href="a03869.html#l01058">1058</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3e4e289c7f3dfb6c979d1c34aded4629"></a><!-- doxytag: member="vtkMath::Determinant3x3" ref="3e4e289c7f3dfb6c979d1c34aded4629" args="(const float c1[3], const float c2[3], const float c3[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float vtkMath::Determinant3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>c1</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>c2</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>c3</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute determinant of 3x3 matrix. Three columns of matrix are input. 
<p>Definition at line <a class="el" href="a03869.html#l00975">975</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fa2df192808d6c6ea2be34f3cf2ee2b7"></a><!-- doxytag: member="vtkMath::Determinant3x3" ref="fa2df192808d6c6ea2be34f3cf2ee2b7" args="(const double c1[3], const double c2[3], const double c3[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Determinant3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>c1</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>c2</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>c3</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Compute determinant of 3x3 matrix. Three columns of matrix are input. 
<p>Definition at line <a class="el" href="a03869.html#l00984">984</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="07dd0f0455c7ed9ae0f58e7b427128fe"></a><!-- doxytag: member="vtkMath::Determinant3x3" ref="07dd0f0455c7ed9ae0f58e7b427128fe" args="(double a1, double a2, double a3, double b1, double b2, double b3, double c1, double c2, double c3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::Determinant3x3           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c3</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate the determinant of a 3x3 matrix in the form: | a1, b1, c1 | | a2, b2, c2 | | a3, b3, c3 | 
<p>Definition at line <a class="el" href="a03869.html#l00993">993</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f9f6cfdcc01dd647ce1b5f68a7739212"></a><!-- doxytag: member="vtkMath::QuaternionToMatrix3x3" ref="f9f6cfdcc01dd647ce1b5f68a7739212" args="(const float quat[4], float A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::QuaternionToMatrix3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>quat</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a quaternion to a 3x3 rotation matrix. The quaternion does not have to be normalized beforehand. 
</div>
</div><p>
<a class="anchor" name="dfc143c97f897f3357b8f97ac8e1d9ee"></a><!-- doxytag: member="vtkMath::QuaternionToMatrix3x3" ref="dfc143c97f897f3357b8f97ac8e1d9ee" args="(const double quat[4], double A[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::QuaternionToMatrix3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>quat</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a quaternion to a 3x3 rotation matrix. The quaternion does not have to be normalized beforehand. 
</div>
</div><p>
<a class="anchor" name="bf0f53ce0b5883da0cc3cca0b4b929ef"></a><!-- doxytag: member="vtkMath::Matrix3x3ToQuaternion" ref="bf0f53ce0b5883da0cc3cca0b4b929ef" args="(const float A[3][3], float quat[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Matrix3x3ToQuaternion           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>quat</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a 3x3 matrix into a quaternion. This will provide the best possible answer even if the matrix is not a pure rotation matrix. The method used is that of B.K.P. Horn. 
</div>
</div><p>
<a class="anchor" name="1404071e22bc7b7acd0a73117eba6453"></a><!-- doxytag: member="vtkMath::Matrix3x3ToQuaternion" ref="1404071e22bc7b7acd0a73117eba6453" args="(const double A[3][3], double quat[4])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Matrix3x3ToQuaternion           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>quat</em>[4]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a 3x3 matrix into a quaternion. This will provide the best possible answer even if the matrix is not a pure rotation matrix. The method used is that of B.K.P. Horn. 
</div>
</div><p>
<a class="anchor" name="d204cfd0803e5f81fb8bc91e7e434bf1"></a><!-- doxytag: member="vtkMath::Orthogonalize3x3" ref="d204cfd0803e5f81fb8bc91e7e434bf1" args="(const float A[3][3], float B[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Orthogonalize3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>B</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Orthogonalize a 3x3 matrix and put the result in B. If matrix A has a negative determinant, then B will be a rotation plus a flip i.e. it will have a determinant of -1. 
</div>
</div><p>
<a class="anchor" name="93fa906a7300f7f18799a606a5decff3"></a><!-- doxytag: member="vtkMath::Orthogonalize3x3" ref="93fa906a7300f7f18799a606a5decff3" args="(const double A[3][3], double B[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Orthogonalize3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>B</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Orthogonalize a 3x3 matrix and put the result in B. If matrix A has a negative determinant, then B will be a rotation plus a flip i.e. it will have a determinant of -1. 
</div>
</div><p>
<a class="anchor" name="3ea20fb606b9b4b2b338cda5eda20b16"></a><!-- doxytag: member="vtkMath::Diagonalize3x3" ref="3ea20fb606b9b4b2b338cda5eda20b16" args="(const float A[3][3], float w[3], float V[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Diagonalize3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>w</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>V</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Diagonalize a symmetric 3x3 matrix and return the eigenvalues in w and the eigenvectors in the columns of V. The matrix V will have a positive determinant, and the three eigenvectors will be aligned as closely as possible with the x, y, and z axes. 
</div>
</div><p>
<a class="anchor" name="9cd6079edf436e2854668846bcd7c595"></a><!-- doxytag: member="vtkMath::Diagonalize3x3" ref="9cd6079edf436e2854668846bcd7c595" args="(const double A[3][3], double w[3], double V[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::Diagonalize3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>w</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>V</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Diagonalize a symmetric 3x3 matrix and return the eigenvalues in w and the eigenvectors in the columns of V. The matrix V will have a positive determinant, and the three eigenvectors will be aligned as closely as possible with the x, y, and z axes. 
</div>
</div><p>
<a class="anchor" name="2c03ea7eae8adc2e0e49aa33fae2f357"></a><!-- doxytag: member="vtkMath::SingularValueDecomposition3x3" ref="2c03ea7eae8adc2e0e49aa33fae2f357" args="(const float A[3][3], float U[3][3], float w[3], float VT[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::SingularValueDecomposition3x3           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>U</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>w</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>VT</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Perform singular value decomposition on a 3x3 matrix. This is not done using a conventional SVD algorithm, instead it is done using Orthogonalize3x3 and Diagonalize3x3. Both output matrices U and VT will have positive determinants, and the w values will be arranged such that the three rows of VT are aligned as closely as possible with the x, y, and z axes respectively. If the determinant of A is negative, then the three w values will be negative. 
</div>
</div><p>
<a class="anchor" name="6129424c4b605945653e9c64c6868abc"></a><!-- doxytag: member="vtkMath::SingularValueDecomposition3x3" ref="6129424c4b605945653e9c64c6868abc" args="(const double A[3][3], double U[3][3], double w[3], double VT[3][3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::SingularValueDecomposition3x3           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>A</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>U</em>[3][3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>w</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>VT</em>[3][3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Perform singular value decomposition on a 3x3 matrix. This is not done using a conventional SVD algorithm, instead it is done using Orthogonalize3x3 and Diagonalize3x3. Both output matrices U and VT will have positive determinants, and the w values will be arranged such that the three rows of VT are aligned as closely as possible with the x, y, and z axes respectively. If the determinant of A is negative, then the three w values will be negative. 
</div>
</div><p>
<a class="anchor" name="dec7315402522fa3c3ae95e50e00ff15"></a><!-- doxytag: member="vtkMath::SolveLinearSystem" ref="dec7315402522fa3c3ae95e50e00ff15" args="(double **A, double *x, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveLinearSystem           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solve linear equations Ax = b using Crout's method. Input is square matrix A and load vector x. Solution x is written over load vector. The dimension of the matrix is specified in size. If error is found, method returns a 0. 
</div>
</div><p>
<a class="anchor" name="84cc5caa4e4007f056bd4be45a1723a8"></a><!-- doxytag: member="vtkMath::InvertMatrix" ref="84cc5caa4e4007f056bd4be45a1723a8" args="(double **A, double **AI, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::InvertMatrix           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>AI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Invert input square matrix A into matrix AI. Note that A is modified during the inversion. The size variable is the dimension of the matrix. Returns 0 if inverse not computed. 
</div>
</div><p>
<a class="anchor" name="be26f3a0c273cca5a13d0cb76e8d94d1"></a><!-- doxytag: member="vtkMath::InvertMatrix" ref="be26f3a0c273cca5a13d0cb76e8d94d1" args="(double **A, double **AI, int size, int *tmp1Size, double *tmp2Size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::InvertMatrix           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>AI</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>tmp1Size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>tmp2Size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Thread safe version of InvertMatrix method. Working memory arrays tmp1SIze and tmp2Size of length size must be passed in. 
</div>
</div><p>
<a class="anchor" name="d1e0a4b34cd2fc05ec9f925500485c01"></a><!-- doxytag: member="vtkMath::LUFactorLinearSystem" ref="d1e0a4b34cd2fc05ec9f925500485c01" args="(double **A, int *index, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::LUFactorLinearSystem           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Factor linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix. Input is square matrix A, integer array of pivot indices index[0-&gt;n-1], and size of square matrix n. Output factorization LU is in matrix A. If error is found, method returns 0. 
</div>
</div><p>
<a class="anchor" name="e666b6fb3c8722f0410e1e250c3e106a"></a><!-- doxytag: member="vtkMath::LUFactorLinearSystem" ref="e666b6fb3c8722f0410e1e250c3e106a" args="(double **A, int *index, int size, double *tmpSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::LUFactorLinearSystem           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>tmpSize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Thread safe version of LUFactorLinearSystem method. Working memory array tmpSize of length size must be passed in. 
</div>
</div><p>
<a class="anchor" name="307f01592c63f5986048e270e52c3a77"></a><!-- doxytag: member="vtkMath::LUSolveLinearSystem" ref="307f01592c63f5986048e270e52c3a77" args="(double **A, int *index, double *x, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LUSolveLinearSystem           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solve linear equations Ax = b using LU decomposition A = LU where L is lower triangular matrix and U is upper triangular matrix. Input is factored matrix A=LU, integer array of pivot indices index[0-&gt;n-1], load vector x[0-&gt;n-1], and size of square matrix n. Note that A=LU and index[] are generated from method LUFactorLinearSystem). Also, solution vector is written directly over input load vector. 
</div>
</div><p>
<a class="anchor" name="ac5fa72bd0ad7a96da828967149ca2f9"></a><!-- doxytag: member="vtkMath::EstimateMatrixCondition" ref="ac5fa72bd0ad7a96da828967149ca2f9" args="(double **A, int size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::EstimateMatrixCondition           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>A</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Estimate the condition number of a LU factored matrix. Used to judge the accuracy of the solution. The matrix A must have been previously factored using the method LUFactorLinearSystem. The condition number is the ratio of the infinity matrix norm (i.e., maximum value of matrix component) divided by the minimum diagonal value. (This works for triangular matrices only: see Conte and de Boor, Elementary Numerical Analysis.) 
</div>
</div><p>
<a class="anchor" name="d55ec58a5c1dd2a50a6e8756483abe8d"></a><!-- doxytag: member="vtkMath::Jacobi" ref="d55ec58a5c1dd2a50a6e8756483abe8d" args="(float **a, float *w, float **v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::Jacobi           </td>
          <td>(</td>
          <td class="paramtype">float **&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float **&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Jacobi iteration for the solution of eigenvectors/eigenvalues of a 3x3 real symmetric matrix. Square 3x3 matrix a; output eigenvalues in w; and output eigenvectors in v. Resulting eigenvalues/vectors are sorted in decreasing order; eigenvectors are normalized. 
</div>
</div><p>
<a class="anchor" name="0756c2877fdceb53a7aba77b857c29b3"></a><!-- doxytag: member="vtkMath::Jacobi" ref="0756c2877fdceb53a7aba77b857c29b3" args="(double **a, double *w, double **v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::Jacobi           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Jacobi iteration for the solution of eigenvectors/eigenvalues of a 3x3 real symmetric matrix. Square 3x3 matrix a; output eigenvalues in w; and output eigenvectors in v. Resulting eigenvalues/vectors are sorted in decreasing order; eigenvectors are normalized. 
</div>
</div><p>
<a class="anchor" name="668c41dbd47bda94aef8cc37b15dd773"></a><!-- doxytag: member="vtkMath::JacobiN" ref="668c41dbd47bda94aef8cc37b15dd773" args="(float **a, int n, float *w, float **v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::JacobiN           </td>
          <td>(</td>
          <td class="paramtype">float **&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float **&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
JacobiN iteration for the solution of eigenvectors/eigenvalues of a nxn real symmetric matrix. Square nxn matrix a; size of matrix in n; output eigenvalues in w; and output eigenvectors in v. Resulting eigenvalues/vectors are sorted in decreasing order; eigenvectors are normalized. w and v need to be allocated previously 
</div>
</div><p>
<a class="anchor" name="ebe844e0f738e6606c86258ae11f7e76"></a><!-- doxytag: member="vtkMath::JacobiN" ref="ebe844e0f738e6606c86258ae11f7e76" args="(double **a, int n, double *w, double **v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::JacobiN           </td>
          <td>(</td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>n</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
JacobiN iteration for the solution of eigenvectors/eigenvalues of a nxn real symmetric matrix. Square nxn matrix a; size of matrix in n; output eigenvalues in w; and output eigenvectors in v. Resulting eigenvalues/vectors are sorted in decreasing order; eigenvectors are normalized. w and v need to be allocated previously 
</div>
</div><p>
<a class="anchor" name="964f1fc0c4d7f1a91c496d6e2aabb30e"></a><!-- doxytag: member="vtkMath::SolveCubic" ref="964f1fc0c4d7f1a91c496d6e2aabb30e" args="(double c0, double c1, double c2, double c3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::SolveCubic           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c3</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a cubic equation c0*t^3 + c1*t^2 + c2*t + c3 = 0 when c0, c1, c2, and c3 are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Return array contains number of (real) roots (counting multiple roots as one) followed by roots themselves. The value in roots[4] is a integer giving further information about the roots (see return codes for int <a class="el" href="a00996.html#964f1fc0c4d7f1a91c496d6e2aabb30e">SolveCubic()</a> ). 
</div>
</div><p>
<a class="anchor" name="e4209ef792c1f30fee1979dd3540e811"></a><!-- doxytag: member="vtkMath::SolveQuadratic" ref="e4209ef792c1f30fee1979dd3540e811" args="(double c0, double c1, double c2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::SolveQuadratic           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a quadratic equation c1*t^2 + c2*t + c3 = 0 when c1, c2, and c3 are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Return array contains number of (real) roots (counting multiple roots as one) followed by roots themselves. Note that roots[3] contains a return code further describing solution - see documentation for <a class="el" href="a00996.html#964f1fc0c4d7f1a91c496d6e2aabb30e">SolveCubic()</a> for meaning of return codes. 
</div>
</div><p>
<a class="anchor" name="6a791ebf1407129b7e942b5c6ab0b368"></a><!-- doxytag: member="vtkMath::SolveLinear" ref="6a791ebf1407129b7e942b5c6ab0b368" args="(double c0, double c1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::SolveLinear           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a linear equation c2*t + c3 = 0 when c2 and c3 are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Return array contains number of roots followed by roots themselves. 
</div>
</div><p>
<a class="anchor" name="40779020fc0bede453516eeb51d2a0a7"></a><!-- doxytag: member="vtkMath::SolveCubic" ref="40779020fc0bede453516eeb51d2a0a7" args="(double c0, double c1, double c2, double c3, double *r1, double *r2, double *r3, int *num_roots)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveCubic           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>num_roots</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a cubic equation when c0, c1, c2, And c3 Are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Roots and number of real roots are stored in user provided variables r1, r2, r3, and num_roots. Note that the function can return the following integer values describing the roots: (0)-no solution; (-1)-infinite number of solutions; (1)-one distinct real root of multiplicity 3 (stored in r1); (2)-two distinct real roots, one of multiplicity 2 (stored in r1 &amp; r2); (3)-three distinct real roots; (-2)-quadratic equation with complex conjugate solution (real part of root returned in r1, imaginary in r2); (-3)-one real root and a complex conjugate pair (real root in r1 and real part of pair in r2 and imaginary in r3). 
</div>
</div><p>
<a class="anchor" name="a1d432d101ba7c27e9d52f61ab100078"></a><!-- doxytag: member="vtkMath::SolveQuadratic" ref="a1d432d101ba7c27e9d52f61ab100078" args="(double c0, double c1, double c2, double *r1, double *r2, int *num_roots)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveQuadratic           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>num_roots</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a quadratic equation c1*t^2 + c2*t + c3 = 0 when c1, c2, and c3 are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Roots and number of roots are stored in user provided variables r1, r2, num_roots 
</div>
</div><p>
<a class="anchor" name="a55758125fe26dce3faebad8c85b8d20"></a><!-- doxytag: member="vtkMath::SolveQuadratic" ref="a55758125fe26dce3faebad8c85b8d20" args="(double *c, double *r, int *m)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveQuadratic           </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Algebraically extracts REAL roots of the quadratic polynomial with REAL coefficients c[0] X^2 + c[1] X + c[2] and stores them (when they exist) and their respective multiplicities in the <em>r</em> and <em>m</em> arrays. Returns either the number of roots, or -1 if ininite number of roots. 
</div>
</div><p>
<a class="anchor" name="3743e9c1b3a4d03909b855cb44588663"></a><!-- doxytag: member="vtkMath::SolveLinear" ref="3743e9c1b3a4d03909b855cb44588663" args="(double c0, double c1, double *r1, int *num_roots)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveLinear           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>c1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&nbsp;</td>
          <td class="paramname"> <em>num_roots</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves a linear equation c2*t + c3 = 0 when c2 and c3 are REAL. Solution is motivated by Numerical Recipes In C 2nd Ed. Root and number of (real) roots are stored in user provided variables r2 and num_roots. 
</div>
</div><p>
<a class="anchor" name="966d5211cc53fa7c0c72fca47594ac6e"></a><!-- doxytag: member="vtkMath::SolveHomogeneousLeastSquares" ref="966d5211cc53fa7c0c72fca47594ac6e" args="(int numberOfSamples, double **xt, int xOrder, double **mt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveHomogeneousLeastSquares           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>numberOfSamples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>xt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xOrder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>mt</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves for the least squares best fit matrix for the homogeneous equation X'M' = 0'. Uses the method described on pages 40-41 of Computer Vision by Forsyth and Ponce, which is that the solution is the eigenvector associated with the minimum eigenvalue of T(X)X, where T(X) is the transpose of X. The inputs and output are transposed matrices. Dimensions: X' is numberOfSamples by xOrder, M' dimension is xOrder by yOrder. M' should be pre-allocated. All matrices are row major. The resultant matrix M' should be pre-multiplied to X' to get 0', or transposed and then post multiplied to X to get 0 
</div>
</div><p>
<a class="anchor" name="859c851c76907bbd72f2adc9f139d141"></a><!-- doxytag: member="vtkMath::SolveLeastSquares" ref="859c851c76907bbd72f2adc9f139d141" args="(int numberOfSamples, double **xt, int xOrder, double **yt, int yOrder, double **mt, int checkHomogeneous=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::SolveLeastSquares           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>numberOfSamples</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>xt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xOrder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>yt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>yOrder</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double **&nbsp;</td>
          <td class="paramname"> <em>mt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>checkHomogeneous</em> = <code>1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves for the least squares best fit matrix for the equation X'M' = Y'. Uses pseudoinverse to get the ordinary least squares. The inputs and output are transposed matrices. Dimensions: X' is numberOfSamples by xOrder, Y' is numberOfSamples by yOrder, M' dimension is xOrder by yOrder. M' should be pre-allocated. All matrices are row major. The resultant matrix M' should be pre-multiplied to X' to get Y', or transposed and then post multiplied to X to get Y By default, this method checks for the homogeneous condition where Y==0, and if so, invokes SolveHomogeneousLeastSquares. For better performance when the system is known not to be homogeneous, invoke with checkHomogeneous=0. 
</div>
</div><p>
<a class="anchor" name="cda272197c6723e3ff6e72822b1e1d79"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="cda272197c6723e3ff6e72822b1e1d79" args="(const float rgb[3], float hsv[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>hsv</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
<p>Definition at line <a class="el" href="a03869.html#l00620">620</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1d22caf1c39447eebb4cbf94d97c26f5"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="1d22caf1c39447eebb4cbf94d97c26f5" args="(float r, float g, float b, float *h, float *s, float *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="cdd21cdd066b5ee3f099f20abae1508d"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="cdd21cdd066b5ee3f099f20abae1508d" args="(const double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="e8c8e37428d6e3a37c948fa3ab990810"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="e8c8e37428d6e3a37c948fa3ab990810" args="(double r, double g, double b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="ad1318dab2335213cba931ae5927fa99"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="ad1318dab2335213cba931ae5927fa99" args="(const double rgb[3], double hsv[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>hsv</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
<p>Definition at line <a class="el" href="a03869.html#l00625">625</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b913d532869765e40f86b9b83006ee32"></a><!-- doxytag: member="vtkMath::RGBToHSV" ref="b913d532869765e40f86b9b83006ee32" args="(double r, double g, double b, double *h, double *s, double *v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToHSV           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in RGB format (Red, Green, Blue) to HSV format (Hue, Saturation, Value). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="432c7d56d981a3030cb0d6f4a8789b79"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="432c7d56d981a3030cb0d6f4a8789b79" args="(const float hsv[3], float rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">const float&nbsp;</td>
          <td class="paramname"> <em>hsv</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
<p>Definition at line <a class="el" href="a03869.html#l00633">633</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="62fbf1f394594e40a26bf97c0decb23a"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="62fbf1f394594e40a26bf97c0decb23a" args="(float h, float s, float v, float *r, float *g, float *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="efa15b605513f178af59df55dce0f52c"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="efa15b605513f178af59df55dce0f52c" args="(const double hsv[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>hsv</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="3b174c8cde194c7abccf1d044745a8fa"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="3b174c8cde194c7abccf1d044745a8fa" args="(double h, double s, double v)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="4e5c4224946d2e942dc5937ce6f1d9e8"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="4e5c4224946d2e942dc5937ce6f1d9e8" args="(const double hsv[3], double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>hsv</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
<p>Definition at line <a class="el" href="a03869.html#l00638">638</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="602a5e55f868075f6d9b8b8974a65dcf"></a><!-- doxytag: member="vtkMath::HSVToRGB" ref="602a5e55f868075f6d9b8b8974a65dcf" args="(double h, double s, double v, double *r, double *g, double *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::HSVToRGB           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>v</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color in HSV format (Hue, Saturation, Value) to RGB format (Red, Green, Blue). The input color is not modified. 
</div>
</div><p>
<a class="anchor" name="3879c122cefb1c449ce918e5f1b1d911"></a><!-- doxytag: member="vtkMath::LabToXYZ" ref="3879c122cefb1c449ce918e5f1b1d911" args="(const double lab[3], double xyz[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LabToXYZ           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to CIE XYZ. 
<p>Definition at line <a class="el" href="a03869.html#l00645">645</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="3f0b462116c3933418db76c01785fdc1"></a><!-- doxytag: member="vtkMath::LabToXYZ" ref="3f0b462116c3933418db76c01785fdc1" args="(double L, double a, double b, double *x, double *y, double *z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LabToXYZ           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to CIE XYZ. 
</div>
</div><p>
<a class="anchor" name="90d726f36e0a1cc5bd5ccc05e637f3ae"></a><!-- doxytag: member="vtkMath::LabToXYZ" ref="90d726f36e0a1cc5bd5ccc05e637f3ae" args="(const double lab[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::LabToXYZ           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to CIE XYZ. 
</div>
</div><p>
<a class="anchor" name="257737dce7bd7f2b2a1de57fecfe2db3"></a><!-- doxytag: member="vtkMath::XYZToLab" ref="257737dce7bd7f2b2a1de57fecfe2db3" args="(const double xyz[3], double lab[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::XYZToLab           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert Color from the CIE XYZ system to CIE-L*ab. 
<p>Definition at line <a class="el" href="a03869.html#l00655">655</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc44cf694f8eedf6ab41a74337ccb8ac"></a><!-- doxytag: member="vtkMath::XYZToLab" ref="dc44cf694f8eedf6ab41a74337ccb8ac" args="(double x, double y, double z, double *L, double *a, double *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::XYZToLab           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert Color from the CIE XYZ system to CIE-L*ab. 
</div>
</div><p>
<a class="anchor" name="ac47c908beac0d1397d7b7ebe8768db8"></a><!-- doxytag: member="vtkMath::XYZToLab" ref="ac47c908beac0d1397d7b7ebe8768db8" args="(const double xyz[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::XYZToLab           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert Color from the CIE XYZ system to CIE-L*ab. 
</div>
</div><p>
<a class="anchor" name="9402083868ca56b82156d150fb5bcfb7"></a><!-- doxytag: member="vtkMath::XYZToRGB" ref="9402083868ca56b82156d150fb5bcfb7" args="(const double xyz[3], double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::XYZToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE XYZ system to RGB. 
<p>Definition at line <a class="el" href="a03869.html#l00665">665</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1324a65c6b0d08da735a43e28b2925ea"></a><!-- doxytag: member="vtkMath::XYZToRGB" ref="1324a65c6b0d08da735a43e28b2925ea" args="(double x, double y, double z, double *r, double *g, double *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::XYZToRGB           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE XYZ system to RGB. 
</div>
</div><p>
<a class="anchor" name="f6820496eb311cf238a3ee7cfa2317c1"></a><!-- doxytag: member="vtkMath::XYZToRGB" ref="f6820496eb311cf238a3ee7cfa2317c1" args="(const double xyz[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::XYZToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE XYZ system to RGB. 
</div>
</div><p>
<a class="anchor" name="5f11627927934251fc6010a76befec10"></a><!-- doxytag: member="vtkMath::RGBToXYZ" ref="5f11627927934251fc6010a76befec10" args="(const double rgb[3], double xyz[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToXYZ           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>xyz</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE XYZ. 
<p>Definition at line <a class="el" href="a03869.html#l00675">675</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0b291650e8a9537197e2d62430bee23d"></a><!-- doxytag: member="vtkMath::RGBToXYZ" ref="0b291650e8a9537197e2d62430bee23d" args="(double r, double g, double b, double *x, double *y, double *z)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToXYZ           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE XYZ. 
</div>
</div><p>
<a class="anchor" name="a3b73ae4edcccdbf215e8d5ce6e47725"></a><!-- doxytag: member="vtkMath::RGBToXYZ" ref="a3b73ae4edcccdbf215e8d5ce6e47725" args="(const double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::RGBToXYZ           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE XYZ. 
</div>
</div><p>
<a class="anchor" name="9ec1201a0065fcd63bf78c02e24ad7c0"></a><!-- doxytag: member="vtkMath::RGBToLab" ref="9ec1201a0065fcd63bf78c02e24ad7c0" args="(const double rgb[3], double lab[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToLab           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE-L*ab. 
<p>Definition at line <a class="el" href="a03869.html#l00685">685</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="f212a19375dcb5dc7058d989e1d19c8d"></a><!-- doxytag: member="vtkMath::RGBToLab" ref="f212a19375dcb5dc7058d989e1d19c8d" args="(double red, double green, double blue, double *L, double *a, double *b)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::RGBToLab           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>blue</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE-L*ab. 
</div>
</div><p>
<a class="anchor" name="bb8694a209d5fc431841d160b81778c4"></a><!-- doxytag: member="vtkMath::RGBToLab" ref="bb8694a209d5fc431841d160b81778c4" args="(const double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::RGBToLab           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the RGB system to CIE-L*ab. 
</div>
</div><p>
<a class="anchor" name="d6939030cf36bbcda58590a1ed2d5804"></a><!-- doxytag: member="vtkMath::LabToRGB" ref="d6939030cf36bbcda58590a1ed2d5804" args="(const double lab[3], double rgb[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LabToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>rgb</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to RGB. 
<p>Definition at line <a class="el" href="a03869.html#l00695">695</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4cfb9cbf7880173dd37aeec0b70d5325"></a><!-- doxytag: member="vtkMath::LabToRGB" ref="4cfb9cbf7880173dd37aeec0b70d5325" args="(double L, double a, double b, double *red, double *green, double *blue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::LabToRGB           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>L</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>a</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>b</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>blue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to RGB. 
</div>
</div><p>
<a class="anchor" name="f403b7c1acbf584b32f0f30aff1c2eac"></a><!-- doxytag: member="vtkMath::LabToRGB" ref="f403b7c1acbf584b32f0f30aff1c2eac" args="(const double lab[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double* vtkMath::LabToRGB           </td>
          <td>(</td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>lab</em>[3]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert color from the CIE-L*ab system to RGB. 
</div>
</div><p>
<a class="anchor" name="b82dc2a06348b1041bd62a1eb9aea06c"></a><!-- doxytag: member="vtkMath::UninitializeBounds" ref="b82dc2a06348b1041bd62a1eb9aea06c" args="(double bounds[6])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::UninitializeBounds           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bounds</em>[6]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the bounds to an uninitialized state 
<p>Definition at line <a class="el" href="a03869.html#l00705">705</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e9fb2900520b8646d97f4b997a8c1749"></a><!-- doxytag: member="vtkMath::AreBoundsInitialized" ref="e9fb2900520b8646d97f4b997a8c1749" args="(double bounds[6])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::AreBoundsInitialized           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bounds</em>[6]          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Are the bounds initialized? 
<p>Definition at line <a class="el" href="a03869.html#l00717">717</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="470f5cbb2efcb33a3c03355f0f916a1c"></a><!-- doxytag: member="vtkMath::ClampValue" ref="470f5cbb2efcb33a3c03355f0f916a1c" args="(double *value, const double range[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMath::ClampValue           </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clamp some values against a range The method without 'clamped_values' will perform in-place clamping. 
<p>Definition at line <a class="el" href="a03869.html#l01064">1064</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="511ae083561cc64471c8d261e088251d"></a><!-- doxytag: member="vtkMath::ClampValue" ref="511ae083561cc64471c8d261e088251d" args="(double value, const double range[2], double *clamped_value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vtkMath::ClampValue           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>clamped_value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clamp some values against a range The method without 'clamped_values' will perform in-place clamping. 
<p>Definition at line <a class="el" href="a03869.html#l01080">1080</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="fdc25d71ef2789634a5b0ccf88128a68"></a><!-- doxytag: member="vtkMath::ClampValues" ref="fdc25d71ef2789634a5b0ccf88128a68" args="(double *values, int nb_values, const double range[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::ClampValues           </td>
          <td>(</td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nb_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clamp some values against a range The method without 'clamped_values' will perform in-place clamping. 
</div>
</div><p>
<a class="anchor" name="fa7eb65901979a9108a0a89da570a5a8"></a><!-- doxytag: member="vtkMath::ClampValues" ref="fa7eb65901979a9108a0a89da570a5a8" args="(const double *values, int nb_values, const double range[2], double *clamped_values)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::ClampValues           </td>
          <td>(</td>
          <td class="paramtype">const double *&nbsp;</td>
          <td class="paramname"> <em>values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>nb_values</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&nbsp;</td>
          <td class="paramname"> <em>clamped_values</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clamp some values against a range The method without 'clamped_values' will perform in-place clamping. 
</div>
</div><p>
<a class="anchor" name="95e4d9d6928d49b88408cc5f4595c5da"></a><!-- doxytag: member="vtkMath::ClampAndNormalizeValue" ref="95e4d9d6928d49b88408cc5f4595c5da" args="(double value, const double range[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double vtkMath::ClampAndNormalizeValue           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Clamp a value against a range and then normalized it between 0 and 1. If range[0]==range[1], the result is 0. <dl class="pre" compact><dt><b>Precondition:</b></dt><dd>valid_range: range[0]&lt;=range[1] </dd></dl>
<dl class="post" compact><dt><b>Postcondition:</b></dt><dd>valid_result: result&gt;=0.0 &amp;&amp; result&lt;=1.0 </dd></dl>

<p>Definition at line <a class="el" href="a03869.html#l01101">1101</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="097ad00b5fe640503d8a410f55d04d6a"></a><!-- doxytag: member="vtkMath::GetScalarTypeFittingRange" ref="097ad00b5fe640503d8a410f55d04d6a" args="(double range_min, double range_max, double scale=1.0, double shift=0.0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::GetScalarTypeFittingRange           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>range_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>range_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>scale</em> = <code>1.0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>shift</em> = <code>0.0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the scalar type that is most likely to have enough precision to store a given range of data once it has been scaled and shifted (i.e. [range_min * scale + shift, range_max * scale + shift]. If any one of the parameters is not an integer number (decimal part != 0), the search will default to float types only (float or double) Return -1 on error or no scalar type found. 
</div>
</div><p>
<a class="anchor" name="2ec241ccca9cfaea9d43d246688bd3b0"></a><!-- doxytag: member="vtkMath::GetAdjustedScalarRange" ref="2ec241ccca9cfaea9d43d246688bd3b0" args="(vtkDataArray *array, int comp, double range[2])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::GetAdjustedScalarRange           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00356.html">vtkDataArray</a> *&nbsp;</td>
          <td class="paramname"> <em>array</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>range</em>[2]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get a vtkDataArray's scalar range for a given component. If the vtkDataArray's data type is unsigned char (VTK_UNSIGNED_CHAR) the range is adjusted to the whole data type range [0, 255.0]. Same goes for unsigned short (VTK_UNSIGNED_SHORT) but the upper bound is also adjusted down to 4095.0 if was between ]255, 4095.0]. Return 1 on success, 0 otherwise. 
</div>
</div><p>
<a class="anchor" name="93d39538ca8dd55a93a4051cb1b48890"></a><!-- doxytag: member="vtkMath::ExtentIsWithinOtherExtent" ref="93d39538ca8dd55a93a4051cb1b48890" args="(int extent1[6], int extent2[6])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::ExtentIsWithinOtherExtent           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>extent1</em>[6], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>extent2</em>[6]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if first 3D extent is within second 3D extent Extent is x-min, x-max, y-min, y-max, z-min, z-max 
</div>
</div><p>
<a class="anchor" name="2d17ec60ac786ac10265ff80bec04712"></a><!-- doxytag: member="vtkMath::BoundsIsWithinOtherBounds" ref="2d17ec60ac786ac10265ff80bec04712" args="(double bounds1[6], double bounds2[6], double delta[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::BoundsIsWithinOtherBounds           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bounds1</em>[6], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bounds2</em>[6], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>delta</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if first 3D bounds is within the second 3D bounds Bounds is x-min, x-max, y-min, y-max, z-min, z-max Delta is the error margin along each axis (usually a small number) 
</div>
</div><p>
<a class="anchor" name="3dca42a90d669653f8395eed56bc3a2b"></a><!-- doxytag: member="vtkMath::PointIsWithinBounds" ref="3dca42a90d669653f8395eed56bc3a2b" args="(double point[3], double bounds[6], double delta[3])" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int vtkMath::PointIsWithinBounds           </td>
          <td>(</td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>point</em>[3], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>bounds</em>[6], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>delta</em>[3]</td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if point is within the given 3D bounds Bounds is x-min, x-max, y-min, y-max, z-min, z-max Delta is the error margin along each axis (usually a small number) 
</div>
</div><p>
<a class="anchor" name="dd0483658e07d7b0fc8115d3f7d1b66b"></a><!-- doxytag: member="vtkMath::SpiralPoints" ref="dd0483658e07d7b0fc8115d3f7d1b66b" args="(vtkIdType num, vtkPoints *offsets)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void vtkMath::SpiralPoints           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a02149.html#20bd6b6dedfe1bbb096c50354d52cc7e">vtkIdType</a>&nbsp;</td>
          <td class="paramname"> <em>num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01250.html">vtkPoints</a> *&nbsp;</td>
          <td class="paramname"> <em>offsets</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Calculate <em>num</em> points, at a regular interval, along a parametric spiral. Note this spiral is only in two dimensions having a constant z value. 
</div>
</div><p>
<a class="anchor" name="54193733c61913fb566e47ba284ca7e8"></a><!-- doxytag: member="vtkMath::Inf" ref="54193733c61913fb566e47ba284ca7e8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Inf           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special IEEE-754 numbers used to represent positive and negative infinity and Not-A-Number (Nan). 
</div>
</div><p>
<a class="anchor" name="49c88083ce2b8ed50d41fc4ebd9868af"></a><!-- doxytag: member="vtkMath::NegInf" ref="49c88083ce2b8ed50d41fc4ebd9868af" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::NegInf           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special IEEE-754 numbers used to represent positive and negative infinity and Not-A-Number (Nan). 
</div>
</div><p>
<a class="anchor" name="2c21b947acfd9157815cbd2bdb9f7b5e"></a><!-- doxytag: member="vtkMath::Nan" ref="2c21b947acfd9157815cbd2bdb9f7b5e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static double vtkMath::Nan           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Special IEEE-754 numbers used to represent positive and negative infinity and Not-A-Number (Nan). 
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="ad61dbb4e7f32d3ddfd1484e2d7cbe9e"></a><!-- doxytag: member="vtkMath::Seed" ref="ad61dbb4e7f32d3ddfd1484e2d7cbe9e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">long <a class="el" href="a00996.html#ad61dbb4e7f32d3ddfd1484e2d7cbe9e">vtkMath::Seed</a><code> [static, protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="a03869.html#l00797">797</a> of file <a class="el" href="a03869.html">vtkMath.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>dox/Common/<a class="el" href="a03869.html">vtkMath.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:16:46 2009 for VTK by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>