<!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: vtkCurvatures 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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>vtkCurvatures Class Reference</h1><!-- doxytag: class="vtkCurvatures" --><!-- doxytag: inherits="vtkPolyDataAlgorithm" --><code>#include <<a class="el" href="a04288.html">vtkCurvatures.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkCurvatures:</div> <div class="dynsection"> <p><center><img src="a08935.png" border="0" usemap="#a08936" alt="Inheritance graph"></center> <map name="a08936"> <area shape="rect" href="a01261.html" title="Superclass for algorithms that produce only polydata as output." alt="" coords="5,229,160,256"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="33,155,132,181"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="43,80,123,107"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="28,5,137,32"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkCurvatures:</div> <div class="dynsection"> <p><center><img src="a08937.png" border="0" usemap="#a08938" alt="Collaboration graph"></center> <map name="a08938"> <area shape="rect" href="a01261.html" title="Superclass for algorithms that produce only polydata as output." alt="" coords="173,499,328,525"><area shape="rect" href="a00101.html" title="Superclass for all sources, filters, and sinks in VTK." alt="" coords="281,381,380,408"><area shape="rect" href="a00472.html" title="Superclass for all pipeline executives in VTK." alt="" coords="477,499,576,525"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="407,173,487,200"><area shape="rect" href="a00895.html" title="Store zero or more vtkInformation instances." alt="" coords="404,264,553,291"><area shape="rect" href="a00872.html" title="Store vtkAlgorithm input/output information." alt="" coords="212,264,321,291"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="164,5,273,32"><area shape="rect" href="a00884.html" title="internal structure for vtkInformation" alt="" coords="5,173,168,200"><area shape="rect" href="a00886.html" title="Superclass for vtkInformation keys." alt="" coords="153,83,284,109"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="308,83,417,109"><area shape="rect" href="a00891.html" title="Key for pointer to pointer." alt="" coords="192,173,373,200"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="a08939.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> compute curvatures (Gauss and mean) of a Polydata object <p> <a class="el" href="a00349.html" title="compute curvatures (Gauss and mean) of a Polydata object">vtkCurvatures</a> takes a polydata input and computes the curvature of the mesh at each point. Four possible methods of computation are available :<p> Gauss Curvature discrete Gauss curvature (K) computation, <img class="formulaInl" alt="$K(vertex v) = 2*PI-\sum_{facet neighbs f of v} (angle_f at v)$" src="form_9.png"> The contribution of every facet is for the moment weighted by <img class="formulaInl" alt="$Area(facet)/3$" src="form_10.png"> The units of Gaussian Curvature are <img class="formulaInl" alt="$[1/m^2]$" src="form_11.png"><p> Mean Curvature <img class="formulaInl" alt="$H(vertex v) = average over edges neighbs e of H(e)$" src="form_12.png"> <img class="formulaInl" alt="$H(edge e) = length(e)*dihedral_angle(e)$" src="form_13.png"> NB: dihedral_angle is the ORIENTED angle between -PI and PI, this means that the surface is assumed to be orientable the computation creates the orientation The units of Mean Curvature are [1/m]<p> Maximum (<img class="formulaInl" alt="$k_max$" src="form_14.png">) and Minimum (<img class="formulaInl" alt="$k_min$" src="form_15.png">) Principal Curvatures <img class="formulaInl" alt="$k_max = H + sqrt(H^2 - K)$" src="form_16.png"> <img class="formulaInl" alt="$k_min = H - sqrt(H^2 - K)$" src="form_17.png"> Excepting spherical and planar surfaces which have equal principal curvatures, the curvature at a point on a surface varies with the direction one "sets off" from the point. For all directions, the curvature will pass through two extrema: a minimum (<img class="formulaInl" alt="$k_min$" src="form_15.png">) and a maximum (<img class="formulaInl" alt="$k_max$" src="form_14.png">) which occur at mutually orthogonal directions to each other.<p> NB. The sign of the Gauss curvature is a geometric ivariant, it should be +ve when the surface looks like a sphere, -ve when it looks like a saddle, however, the sign of the Mean curvature is not, it depends on the convention for normals - This code assumes that normals point outwards (ie from the surface of a sphere outwards). If a given mesh produces curvatures of opposite senses then the flag InvertMeanCurvature can be set and the Curvature reported by the Mean calculation will be inverted.<p> <dl class="user" compact><dt><b>Thanks:</b></dt><dd>Philip Batchelor <a href="mailto:philipp.batchelor@kcl.ac.uk">philipp.batchelor@kcl.ac.uk</a> for creating and contributing the class and Andrew Maclean <a href="mailto:a.maclean@acfr.usyd.edu.au">a.maclean@acfr.usyd.edu.au</a> for cleanups and fixes. Thanks also to Goodwin Lawlor for contributing patch to calculate principal curvatures</dd></dl> <dl class="user" compact><dt><b>Tests:</b></dt><dd><a class="el" href="c2_vtk_t_3.html#c2_vtk_t_vtkCurvatures">vtkCurvatures (Tests)</a> </dd></dl> <p>Definition at line <a class="el" href="a04288.html#l00075">75</a> of file <a class="el" href="a04288.html">vtkCurvatures.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="a01261.html">vtkPolyDataAlgorithm</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#20a9efea3696eade4a37cfe56971d1f9">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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#bcc1c91d150c0556cab2df28230c122a">GetClassName</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#3094acff339c765d0ad2cde29ecf232a">IsA</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#ba2e8d64d8041dfe35bf8bd32f5dd5e1">PrintSelf</a> (ostream &os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#248c2dd48a03d75bdbe6aafcd9692e9d">SetCurvatureType</a> (int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#5433f579752c7d533879a8b981b7fb6b">GetCurvatureType</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#20659da451c666facbd296c96b88595b">SetCurvatureTypeToGaussian</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#7983f08160f100511f437f4378072e2b">SetCurvatureTypeToMean</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#2275d42df2c3d19ac3ec0ebe2c667d7e">SetCurvatureTypeToMaximum</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#54e592c8338c1ec562f7723c4776032b">SetCurvatureTypeToMinimum</a> ()</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#c92d22e048af1046f514b472de07914e">SetInvertMeanCurvature</a> (int)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#14c305ddda4db53fc7c9662eda5f5b3c">GetInvertMeanCurvature</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#f384c69a9fe6edecb36cb0340937fea9">InvertMeanCurvatureOn</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#c792d327251ee625c3cd2c79268b4ea7">InvertMeanCurvatureOff</a> ()</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 int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#1b6fd5c44cb69fdffaf82dc58203ef66">IsTypeOf</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00349.html">vtkCurvatures</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#9bb85e8e8e242f34a6e7530841af170d">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00349.html">vtkCurvatures</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#3620c1dcb1344821b62abe9317fa9020">New</a> ()</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#11aaba0ca6edaf0a7e3a354f0d309da2">vtkCurvatures</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#d93267478092b8d6729428e75d5487a0">RequestData</a> (<a class="el" href="a00872.html">vtkInformation</a> *, <a class="el" href="a00895.html">vtkInformationVector</a> **, <a class="el" href="a00895.html">vtkInformationVector</a> *)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#885164ca7a07b9271949623ef7726774">GetGaussCurvature</a> (<a class="el" href="a01260.html">vtkPolyData</a> *output)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#383a433f4b34ab11cb71d6d30a282543">GetMeanCurvature</a> (<a class="el" href="a01260.html">vtkPolyData</a> *output)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#bc7030a87f06b10a593d26b503ce1708">GetMaximumCurvature</a> (<a class="el" href="a01260.html">vtkPolyData</a> *input, <a class="el" href="a01260.html">vtkPolyData</a> *output)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#f7ebf4fe758daf30859759ae5de4d600">GetMinimumCurvature</a> (<a class="el" href="a01260.html">vtkPolyData</a> *input, <a class="el" href="a01260.html">vtkPolyData</a> *output)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#871c2fdd3dfb9d42cad6c6530d1e7b55">CurvatureType</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html#deb187ee2cb26caa90c61b367b966470">InvertMeanCurvature</a></td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="20a9efea3696eade4a37cfe56971d1f9"></a><!-- doxytag: member="vtkCurvatures::Superclass" ref="20a9efea3696eade4a37cfe56971d1f9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a01261.html">vtkPolyDataAlgorithm</a> <a class="el" href="a01261.html">vtkCurvatures::Superclass</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01261.html#0ef1960e1f3d6980b058ab47b5475b91">vtkPolyDataAlgorithm</a>.</p> <p>Definition at line <a class="el" href="a04288.html#l00078">78</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="11aaba0ca6edaf0a7e3a354f0d309da2"></a><!-- doxytag: member="vtkCurvatures::vtkCurvatures" ref="11aaba0ca6edaf0a7e3a354f0d309da2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkCurvatures::vtkCurvatures </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="bcc1c91d150c0556cab2df28230c122a"></a><!-- doxytag: member="vtkCurvatures::GetClassName" ref="bcc1c91d150c0556cab2df28230c122a" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* vtkCurvatures::GetClassName </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01261.html#117691a3be177e85a0eb7e54b011c9de">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="1b6fd5c44cb69fdffaf82dc58203ef66"></a><!-- doxytag: member="vtkCurvatures::IsTypeOf" ref="1b6fd5c44cb69fdffaf82dc58203ef66" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkCurvatures::IsTypeOf </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em> </td> <td> ) </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="a01261.html#6e4df93069945e2df17a891c6f4cd557">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="3094acff339c765d0ad2cde29ecf232a"></a><!-- doxytag: member="vtkCurvatures::IsA" ref="3094acff339c765d0ad2cde29ecf232a" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkCurvatures::IsA </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>name</em> </td> <td> ) </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="a01261.html#b0133191c934f596dac2a21fd5a8da20">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="9bb85e8e8e242f34a6e7530841af170d"></a><!-- doxytag: member="vtkCurvatures::SafeDownCast" ref="9bb85e8e8e242f34a6e7530841af170d" args="(vtkObject *o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00349.html">vtkCurvatures</a>* vtkCurvatures::SafeDownCast </td> <td>(</td> <td class="paramtype"><a class="el" href="a01084.html">vtkObject</a> * </td> <td class="paramname"> <em>o</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a01261.html#3a09aba4f394c174457d17e9bc08af04">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="ba2e8d64d8041dfe35bf8bd32f5dd5e1"></a><!-- doxytag: member="vtkCurvatures::PrintSelf" ref="ba2e8d64d8041dfe35bf8bd32f5dd5e1" args="(ostream &os, vtkIndent indent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::PrintSelf </td> <td>(</td> <td class="paramtype">ostream & </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> </td> <td class="paramname"> <em>indent</em></td><td> </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="a01261.html#e6d59a63261b0c56f8f473984ae0e1b6">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="3620c1dcb1344821b62abe9317fa9020"></a><!-- doxytag: member="vtkCurvatures::New" ref="3620c1dcb1344821b62abe9317fa9020" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00349.html">vtkCurvatures</a>* vtkCurvatures::New </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Construct with curvature type set to Gauss <p>Reimplemented from <a class="el" href="a01261.html#cf785ac526132296ff652c636f713b5e">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="248c2dd48a03d75bdbe6aafcd9692e9d"></a><!-- doxytag: member="vtkCurvatures::SetCurvatureType" ref="248c2dd48a03d75bdbe6aafcd9692e9d" args="(int)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCurvatures::SetCurvatureType </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" </div> </div><p> <a class="anchor" name="5433f579752c7d533879a8b981b7fb6b"></a><!-- doxytag: member="vtkCurvatures::GetCurvatureType" ref="5433f579752c7d533879a8b981b7fb6b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkCurvatures::GetCurvatureType </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" </div> </div><p> <a class="anchor" name="20659da451c666facbd296c96b88595b"></a><!-- doxytag: member="vtkCurvatures::SetCurvatureTypeToGaussian" ref="20659da451c666facbd296c96b88595b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::SetCurvatureTypeToGaussian </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" <p>Definition at line <a class="el" href="a04288.html#l00090">90</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <a class="anchor" name="7983f08160f100511f437f4378072e2b"></a><!-- doxytag: member="vtkCurvatures::SetCurvatureTypeToMean" ref="7983f08160f100511f437f4378072e2b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::SetCurvatureTypeToMean </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" <p>Definition at line <a class="el" href="a04288.html#l00092">92</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <a class="anchor" name="2275d42df2c3d19ac3ec0ebe2c667d7e"></a><!-- doxytag: member="vtkCurvatures::SetCurvatureTypeToMaximum" ref="2275d42df2c3d19ac3ec0ebe2c667d7e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::SetCurvatureTypeToMaximum </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" <p>Definition at line <a class="el" href="a04288.html#l00094">94</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <a class="anchor" name="54e592c8338c1ec562f7723c4776032b"></a><!-- doxytag: member="vtkCurvatures::SetCurvatureTypeToMinimum" ref="54e592c8338c1ec562f7723c4776032b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::SetCurvatureTypeToMinimum </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get Curvature type VTK_CURVATURE_GAUSS: Gaussian curvature, stored as DataArray "Gauss_Curvature" VTK_CURVATURE_MEAN : Mean curvature, stored as DataArray "Mean_Curvature" <p>Definition at line <a class="el" href="a04288.html#l00096">96</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <a class="anchor" name="c92d22e048af1046f514b472de07914e"></a><!-- doxytag: member="vtkCurvatures::SetInvertMeanCurvature" ref="c92d22e048af1046f514b472de07914e" args="(int)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCurvatures::SetInvertMeanCurvature </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) </div> </div><p> <a class="anchor" name="14c305ddda4db53fc7c9662eda5f5b3c"></a><!-- doxytag: member="vtkCurvatures::GetInvertMeanCurvature" ref="14c305ddda4db53fc7c9662eda5f5b3c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkCurvatures::GetInvertMeanCurvature </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) </div> </div><p> <a class="anchor" name="f384c69a9fe6edecb36cb0340937fea9"></a><!-- doxytag: member="vtkCurvatures::InvertMeanCurvatureOn" ref="f384c69a9fe6edecb36cb0340937fea9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCurvatures::InvertMeanCurvatureOn </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) </div> </div><p> <a class="anchor" name="c792d327251ee625c3cd2c79268b4ea7"></a><!-- doxytag: member="vtkCurvatures::InvertMeanCurvatureOff" ref="c792d327251ee625c3cd2c79268b4ea7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkCurvatures::InvertMeanCurvatureOff </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set/Get the flag which inverts the mean curvature calculation for meshes with inward pointing normals (default false) </div> </div><p> <a class="anchor" name="d93267478092b8d6729428e75d5487a0"></a><!-- doxytag: member="vtkCurvatures::RequestData" ref="d93267478092b8d6729428e75d5487a0" args="(vtkInformation *, vtkInformationVector **, vtkInformationVector *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int vtkCurvatures::RequestData </td> <td>(</td> <td class="paramtype"><a class="el" href="a00872.html">vtkInformation</a> * </td> <td class="paramname"> <em>request</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> ** </td> <td class="paramname"> <em>inputVector</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00895.html">vtkInformationVector</a> * </td> <td class="paramname"> <em>outputVector</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This is called by the superclass. This is the method you should override. <p>Reimplemented from <a class="el" href="a01261.html#6b5a43ab1f9bbcb368c7dc83e4afe068">vtkPolyDataAlgorithm</a>.</p> </div> </div><p> <a class="anchor" name="885164ca7a07b9271949623ef7726774"></a><!-- doxytag: member="vtkCurvatures::GetGaussCurvature" ref="885164ca7a07b9271949623ef7726774" args="(vtkPolyData *output)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::GetGaussCurvature </td> <td>(</td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>output</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> discrete Gauss curvature (K) computation, cf <a href="http://www-ipg.umds.ac.uk/p.batchelor/curvatures/curvatures.html">http://www-ipg.umds.ac.uk/p.batchelor/curvatures/curvatures.html</a> </div> </div><p> <a class="anchor" name="383a433f4b34ab11cb71d6d30a282543"></a><!-- doxytag: member="vtkCurvatures::GetMeanCurvature" ref="383a433f4b34ab11cb71d6d30a282543" args="(vtkPolyData *output)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::GetMeanCurvature </td> <td>(</td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>output</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="bc7030a87f06b10a593d26b503ce1708"></a><!-- doxytag: member="vtkCurvatures::GetMaximumCurvature" ref="bc7030a87f06b10a593d26b503ce1708" args="(vtkPolyData *input, vtkPolyData *output)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::GetMaximumCurvature </td> <td>(</td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>output</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Maximum principal curvature <img class="formulaInl" alt="$k_max = H + sqrt(H^2 -K)$" src="form_18.png"> </div> </div><p> <a class="anchor" name="f7ebf4fe758daf30859759ae5de4d600"></a><!-- doxytag: member="vtkCurvatures::GetMinimumCurvature" ref="f7ebf4fe758daf30859759ae5de4d600" args="(vtkPolyData *input, vtkPolyData *output)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkCurvatures::GetMinimumCurvature </td> <td>(</td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>input</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01260.html">vtkPolyData</a> * </td> <td class="paramname"> <em>output</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Minimum principal curvature <img class="formulaInl" alt="$k_min = H - sqrt(H^2 -K)$" src="form_19.png"> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="871c2fdd3dfb9d42cad6c6530d1e7b55"></a><!-- doxytag: member="vtkCurvatures::CurvatureType" ref="871c2fdd3dfb9d42cad6c6530d1e7b55" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00349.html#871c2fdd3dfb9d42cad6c6530d1e7b55">vtkCurvatures::CurvatureType</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a04288.html#l00129">129</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <a class="anchor" name="deb187ee2cb26caa90c61b367b966470"></a><!-- doxytag: member="vtkCurvatures::InvertMeanCurvature" ref="deb187ee2cb26caa90c61b367b966470" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00349.html#deb187ee2cb26caa90c61b367b966470">vtkCurvatures::InvertMeanCurvature</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a04288.html#l00130">130</a> of file <a class="el" href="a04288.html">vtkCurvatures.h</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>dox/Graphics/<a class="el" href="a04288.html">vtkCurvatures.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 18:58:50 2009 for VTK by <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>