<!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: vtkHomogeneousTransform 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>vtkHomogeneousTransform Class Reference</h1><!-- doxytag: class="vtkHomogeneousTransform" --><!-- doxytag: inherits="vtkAbstractTransform" --><code>#include <<a class="el" href="a03827.html">vtkHomogeneousTransform.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for vtkHomogeneousTransform:</div> <div class="dynsection"> <p><center><img src="a10530.png" border="0" usemap="#a10531" alt="Inheritance graph"></center> <map name="a10531"> <area shape="rect" href="a00964.html" title="abstract superclass for linear transformations" alt="" coords="788,107,929,133"><area shape="rect" href="a01000.html" title="convert a matrix to a transform" alt="" coords="736,157,981,184"><area shape="rect" href="a01207.html" title="describes a 4x4 matrix transformation" alt="" coords="772,208,945,235"><area shape="rect" href="a00089.html" title="superclass for all geometric transformations" alt="" coords="295,157,447,184"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="165,157,245,184"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="7,157,116,184"><area shape="rect" href="a00718.html" title="a transform that doesn't do anything" alt="" coords="1071,5,1217,32"><area shape="rect" href="a00927.html" title="Implementation of the ICP algorithm." alt="" coords="1031,56,1257,83"><area shape="rect" href="a00948.html" title="a linear transform specified by two corresponding point sets" alt="" coords="1063,107,1225,133"><area shape="rect" href="a01001.html" title="convert a matrix to a transform" alt="" coords="1047,157,1241,184"><area shape="rect" href="a01723.html" title="describes linear transformations via a 4x4 matrix" alt="" coords="1092,208,1196,235"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for vtkHomogeneousTransform:</div> <div class="dynsection"> <p><center><img src="a10532.png" border="0" usemap="#a10533" alt="Collaboration graph"></center> <map name="a10533"> <area shape="rect" href="a00089.html" title="superclass for all geometric transformations" alt="" coords="101,203,253,229"><area shape="rect" href="a01084.html" title="abstract base class for most VTK objects" alt="" coords="320,96,400,123"><area shape="rect" href="a00998.html" title="represent and manipulate 4x4 transformation matrices" alt="" coords="364,203,463,229"><area shape="rect" href="a01085.html" title="abstract base class for most VTK objects" alt="" coords="305,5,415,32"><area shape="rect" href="a01719.html" title="record modification and/or execution time" alt="" coords="73,5,183,32"><area shape="rect" href="a01548.html" title="vtkSimpleCriticalSection" alt="" coords="128,96,296,123"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="a10534.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> superclass for homogeneous transformations <p> <a class="el" href="a00696.html" title="superclass for homogeneous transformations">vtkHomogeneousTransform</a> provides a generic interface for homogeneous transformations, i.e. transformations which can be represented by multiplying a 4x4 matrix with a homogeneous coordinate. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="a01207.html" title="describes a 4x4 matrix transformation">vtkPerspectiveTransform</a> <a class="el" href="a00964.html" title="abstract superclass for linear transformations">vtkLinearTransform</a> <a class="el" href="a00718.html" title="a transform that doesn't do anything">vtkIdentityTransform</a> </dd></dl> <p>Definition at line <a class="el" href="a03827.html#l00032">32</a> of file <a class="el" href="a03827.html">vtkHomogeneousTransform.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="a00089.html">vtkAbstractTransform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#daac08360fe1daced6e9ca8742746f94">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="a00696.html#7dc33d7da1e28d49f54be5922fd96a33">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="a00696.html#7228060014ac6e6f7bed10caeb4a364c">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="a00696.html#a9bbcd99737354687acf6de35b3a4dae">PrintSelf</a> (ostream &os, <a class="el" href="a00869.html">vtkIndent</a> indent)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#3b36115b40cc03b094dd4229df9a9a67">TransformPoints</a> (<a class="el" href="a01250.html">vtkPoints</a> *inPts, <a class="el" href="a01250.html">vtkPoints</a> *outPts)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#04865a7dc81eeffac80b4bb5033aa6b7">GetMatrix</a> (<a class="el" href="a00998.html">vtkMatrix4x4</a> *m)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00998.html">vtkMatrix4x4</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#523698ef5c53c03213a72f3b0d663948">GetMatrix</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="a00696.html#2fed345ae7a604cfcba4484d749cc40c">TransformPointsNormalsVectors</a> (<a class="el" href="a01250.html">vtkPoints</a> *inPts, <a class="el" href="a01250.html">vtkPoints</a> *outPts, <a class="el" href="a00356.html">vtkDataArray</a> *inNms, <a class="el" href="a00356.html">vtkDataArray</a> *outNms, <a class="el" href="a00356.html">vtkDataArray</a> *inVrs, <a class="el" href="a00356.html">vtkDataArray</a> *outVrs)</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00696.html">vtkHomogeneousTransform</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#129ae505daa0f9e8cb21308b7715cf60">GetHomogeneousInverse</a> ()</td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#65cd43553aabd8b88b84b0d1266b26bd">InternalTransformPoint</a> (const float in[3], float out[3])</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#8ba3246a5f06000a3e32ec819e7ab062">InternalTransformPoint</a> (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">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#17ed2a705b8a3110d2002a58e03a2fef">InternalTransformDerivative</a> (const float in[3], float out[3], float derivative[3][3])</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#63fa0aae98333555eb13e01eb2b6980e">InternalTransformDerivative</a> (const double in[3], double out[3], double derivative[3][3])</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="a00696.html#913b4e0e8496892bd8d364617d9d0bc2">IsTypeOf</a> (const char *type)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="a00696.html">vtkHomogeneousTransform</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#a47740a969ac429dfe143141dc27643e">SafeDownCast</a> (<a class="el" href="a01084.html">vtkObject</a> *o)</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="a00696.html#96c3d01d37b2c726a942173373680ec2">vtkHomogeneousTransform</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#b6624d4381e3a408e3762dd2bd9b9f94">~vtkHomogeneousTransform</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#a9d9394637f93a52fd6a6228e16d77ae">InternalDeepCopy</a> (<a class="el" href="a00089.html">vtkAbstractTransform</a> *transform)</td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00998.html">vtkMatrix4x4</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00696.html#54d6b52ac77897f0cba7dad66501cac4">Matrix</a></td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="daac08360fe1daced6e9ca8742746f94"></a><!-- doxytag: member="vtkHomogeneousTransform::Superclass" ref="daac08360fe1daced6e9ca8742746f94" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef <a class="el" href="a00089.html">vtkAbstractTransform</a> <a class="el" href="a00089.html">vtkHomogeneousTransform::Superclass</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="a00089.html#e60cf7f2849de8f12cfda8da580c878e">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#082bc29ea542b64f25b689ca684f6c82">vtkIdentityTransform</a>, <a class="el" href="a00964.html#05b3da4266835ee6265b5ce1468f2965">vtkLinearTransform</a>, <a class="el" href="a01000.html#641ff1663242fab87594c3131fa786b8">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#8fead7a99f65cc5f6e545b0bd18035e1">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#2e61d8205e33573dbb9c768d5de15fe5">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#742d6f6bf86c4f7133b8fe6d5e448c98">vtkTransform</a>, <a class="el" href="a00927.html#db3259b50120d2cec1b32492160b517f">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#8e015ec2fbc52c4c517689955201a0ce">vtkLandmarkTransform</a>.</p> <p>Definition at line <a class="el" href="a03827.html#l00036">36</a> of file <a class="el" href="a03827.html">vtkHomogeneousTransform.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="96c3d01d37b2c726a942173373680ec2"></a><!-- doxytag: member="vtkHomogeneousTransform::vtkHomogeneousTransform" ref="96c3d01d37b2c726a942173373680ec2" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkHomogeneousTransform::vtkHomogeneousTransform </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="b6624d4381e3a408e3762dd2bd9b9f94"></a><!-- doxytag: member="vtkHomogeneousTransform::~vtkHomogeneousTransform" ref="b6624d4381e3a408e3762dd2bd9b9f94" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">vtkHomogeneousTransform::~vtkHomogeneousTransform </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="7dc33d7da1e28d49f54be5922fd96a33"></a><!-- doxytag: member="vtkHomogeneousTransform::GetClassName" ref="7dc33d7da1e28d49f54be5922fd96a33" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const char* vtkHomogeneousTransform::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="a00089.html#e9b134cb793de682e92e5c2b7948a165">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#e19239ec281ea255720be0faed4f2829">vtkIdentityTransform</a>, <a class="el" href="a00964.html#0653f50056574bc5a828ff2ef0352298">vtkLinearTransform</a>, <a class="el" href="a01000.html#784276b71ab959a84fea713e11481387">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#19fe266bd17f3aca7fd4250af73f0a7b">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#96db36f43fec7649b3a8682d79c69d2f">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#f51aa5b0cde82879f665979968740d5f">vtkTransform</a>, <a class="el" href="a00927.html#7653b2e7a6c300f7fe7e280a720794e4">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#593a016f98424bfd3a2b10e4ed33e907">vtkLandmarkTransform</a>.</p> </div> </div><p> <a class="anchor" name="913b4e0e8496892bd8d364617d9d0bc2"></a><!-- doxytag: member="vtkHomogeneousTransform::IsTypeOf" ref="913b4e0e8496892bd8d364617d9d0bc2" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static int vtkHomogeneousTransform::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="a00089.html#476b4e61462c0504489505734cb337ee">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#e1f621c4b96de8cf1f4607181d0858fb">vtkIdentityTransform</a>, <a class="el" href="a00964.html#d0ad7b0a0296e923751d743ed2c5ba1c">vtkLinearTransform</a>, <a class="el" href="a01000.html#44dd62ea8cdbf48b75d5b059187e3ae9">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#296a18e88e8f4c99d71d09ab4f8a819b">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#fc1ebd2121504999ca5e6df80cc0e752">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#dc11ddbcc86c9343ca52e87ac2f8f3cc">vtkTransform</a>, <a class="el" href="a00927.html#d2cb4d8292356fece8fcdbfdfcd093bc">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#a7a679c2d9c0a910945ffd59d7569271">vtkLandmarkTransform</a>.</p> </div> </div><p> <a class="anchor" name="7228060014ac6e6f7bed10caeb4a364c"></a><!-- doxytag: member="vtkHomogeneousTransform::IsA" ref="7228060014ac6e6f7bed10caeb4a364c" args="(const char *type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int vtkHomogeneousTransform::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="a00089.html#a2a7c5038cfa516a12eb671ffbeb7885">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#2ce939fcb2632acd599ad450ec37d1a6">vtkIdentityTransform</a>, <a class="el" href="a00964.html#7010e6eaaa611e8b39371d0558cd25fe">vtkLinearTransform</a>, <a class="el" href="a01000.html#0e3d3f166185945512ab13b76b2c4c57">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#d65d642c2d45ad165edcb968e8aaa4e6">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#a84c4c933dd83ad927fbc25a2c869027">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#f163fb48c576d3f4610da1f5557db2ee">vtkTransform</a>, <a class="el" href="a00927.html#beedb4b16fc851d994712c98c1831ef5">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#1aacc9eda74f9b7e6f6cfa62b3bd603c">vtkLandmarkTransform</a>.</p> </div> </div><p> <a class="anchor" name="a47740a969ac429dfe143141dc27643e"></a><!-- doxytag: member="vtkHomogeneousTransform::SafeDownCast" ref="a47740a969ac429dfe143141dc27643e" args="(vtkObject *o)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="a00696.html">vtkHomogeneousTransform</a>* vtkHomogeneousTransform::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="a00089.html#ebcc3dab4646ca91a7d35b8eadc7691b">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#ffdf20dcc0ab8ec05632476d06c9115e">vtkIdentityTransform</a>, <a class="el" href="a00964.html#2ab3604361b78948bb64ea481e96396d">vtkLinearTransform</a>, <a class="el" href="a01000.html#f4c886df9d7a1a72ee541a2795d0471a">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#e66b0eddcf0a37a762a0d5acc9e0c504">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#9d23ecdf882cb02cd4c70116548bae30">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#7df85b117c8f48b67ca9492ec4eb01ea">vtkTransform</a>, <a class="el" href="a00927.html#a97f93f5b290edb3c306410685417d74">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#b7d1da7eb88c769331ee78f134f2611c">vtkLandmarkTransform</a>.</p> </div> </div><p> <a class="anchor" name="a9bbcd99737354687acf6de35b3a4dae"></a><!-- doxytag: member="vtkHomogeneousTransform::PrintSelf" ref="a9bbcd99737354687acf6de35b3a4dae" args="(ostream &os, vtkIndent indent)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::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="a00089.html#00748b7629c2c0bc61e9a75a6ed862e3">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#0e885d942281b31c632ea251f58494e7">vtkIdentityTransform</a>, <a class="el" href="a00964.html#465e3a206890ea282162d11169e0bf50">vtkLinearTransform</a>, <a class="el" href="a01000.html#6c2272619179f5588e7261e8befd179f">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#1d8b22444c8924944e96e08009f7c76b">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#9bf4431e74b9ab2a89cf948186b7aca4">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#5be0076dc4f6c72627a29620b4dc06d8">vtkTransform</a>, <a class="el" href="a00927.html#3924a666e6819256de4823102b8e7982">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#9b317e83c405c5dc4d2c472c57e768ec">vtkLandmarkTransform</a>.</p> </div> </div><p> <a class="anchor" name="3b36115b40cc03b094dd4229df9a9a67"></a><!-- doxytag: member="vtkHomogeneousTransform::TransformPoints" ref="3b36115b40cc03b094dd4229df9a9a67" args="(vtkPoints *inPts, vtkPoints *outPts)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::TransformPoints </td> <td>(</td> <td class="paramtype"><a class="el" href="a01250.html">vtkPoints</a> * </td> <td class="paramname"> <em>inPts</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01250.html">vtkPoints</a> * </td> <td class="paramname"> <em>outPts</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> Apply the transformation to a series of points, and append the results to outPts. <p>Reimplemented from <a class="el" href="a00089.html#37bf18763c6f3cdb6192f1ce6d6f9049">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#0356fa32f22942cbfa8ab2c848300d09">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#a8f3677347aa5c5a14fe9765d18f70c6">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="2fed345ae7a604cfcba4484d749cc40c"></a><!-- doxytag: member="vtkHomogeneousTransform::TransformPointsNormalsVectors" ref="2fed345ae7a604cfcba4484d749cc40c" args="(vtkPoints *inPts, vtkPoints *outPts, vtkDataArray *inNms, vtkDataArray *outNms, vtkDataArray *inVrs, vtkDataArray *outVrs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void vtkHomogeneousTransform::TransformPointsNormalsVectors </td> <td>(</td> <td class="paramtype"><a class="el" href="a01250.html">vtkPoints</a> * </td> <td class="paramname"> <em>inPts</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a01250.html">vtkPoints</a> * </td> <td class="paramname"> <em>outPts</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00356.html">vtkDataArray</a> * </td> <td class="paramname"> <em>inNms</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00356.html">vtkDataArray</a> * </td> <td class="paramname"> <em>outNms</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00356.html">vtkDataArray</a> * </td> <td class="paramname"> <em>inVrs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00356.html">vtkDataArray</a> * </td> <td class="paramname"> <em>outVrs</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> Apply the transformation to a combination of points, normals and vectors. <p>Reimplemented from <a class="el" href="a00089.html#3b0f97a65511ac2b2ddd8e62df954440">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#9d439116ad34aaeb4e07c456628bcdc8">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#da9875a5b91dcc8720076dcce269ffbd">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="04865a7dc81eeffac80b4bb5033aa6b7"></a><!-- doxytag: member="vtkHomogeneousTransform::GetMatrix" ref="04865a7dc81eeffac80b4bb5033aa6b7" args="(vtkMatrix4x4 *m)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::GetMatrix </td> <td>(</td> <td class="paramtype"><a class="el" href="a00998.html">vtkMatrix4x4</a> * </td> <td class="paramname"> <em>m</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get a copy of the internal transformation matrix. The transform is Updated first, to guarantee that the matrix is valid. </div> </div><p> <a class="anchor" name="523698ef5c53c03213a72f3b0d663948"></a><!-- doxytag: member="vtkHomogeneousTransform::GetMatrix" ref="523698ef5c53c03213a72f3b0d663948" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00998.html">vtkMatrix4x4</a>* vtkHomogeneousTransform::GetMatrix </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get a pointer to an internal <a class="el" href="a00998.html" title="represent and manipulate 4x4 transformation matrices">vtkMatrix4x4</a> that represents the transformation. An <a class="el" href="a00089.html#4d406166bd1254c1cfd20c115668d06b">Update()</a> is called on the transform to ensure that the matrix is up-to-date when you get it. You should not store the matrix pointer anywhere because it might become stale. <p>Definition at line <a class="el" href="a03827.html#l00062">62</a> of file <a class="el" href="a03827.html">vtkHomogeneousTransform.h</a>.</p> </div> </div><p> <a class="anchor" name="129ae505daa0f9e8cb21308b7715cf60"></a><!-- doxytag: member="vtkHomogeneousTransform::GetHomogeneousInverse" ref="129ae505daa0f9e8cb21308b7715cf60" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00696.html">vtkHomogeneousTransform</a>* vtkHomogeneousTransform::GetHomogeneousInverse </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Just like <a class="el" href="a00089.html#555bdea171c19819b912397c3edf20e9">GetInverse()</a>, but includes typecast to <a class="el" href="a00696.html" title="superclass for homogeneous transformations">vtkHomogeneousTransform</a>. <p>Definition at line <a class="el" href="a03827.html#l00067">67</a> of file <a class="el" href="a03827.html">vtkHomogeneousTransform.h</a>.</p> </div> </div><p> <a class="anchor" name="65cd43553aabd8b88b84b0d1266b26bd"></a><!-- doxytag: member="vtkHomogeneousTransform::InternalTransformPoint" ref="65cd43553aabd8b88b84b0d1266b26bd" args="(const float in[3], float out[3])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::InternalTransformPoint </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>in</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>out</em>[3]</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> This will calculate the transformation without calling Update. Meant for use only within other VTK classes. <p>Implements <a class="el" href="a00089.html#0a8f8a49060145e32790a683e99cf67c">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#91d34154c5f86fc6d6813fe35f7e078d">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#519c174c7c5579681ddb1f7d19035fcd">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="8ba3246a5f06000a3e32ec819e7ab062"></a><!-- doxytag: member="vtkHomogeneousTransform::InternalTransformPoint" ref="8ba3246a5f06000a3e32ec819e7ab062" args="(const double in[3], double out[3])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::InternalTransformPoint </td> <td>(</td> <td class="paramtype">const double </td> <td class="paramname"> <em>in</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>out</em>[3]</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> This will calculate the transformation without calling Update. Meant for use only within other VTK classes. <p>Implements <a class="el" href="a00089.html#39842f88c57280aad254c0073d762819">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#9bf47b03cb9884125d76d269a45a76a6">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#8069645bd54ef889d8bef7a06fd13cb3">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="17ed2a705b8a3110d2002a58e03a2fef"></a><!-- doxytag: member="vtkHomogeneousTransform::InternalTransformDerivative" ref="17ed2a705b8a3110d2002a58e03a2fef" args="(const float in[3], float out[3], float derivative[3][3])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::InternalTransformDerivative </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>in</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>out</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>derivative</em>[3][3]</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> This will calculate the transformation as well as its derivative without calling Update. Meant for use only within other VTK classes. <p>Implements <a class="el" href="a00089.html#846baeaca3bfbc32d83903df4ee85f87">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#613c01d16a956d7f06dcb0d55c9022e1">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#7598bb617e96d766ad0ef1e1da059b76">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="63fa0aae98333555eb13e01eb2b6980e"></a><!-- doxytag: member="vtkHomogeneousTransform::InternalTransformDerivative" ref="63fa0aae98333555eb13e01eb2b6980e" args="(const double in[3], double out[3], double derivative[3][3])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::InternalTransformDerivative </td> <td>(</td> <td class="paramtype">const double </td> <td class="paramname"> <em>in</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>out</em>[3], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>derivative</em>[3][3]</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> This will calculate the transformation as well as its derivative without calling Update. Meant for use only within other VTK classes. <p>Implements <a class="el" href="a00089.html#695620ccc5024172b5caa78dca0ab40e">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#a116c9d8e49dc87998ef320d3c121aa8">vtkIdentityTransform</a>, and <a class="el" href="a00964.html#c48ce4c764787c8a0d4e87423433f65b">vtkLinearTransform</a>.</p> </div> </div><p> <a class="anchor" name="a9d9394637f93a52fd6a6228e16d77ae"></a><!-- doxytag: member="vtkHomogeneousTransform::InternalDeepCopy" ref="a9d9394637f93a52fd6a6228e16d77ae" args="(vtkAbstractTransform *transform)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void vtkHomogeneousTransform::InternalDeepCopy </td> <td>(</td> <td class="paramtype"><a class="el" href="a00089.html">vtkAbstractTransform</a> * </td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Perform any subclass-specific DeepCopy. <p>Reimplemented from <a class="el" href="a00089.html#7058c2594f3b8caa9276fc1ef1e9b73b">vtkAbstractTransform</a>.</p> <p>Reimplemented in <a class="el" href="a00718.html#0cdcc1097cd5512667995774f41120af">vtkIdentityTransform</a>, <a class="el" href="a01000.html#f09654eee2f600551ada6f3fe074cbc1">vtkMatrixToHomogeneousTransform</a>, <a class="el" href="a01001.html#218f9265ce1c3a8637f648bf7f49bd84">vtkMatrixToLinearTransform</a>, <a class="el" href="a01207.html#a00bcf436895523dc28b0cd6308162f7">vtkPerspectiveTransform</a>, <a class="el" href="a01723.html#9110286ee3329ae63315493ac727a944">vtkTransform</a>, <a class="el" href="a00927.html#289d0c7fd10b89b56be345c4a57283a8">vtkIterativeClosestPointTransform</a>, and <a class="el" href="a00948.html#a99b6aa2a66a79d8709b4b53ff659393">vtkLandmarkTransform</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="54d6b52ac77897f0cba7dad66501cac4"></a><!-- doxytag: member="vtkHomogeneousTransform::Matrix" ref="54d6b52ac77897f0cba7dad66501cac4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00998.html">vtkMatrix4x4</a>* <a class="el" href="a00696.html#54d6b52ac77897f0cba7dad66501cac4">vtkHomogeneousTransform::Matrix</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="a03827.html#l00095">95</a> of file <a class="el" href="a03827.html">vtkHomogeneousTransform.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="a03827.html">vtkHomogeneousTransform.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Wed Jun 3 19:07:23 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>