mirror of
https://github.com/mcneel/opennurbs.git
synced 2026-04-02 01:16:49 +08:00
3294 lines
168 KiB
HTML
3294 lines
168 KiB
HTML
<!-- HTML header for doxygen 1.8.13-->
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>openNURBS SDK Help: ON_Xform Class Reference</title>
|
|
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
|
|
<!-- <script type="text/javascript" src="../../jquery.js"></script> -->
|
|
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
|
|
<script type="text/javascript" src="../../dynsections.js"></script>
|
|
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="../../customdoxygen.css" rel="stylesheet" type="text/css"/>
|
|
<!-- bootstrap -->
|
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
|
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
|
|
<!-- smartmenus -->
|
|
<link href="../../jquery.smartmenus.bootstrap.css" rel="stylesheet">
|
|
<script type="text/javascript" src="../../jquery.smartmenus.js"></script>
|
|
<script type="text/javascript" src="../../jquery.smartmenus.bootstrap.js"></script>
|
|
</head>
|
|
<body>
|
|
<!-- <div class="version-banner">
|
|
Go back to the <a href="/">main site</a>...
|
|
</div> -->
|
|
<div class="container">
|
|
<!-- navbar -->
|
|
<nav class="navbar navbar-default">
|
|
<div class="container-fluid">
|
|
<a class="navbar-brand" href="#">openNURBS SDK Help</a>
|
|
<div class="navbar-collapse collapse" id="main-nav-placeholder">
|
|
<!-- <p class="navbar-text navbar-right">v6.0</p> -->
|
|
<ul class="nav navbar-nav navbar-right">
|
|
<li class="dropdown">
|
|
<a class="dropdown-toggle" href="#">v6.0 <span class="caret"></span></a>
|
|
<ul class="dropdown-menu">
|
|
<li><a href="#">Latest (6.x)</a></li>
|
|
<li class="disabled"><a href="#">WIP (7.x)</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div class="page-content">
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.13 -->
|
|
<script type="text/javascript" src="../../menudata.js"></script>
|
|
<script type="text/javascript" src="../../menu.js"></script>
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
initMenu('../../',false,false,'search.php','Search');
|
|
});
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
<a href="#pub-attribs">Public Attributes</a> |
|
|
<a href="#pub-static-attribs">Static Public Attributes</a> |
|
|
<a href="../../d3/d2f/class_o_n___xform-members.html">List of all members</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">ON_Xform Class Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p><code>#include <<a class="el" href="../../d4/df4/opennurbs__xform_8h_source.html">opennurbs_xform.h</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:afad7fa737d824b6d005d287e854cc13c"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#afad7fa737d824b6d005d287e854cc13c">ON_Xform</a> ()</td></tr>
|
|
<tr class="memdesc:afad7fa737d824b6d005d287e854cc13c"><td class="mdescLeft"> </td><td class="mdescRight">Default constructor transformation has diagonal (0,0,0,1) <a href="#afad7fa737d824b6d005d287e854cc13c">More...</a><br /></td></tr>
|
|
<tr class="separator:afad7fa737d824b6d005d287e854cc13c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a894d809292a5ccb567b76718cf480584"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a894d809292a5ccb567b76718cf480584">ON_Xform</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &)=default</td></tr>
|
|
<tr class="separator:a894d809292a5ccb567b76718cf480584"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a00a884f47463b95cd200186268b31a45"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a00a884f47463b95cd200186268b31a45">ON_Xform</a> (double x)</td></tr>
|
|
<tr class="memdesc:a00a884f47463b95cd200186268b31a45"><td class="mdescLeft"> </td><td class="mdescRight">Constructs transformation with diagonal (x,x,x,1) <a href="#a00a884f47463b95cd200186268b31a45">More...</a><br /></td></tr>
|
|
<tr class="separator:a00a884f47463b95cd200186268b31a45"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a29410c706ad7b23906075e9f1430f15e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a29410c706ad7b23906075e9f1430f15e">ON_Xform</a> (const double[4][4])</td></tr>
|
|
<tr class="separator:a29410c706ad7b23906075e9f1430f15e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4feab784bd8cf1a79d855cf2e0581262"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a4feab784bd8cf1a79d855cf2e0581262">ON_Xform</a> (const float[4][4])</td></tr>
|
|
<tr class="separator:a4feab784bd8cf1a79d855cf2e0581262"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a496bee0701357fe6b6d657267f6ba20d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a496bee0701357fe6b6d657267f6ba20d">ON_Xform</a> (const double *)</td></tr>
|
|
<tr class="separator:a496bee0701357fe6b6d657267f6ba20d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa3b7c91054acd2ca27b8ed54f4702f9d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aa3b7c91054acd2ca27b8ed54f4702f9d">ON_Xform</a> (const float *)</td></tr>
|
|
<tr class="separator:aa3b7c91054acd2ca27b8ed54f4702f9d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a33b1f7ef2f7eaeb9b40a357379e3cff4"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a33b1f7ef2f7eaeb9b40a357379e3cff4">ON_Xform</a> (const <a class="el" href="../../d7/d20/class_o_n___matrix.html">ON_Matrix</a> &)</td></tr>
|
|
<tr class="separator:a33b1f7ef2f7eaeb9b40a357379e3cff4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9e7bbe9b418d527ea2425eb47157a015"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a9e7bbe9b418d527ea2425eb47157a015">ON_Xform</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &P, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z)</td></tr>
|
|
<tr class="separator:a9e7bbe9b418d527ea2425eb47157a015"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa5982c5f1241aa1027ce0550a71b66cb"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aa5982c5f1241aa1027ce0550a71b66cb">~ON_Xform</a> ()=default</td></tr>
|
|
<tr class="separator:aa5982c5f1241aa1027ce0550a71b66cb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8cae4a4aa52937ec8ef8b6f8f3532687"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a8cae4a4aa52937ec8ef8b6f8f3532687">ActOnLeft</a> (double, double, double, double, double[4]) const</td></tr>
|
|
<tr class="memdesc:a8cae4a4aa52937ec8ef8b6f8f3532687"><td class="mdescLeft"> </td><td class="mdescRight">Computes matrix * transpose([x,y,z,w]). <a href="#a8cae4a4aa52937ec8ef8b6f8f3532687">More...</a><br /></td></tr>
|
|
<tr class="separator:a8cae4a4aa52937ec8ef8b6f8f3532687"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7380cb6e864128f1dd8ef56f8393f64a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a7380cb6e864128f1dd8ef56f8393f64a">ActOnRight</a> (double, double, double, double, double[4]) const</td></tr>
|
|
<tr class="memdesc:a7380cb6e864128f1dd8ef56f8393f64a"><td class="mdescLeft"> </td><td class="mdescRight">Computes [x,y,z,w] * matrix. <a href="#a7380cb6e864128f1dd8ef56f8393f64a">More...</a><br /></td></tr>
|
|
<tr class="separator:a7380cb6e864128f1dd8ef56f8393f64a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aafa81e1f156bafe4601e047084ff95d1"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aafa81e1f156bafe4601e047084ff95d1">CameraToClip</a> (bool bIsPerspective, double, double, double, double, double, double)</td></tr>
|
|
<tr class="separator:aafa81e1f156bafe4601e047084ff95d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a45b0d843d5bc917bc070367b29e581af"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a45b0d843d5bc917bc070367b29e581af">CameraToWorld</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &)</td></tr>
|
|
<tr class="separator:a45b0d843d5bc917bc070367b29e581af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7fbcbb60a036396a372a8b8453febc6a"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a7fbcbb60a036396a372a8b8453febc6a">ChangeBasis</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane0, const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane1)</td></tr>
|
|
<tr class="separator:a7fbcbb60a036396a372a8b8453febc6a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abe3ae637386c9ea3b785b921346effaf"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#abe3ae637386c9ea3b785b921346effaf">ChangeBasis</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z1)</td></tr>
|
|
<tr class="memdesc:abe3ae637386c9ea3b785b921346effaf"><td class="mdescLeft"> </td><td class="mdescRight">Get a change of basis transformation. <a href="#abe3ae637386c9ea3b785b921346effaf">More...</a><br /></td></tr>
|
|
<tr class="separator:abe3ae637386c9ea3b785b921346effaf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a824d02d136758ccb5dc1074100d605f5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a824d02d136758ccb5dc1074100d605f5">ChangeBasis</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &P0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z0, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &P1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z1)</td></tr>
|
|
<tr class="separator:a824d02d136758ccb5dc1074100d605f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aead35eea0c475ff8a825014b0a702355"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aead35eea0c475ff8a825014b0a702355">ClipFlag3d</a> (const double *) const</td></tr>
|
|
<tr class="memdesc:aead35eea0c475ff8a825014b0a702355"><td class="mdescLeft"> </td><td class="mdescRight">Computes 3d point clipping flags and returns an int with bits set to indicate if the point is outside of the clipping box. <a href="#aead35eea0c475ff8a825014b0a702355">More...</a><br /></td></tr>
|
|
<tr class="separator:aead35eea0c475ff8a825014b0a702355"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5a5399bdaecc824c7ffe4fd0c45342f0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a5a5399bdaecc824c7ffe4fd0c45342f0">ClipFlag3d</a> (int, int, const double *, bool bTestZ=true) const</td></tr>
|
|
<tr class="separator:a5a5399bdaecc824c7ffe4fd0c45342f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a175f6b176dd2015b0a24da9c911f5dd0"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a175f6b176dd2015b0a24da9c911f5dd0">ClipFlag3dBox</a> (const double *, const double *) const</td></tr>
|
|
<tr class="separator:a175f6b176dd2015b0a24da9c911f5dd0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99d8ee7598fe94bd81a44efd25a2a273"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a99d8ee7598fe94bd81a44efd25a2a273">ClipFlag4d</a> (const double *) const</td></tr>
|
|
<tr class="separator:a99d8ee7598fe94bd81a44efd25a2a273"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aad9ac2867caa3cf62f6ac5e9bd194e9a"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aad9ac2867caa3cf62f6ac5e9bd194e9a">ClipFlag4d</a> (int, int, const double *, bool bTestZ=true) const</td></tr>
|
|
<tr class="separator:aad9ac2867caa3cf62f6ac5e9bd194e9a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a74f3625a9e466ed6bb9e491e2fdd508b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a74f3625a9e466ed6bb9e491e2fdd508b">ClipToCamera</a> (bool bIsPerspective, double, double, double, double, double, double)</td></tr>
|
|
<tr class="memdesc:a74f3625a9e466ed6bb9e491e2fdd508b"><td class="mdescLeft"> </td><td class="mdescRight">maps -1 <= x,y,z <= 1 box to viewport frustum <a href="#a74f3625a9e466ed6bb9e491e2fdd508b">More...</a><br /></td></tr>
|
|
<tr class="separator:a74f3625a9e466ed6bb9e491e2fdd508b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a719833e89842b0755a446ccaa3477234"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a719833e89842b0755a446ccaa3477234">ClipToScreen</a> (double, double, double, double, double, double)</td></tr>
|
|
<tr class="separator:a719833e89842b0755a446ccaa3477234"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abff79e5ac5f95a894dbe538359fa3a43"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#abff79e5ac5f95a894dbe538359fa3a43">Compare</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &other) const</td></tr>
|
|
<tr class="memdesc:abff79e5ac5f95a894dbe538359fa3a43"><td class="mdescLeft"> </td><td class="mdescRight">Well ordered dictionary compare that is nan aware. <a href="#abff79e5ac5f95a894dbe538359fa3a43">More...</a><br /></td></tr>
|
|
<tr class="separator:abff79e5ac5f95a894dbe538359fa3a43"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7462351a9a13008d1ff79d1aee645cc5"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a7462351a9a13008d1ff79d1aee645cc5">Determinant</a> (double *=nullptr) const</td></tr>
|
|
<tr class="separator:a7462351a9a13008d1ff79d1aee645cc5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a929c2750cf67b0f7fddb6e32859834ab"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a929c2750cf67b0f7fddb6e32859834ab">Diagonal</a> (double d)</td></tr>
|
|
<tr class="separator:a929c2750cf67b0f7fddb6e32859834ab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a72091a1051e5b4d869fe2bc02ac10086"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a72091a1051e5b4d869fe2bc02ac10086">GetMappingXforms</a> (<a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &P_xform, <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &N_xform) const</td></tr>
|
|
<tr class="memdesc:a72091a1051e5b4d869fe2bc02ac10086"><td class="mdescLeft"> </td><td class="mdescRight">If a texture mapping is applied to an object, the object is subsequently transformed by T, and the texture mapping needs to be recalculated, then two transforms are required to recalcalculate the texture mapping. <a href="#a72091a1051e5b4d869fe2bc02ac10086">More...</a><br /></td></tr>
|
|
<tr class="separator:a72091a1051e5b4d869fe2bc02ac10086"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab7a7206c7076b1ed6d73810274e0d00b"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ab7a7206c7076b1ed6d73810274e0d00b">GetSurfaceNormalXform</a> (<a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &N_xform) const</td></tr>
|
|
<tr class="memdesc:ab7a7206c7076b1ed6d73810274e0d00b"><td class="mdescLeft"> </td><td class="mdescRight">When transforming 3d point and surface or mesh normals two different transforms must be used. If P_xform transforms the point, then the inverse transpose of P_xform must be used to tranform normal vectors. <a href="#ab7a7206c7076b1ed6d73810274e0d00b">More...</a><br /></td></tr>
|
|
<tr class="separator:ab7a7206c7076b1ed6d73810274e0d00b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3acabc2f3450992a943040eb0b0a6e0f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a3acabc2f3450992a943040eb0b0a6e0f">Identity</a> ()</td></tr>
|
|
<tr class="memdesc:a3acabc2f3450992a943040eb0b0a6e0f"><td class="mdescLeft"> </td><td class="mdescRight">standard transformations <a href="#a3acabc2f3450992a943040eb0b0a6e0f">More...</a><br /></td></tr>
|
|
<tr class="separator:a3acabc2f3450992a943040eb0b0a6e0f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0a74f0e2965c724eeacb7650b4192a4e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a0a74f0e2965c724eeacb7650b4192a4e">IntervalChange</a> (int dir, <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> old_interval, <a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> new_interval)</td></tr>
|
|
<tr class="memdesc:a0a74f0e2965c724eeacb7650b4192a4e"><td class="mdescLeft"> </td><td class="mdescRight">Calculates the transformation that linearly maps old_interval to new_interval. <a href="#a0a74f0e2965c724eeacb7650b4192a4e">More...</a><br /></td></tr>
|
|
<tr class="separator:a0a74f0e2965c724eeacb7650b4192a4e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adb76cd3228028e2117fc11c0c20e5970"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#adb76cd3228028e2117fc11c0c20e5970">Inverse</a> (double *=nullptr) const</td></tr>
|
|
<tr class="separator:adb76cd3228028e2117fc11c0c20e5970"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9fb5d7ba1e4e803d801e588786e12806"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a9fb5d7ba1e4e803d801e588786e12806">Invert</a> (double *=nullptr)</td></tr>
|
|
<tr class="separator:a9fb5d7ba1e4e803d801e588786e12806"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af20ed46002a65036de0e8c7ea108e317"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#af20ed46002a65036de0e8c7ea108e317">IsAffine</a> () const</td></tr>
|
|
<tr class="memdesc:af20ed46002a65036de0e8c7ea108e317"><td class="mdescLeft"> </td><td class="mdescRight">A transformation is affine if it is valid and its last row is 0 0 0 1 An affine transformation can be broken into a linear transformation and a translation. <a href="#af20ed46002a65036de0e8c7ea108e317">More...</a><br /></td></tr>
|
|
<tr class="separator:af20ed46002a65036de0e8c7ea108e317"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9acab57a9960e896e4487a483c979dcf"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a9acab57a9960e896e4487a483c979dcf">IsIdentity</a> (double zero_tolerance=0.0) const</td></tr>
|
|
<tr class="separator:a9acab57a9960e896e4487a483c979dcf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae8b66abebffc2cb5fc66e06aaadf4b71"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ae8b66abebffc2cb5fc66e06aaadf4b71">IsNan</a> () const</td></tr>
|
|
<tr class="memdesc:ae8b66abebffc2cb5fc66e06aaadf4b71"><td class="mdescLeft"> </td><td class="mdescRight">Test the entries of the transformation matrix to see if they are valid number. <a href="#ae8b66abebffc2cb5fc66e06aaadf4b71">More...</a><br /></td></tr>
|
|
<tr class="separator:ae8b66abebffc2cb5fc66e06aaadf4b71"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3b123d7f406bdbfb61fd8cd86e4e6ce0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a3b123d7f406bdbfb61fd8cd86e4e6ce0">IsNotIdentity</a> (double zero_tolerance=0.0) const</td></tr>
|
|
<tr class="separator:a3b123d7f406bdbfb61fd8cd86e4e6ce0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aec3ccb731b51ebe56e9cb58ae5536371"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aec3ccb731b51ebe56e9cb58ae5536371">IsSimilarity</a> () const</td></tr>
|
|
<tr class="memdesc:aec3ccb731b51ebe56e9cb58ae5536371"><td class="mdescLeft"> </td><td class="mdescRight">A similarity transformation can be broken into a sequence of dialations, translations, rotations, and reflections. <a href="#aec3ccb731b51ebe56e9cb58ae5536371">More...</a><br /></td></tr>
|
|
<tr class="separator:aec3ccb731b51ebe56e9cb58ae5536371"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad6fcc8ea09d9f0fa9d5dc755f8cf2d24"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ad6fcc8ea09d9f0fa9d5dc755f8cf2d24">IsTranslation</a> (double zero_tolerance=0.0) const</td></tr>
|
|
<tr class="separator:ad6fcc8ea09d9f0fa9d5dc755f8cf2d24"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af3ba89bd94dbf1352646da57052b67cb"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#af3ba89bd94dbf1352646da57052b67cb">IsValid</a> () const</td></tr>
|
|
<tr class="memdesc:af3ba89bd94dbf1352646da57052b67cb"><td class="mdescLeft"> </td><td class="mdescRight">Test the entries of the transformation matrix to see if they are valid number. <a href="#af3ba89bd94dbf1352646da57052b67cb">More...</a><br /></td></tr>
|
|
<tr class="separator:af3ba89bd94dbf1352646da57052b67cb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:afd119e20407cf6d31371042264460f13"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#afd119e20407cf6d31371042264460f13">IsValidAndNotZeroAndNotIdentity</a> (double zero_tolerance=0.0) const</td></tr>
|
|
<tr class="separator:afd119e20407cf6d31371042264460f13"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad06570bb93287c8d55a3cac561515299"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ad06570bb93287c8d55a3cac561515299">IsZero</a> () const</td></tr>
|
|
<tr class="separator:ad06570bb93287c8d55a3cac561515299"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a98dddb0c8f2e23da8880fe97c49d9268"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a98dddb0c8f2e23da8880fe97c49d9268">IsZero4x4</a> () const</td></tr>
|
|
<tr class="separator:a98dddb0c8f2e23da8880fe97c49d9268"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3cb7248499a74a0f33acb77ca8196151"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a3cb7248499a74a0f33acb77ca8196151">IsZeroTransformation</a> () const</td></tr>
|
|
<tr class="separator:a3cb7248499a74a0f33acb77ca8196151"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac84c376e1e2f91c80324c0a0e98ef207"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ac84c376e1e2f91c80324c0a0e98ef207">Mirror</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> point_on_mirror_plane, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> normal_to_mirror_plane)</td></tr>
|
|
<tr class="memdesc:ac84c376e1e2f91c80324c0a0e98ef207"><td class="mdescLeft"> </td><td class="mdescRight">Create mirror transformation matrix. <a href="#ac84c376e1e2f91c80324c0a0e98ef207">More...</a><br /></td></tr>
|
|
<tr class="separator:ac84c376e1e2f91c80324c0a0e98ef207"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a254b6e1666396d85873bf665f4382d84"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a254b6e1666396d85873bf665f4382d84">operator!=</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &rhs) const</td></tr>
|
|
<tr class="separator:a254b6e1666396d85873bf665f4382d84"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6a175185d16845d217cbd8c728512499"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a6a175185d16845d217cbd8c728512499">operator*</a> (const <a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> &) const</td></tr>
|
|
<tr class="separator:a6a175185d16845d217cbd8c728512499"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a9c7b6e144931b9a50d474bbc41d1b4df"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a9c7b6e144931b9a50d474bbc41d1b4df">operator*</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &) const</td></tr>
|
|
<tr class="separator:a9c7b6e144931b9a50d474bbc41d1b4df"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3bf89a792732665598f4e221e6aef19e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a3bf89a792732665598f4e221e6aef19e">operator*</a> (const <a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> &) const</td></tr>
|
|
<tr class="separator:a3bf89a792732665598f4e221e6aef19e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a00422a8e8f11389828ba7319c4c33599"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a00422a8e8f11389828ba7319c4c33599">operator*</a> (const <a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> &) const</td></tr>
|
|
<tr class="separator:a00422a8e8f11389828ba7319c4c33599"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2f365179088df3632e5f704ce19d2beb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a2f365179088df3632e5f704ce19d2beb">operator*</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &) const</td></tr>
|
|
<tr class="separator:a2f365179088df3632e5f704ce19d2beb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac23d647830e31f433e1d45890dcb4d14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ac23d647830e31f433e1d45890dcb4d14">operator*</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &) const</td></tr>
|
|
<tr class="separator:ac23d647830e31f433e1d45890dcb4d14"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a14618115dc0916834dfe6b13e9af513b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a14618115dc0916834dfe6b13e9af513b">operator+</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &) const</td></tr>
|
|
<tr class="separator:a14618115dc0916834dfe6b13e9af513b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a288d4fc5b096a8b62e89250bdb2a9ffc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a288d4fc5b096a8b62e89250bdb2a9ffc">operator-</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &) const</td></tr>
|
|
<tr class="separator:a288d4fc5b096a8b62e89250bdb2a9ffc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1714af3c9fc2dc13e509f8e9838a2e94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a1714af3c9fc2dc13e509f8e9838a2e94">operator=</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &)=default</td></tr>
|
|
<tr class="separator:a1714af3c9fc2dc13e509f8e9838a2e94"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a13ad1ff2a26f6dcccb7a44765674759f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a13ad1ff2a26f6dcccb7a44765674759f">operator=</a> (const <a class="el" href="../../d7/d20/class_o_n___matrix.html">ON_Matrix</a> &)</td></tr>
|
|
<tr class="memdesc:a13ad1ff2a26f6dcccb7a44765674759f"><td class="mdescLeft"> </td><td class="mdescRight">xform = scalar results in a diagonal 3x3 with bottom row = 0,0,0,1 <a href="#a13ad1ff2a26f6dcccb7a44765674759f">More...</a><br /></td></tr>
|
|
<tr class="separator:a13ad1ff2a26f6dcccb7a44765674759f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4a190ec1dfddf1e2474ad57c80f6e3d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ab4a190ec1dfddf1e2474ad57c80f6e3d">operator==</a> (const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> &rhs) const</td></tr>
|
|
<tr class="separator:ab4a190ec1dfddf1e2474ad57c80f6e3d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad259c9736ce7daf5d200ab4353b23545"><td class="memItemLeft" align="right" valign="top">double * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ad259c9736ce7daf5d200ab4353b23545">operator[]</a> (int)</td></tr>
|
|
<tr class="separator:ad259c9736ce7daf5d200ab4353b23545"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a69c10f3299018ccfe5f6054ac48ed0c7"><td class="memItemLeft" align="right" valign="top">const double * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a69c10f3299018ccfe5f6054ac48ed0c7">operator[]</a> (int) const</td></tr>
|
|
<tr class="separator:a69c10f3299018ccfe5f6054ac48ed0c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adb4f772479f1c76db9f8c85d602d627b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#adb4f772479f1c76db9f8c85d602d627b">PlanarProjection</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane)</td></tr>
|
|
<tr class="memdesc:adb4f772479f1c76db9f8c85d602d627b"><td class="mdescLeft"> </td><td class="mdescRight">Get transformation that projects to a plane <a href="#adb4f772479f1c76db9f8c85d602d627b">More...</a><br /></td></tr>
|
|
<tr class="separator:adb4f772479f1c76db9f8c85d602d627b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aab233311d464665b83cf1d81c9859aea"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aab233311d464665b83cf1d81c9859aea">Rank</a> (double *=nullptr) const</td></tr>
|
|
<tr class="separator:aab233311d464665b83cf1d81c9859aea"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a96d9246621d937407758af6ca16db267"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a96d9246621d937407758af6ca16db267">Rotation</a> (double sin_angle, double cos_angle, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> rotation_axis, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> rotation_center)</td></tr>
|
|
<tr class="memdesc:a96d9246621d937407758af6ca16db267"><td class="mdescLeft"> </td><td class="mdescRight">The <a class="el" href="../../d3/d13/class_o_n___xform.html#a96d9246621d937407758af6ca16db267" title="The Rotation() function is overloaded and provides several ways to compute a rotation transformation...">Rotation()</a> function is overloaded and provides several ways to compute a rotation transformation. A positive rotation angle indicates a counter-clockwise (right hand rule) rotation about the axis of rotation. <a href="#a96d9246621d937407758af6ca16db267">More...</a><br /></td></tr>
|
|
<tr class="separator:a96d9246621d937407758af6ca16db267"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a4bacfebfdf34f38053602b4b995a05c8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a4bacfebfdf34f38053602b4b995a05c8">Rotation</a> (double angle_radians, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> rotation_axis, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> rotation_center)</td></tr>
|
|
<tr class="separator:a4bacfebfdf34f38053602b4b995a05c8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add40941b83f805905c8c9319383307f5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#add40941b83f805905c8c9319383307f5">Rotation</a> (<a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> start_dir, <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> end_dir, <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> rotation_center)</td></tr>
|
|
<tr class="memdesc:add40941b83f805905c8c9319383307f5"><td class="mdescLeft"> </td><td class="mdescRight">Calculate the minimal transformation that rotates start_dir to end_dir while fixing rotation_center. <a href="#add40941b83f805905c8c9319383307f5">More...</a><br /></td></tr>
|
|
<tr class="separator:add40941b83f805905c8c9319383307f5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a14ca3872105378035d3d2a483d81066c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a14ca3872105378035d3d2a483d81066c">Rotation</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z1)</td></tr>
|
|
<tr class="separator:a14ca3872105378035d3d2a483d81066c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af76b2472e1fac123a2fcc0927dbabcf3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#af76b2472e1fac123a2fcc0927dbabcf3">Rotation</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &P0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y0, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z0, const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &P1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &X1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &Z1)</td></tr>
|
|
<tr class="separator:af76b2472e1fac123a2fcc0927dbabcf3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a00cf904e8c8caecf8a77b81edb04ff8b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a00cf904e8c8caecf8a77b81edb04ff8b">Rotation</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane0, const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane1)</td></tr>
|
|
<tr class="memdesc:a00cf904e8c8caecf8a77b81edb04ff8b"><td class="mdescLeft"> </td><td class="mdescRight">Create rotation transformation that maps plane0 to plane1. <a href="#a00cf904e8c8caecf8a77b81edb04ff8b">More...</a><br /></td></tr>
|
|
<tr class="separator:a00cf904e8c8caecf8a77b81edb04ff8b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a885acec359045e452a3ddd6eea23cde2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a885acec359045e452a3ddd6eea23cde2">Scale</a> (double x_scale_factor, double y_scale_factor, double z_scale_factor)</td></tr>
|
|
<tr class="memdesc:a885acec359045e452a3ddd6eea23cde2"><td class="mdescLeft"> </td><td class="mdescRight">Create non-uniform scale transformation with the origin as a fixed point. <a href="#a885acec359045e452a3ddd6eea23cde2">More...</a><br /></td></tr>
|
|
<tr class="separator:a885acec359045e452a3ddd6eea23cde2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2e2fd9d63877bd3309139e1cd9b79c51"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a2e2fd9d63877bd3309139e1cd9b79c51">Scale</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &scale_vector)</td></tr>
|
|
<tr class="memdesc:a2e2fd9d63877bd3309139e1cd9b79c51"><td class="mdescLeft"> </td><td class="mdescRight">Create non-uniform scale transformation with the origin as the fixed point. <a href="#a2e2fd9d63877bd3309139e1cd9b79c51">More...</a><br /></td></tr>
|
|
<tr class="separator:a2e2fd9d63877bd3309139e1cd9b79c51"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1f5b403d4c81217f9aac916af8bb3307"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a1f5b403d4c81217f9aac916af8bb3307">Scale</a> (<a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> fixed_point, double scale_factor)</td></tr>
|
|
<tr class="memdesc:a1f5b403d4c81217f9aac916af8bb3307"><td class="mdescLeft"> </td><td class="mdescRight">Create uniform scale transformation with a specified fixed point. <a href="#a1f5b403d4c81217f9aac916af8bb3307">More...</a><br /></td></tr>
|
|
<tr class="separator:a1f5b403d4c81217f9aac916af8bb3307"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa487dd409c1f8969c5fc471b3ef8f2e9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aa487dd409c1f8969c5fc471b3ef8f2e9">Scale</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane, double x_scale_factor, double y_scale_factor, double z_scale_factor)</td></tr>
|
|
<tr class="memdesc:aa487dd409c1f8969c5fc471b3ef8f2e9"><td class="mdescLeft"> </td><td class="mdescRight">Create non-uniform scale transformation with a specified fixed point. <a href="#aa487dd409c1f8969c5fc471b3ef8f2e9">More...</a><br /></td></tr>
|
|
<tr class="separator:aa487dd409c1f8969c5fc471b3ef8f2e9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab82e8a997f186cc7a7defefef5dd5d1c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ab82e8a997f186cc7a7defefef5dd5d1c">ScreenToClip</a> (double, double, double, double, double, double)</td></tr>
|
|
<tr class="separator:ab82e8a997f186cc7a7defefef5dd5d1c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a21d39fb2a1dd2701b8ba9568fbed0b54"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a21d39fb2a1dd2701b8ba9568fbed0b54">Shear</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &x1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &z1)</td></tr>
|
|
<tr class="separator:a21d39fb2a1dd2701b8ba9568fbed0b54"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3498c05e0640f7fdad5a449ffee5227e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a3498c05e0640f7fdad5a449ffee5227e">Translation</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &delta)</td></tr>
|
|
<tr class="separator:a3498c05e0640f7fdad5a449ffee5227e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a35dee4a0caf2f600ca75e146ff85a9b2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a35dee4a0caf2f600ca75e146ff85a9b2">Translation</a> (double dx, double dy, double dz)</td></tr>
|
|
<tr class="separator:a35dee4a0caf2f600ca75e146ff85a9b2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aa7ef93e4f93619a4bf693f940f03767e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aa7ef93e4f93619a4bf693f940f03767e">Transpose</a> ()</td></tr>
|
|
<tr class="memdesc:aa7ef93e4f93619a4bf693f940f03767e"><td class="mdescLeft"> </td><td class="mdescRight">matrix operations <a href="#aa7ef93e4f93619a4bf693f940f03767e">More...</a><br /></td></tr>
|
|
<tr class="separator:aa7ef93e4f93619a4bf693f940f03767e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab7bddfb8e55a0ee93716de3ce3f2e5c1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ab7bddfb8e55a0ee93716de3ce3f2e5c1">WorldToCamera</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &)</td></tr>
|
|
<tr class="memdesc:ab7bddfb8e55a0ee93716de3ce3f2e5c1"><td class="mdescLeft"> </td><td class="mdescRight">standard viewing transformations <a href="#ab7bddfb8e55a0ee93716de3ce3f2e5c1">More...</a><br /></td></tr>
|
|
<tr class="separator:ab7bddfb8e55a0ee93716de3ce3f2e5c1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
Static Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:aba2b914f1efbfcf98b4222e6b1c920f6"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aba2b914f1efbfcf98b4222e6b1c920f6">DiagonalTransformation</a> (double d)</td></tr>
|
|
<tr class="separator:aba2b914f1efbfcf98b4222e6b1c920f6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2e59387d2447a1783a3baca60d08d9fd"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a2e59387d2447a1783a3baca60d08d9fd">DiagonalTransformation</a> (double d0, double d1, double d2)</td></tr>
|
|
<tr class="separator:a2e59387d2447a1783a3baca60d08d9fd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7293f9404e837d7ee62d45cc14a2413f"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a7293f9404e837d7ee62d45cc14a2413f">DiagonalTransformation</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &diagnoal)</td></tr>
|
|
<tr class="separator:a7293f9404e837d7ee62d45cc14a2413f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad879fa21cd3bfc842087c1786e960b15"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ad879fa21cd3bfc842087c1786e960b15">ScaleTransformation</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &fixed_point, double scale_factor)</td></tr>
|
|
<tr class="separator:ad879fa21cd3bfc842087c1786e960b15"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a35746d8276047d51a68a4738aa6b4360"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a35746d8276047d51a68a4738aa6b4360">ScaleTransformation</a> (const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> &fixed_point, double x_scale_factor, double y_scale_factor, double z_scale_factor)</td></tr>
|
|
<tr class="separator:a35746d8276047d51a68a4738aa6b4360"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a94a38ec9532d3f23465b54246ceb7045"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a94a38ec9532d3f23465b54246ceb7045">ScaleTransformation</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane, double x_scale_factor, double y_scale_factor, double z_scale_factor)</td></tr>
|
|
<tr class="memdesc:a94a38ec9532d3f23465b54246ceb7045"><td class="mdescLeft"> </td><td class="mdescRight">Create non-uniform scale transformation with a specified fixed point. <a href="#a94a38ec9532d3f23465b54246ceb7045">More...</a><br /></td></tr>
|
|
<tr class="separator:a94a38ec9532d3f23465b54246ceb7045"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad9e5dbc570b63bd40ec35673cf5d0a2d"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ad9e5dbc570b63bd40ec35673cf5d0a2d">ShearTransformation</a> (const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> &plane, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &x1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &y1, const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &z1)</td></tr>
|
|
<tr class="memdesc:ad9e5dbc570b63bd40ec35673cf5d0a2d"><td class="mdescLeft"> </td><td class="mdescRight">Create shear transformation. <a href="#ad9e5dbc570b63bd40ec35673cf5d0a2d">More...</a><br /></td></tr>
|
|
<tr class="separator:ad9e5dbc570b63bd40ec35673cf5d0a2d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a98e6b91074e5847356fb4e8ded268266"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a98e6b91074e5847356fb4e8ded268266">TranslationTransformation</a> (const <a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> &delta)</td></tr>
|
|
<tr class="memdesc:a98e6b91074e5847356fb4e8ded268266"><td class="mdescLeft"> </td><td class="mdescRight">Right column is (delta.x, delta.y, 0, 1). <a href="#a98e6b91074e5847356fb4e8ded268266">More...</a><br /></td></tr>
|
|
<tr class="separator:a98e6b91074e5847356fb4e8ded268266"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aac8ed51cbaedf9fb94ff3701c0938a9a"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#aac8ed51cbaedf9fb94ff3701c0938a9a">TranslationTransformation</a> (const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> &delta)</td></tr>
|
|
<tr class="memdesc:aac8ed51cbaedf9fb94ff3701c0938a9a"><td class="mdescLeft"> </td><td class="mdescRight">Right column is (delta.x, delta.y, delta.z, 1). <a href="#aac8ed51cbaedf9fb94ff3701c0938a9a">More...</a><br /></td></tr>
|
|
<tr class="separator:aac8ed51cbaedf9fb94ff3701c0938a9a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac14296972569561ae19206565fd84837"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ac14296972569561ae19206565fd84837">TranslationTransformation</a> (double dx, double dy, double dz)</td></tr>
|
|
<tr class="memdesc:ac14296972569561ae19206565fd84837"><td class="mdescLeft"> </td><td class="mdescRight">Right column is (dx, dy, dz, 1). <a href="#ac14296972569561ae19206565fd84837">More...</a><br /></td></tr>
|
|
<tr class="separator:ac14296972569561ae19206565fd84837"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
|
|
Public Attributes</h2></td></tr>
|
|
<tr class="memitem:ae52aaae574f3a534ac7bfa5d47cbc610"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#ae52aaae574f3a534ac7bfa5d47cbc610">m_xform</a> [4][4]</td></tr>
|
|
<tr class="separator:ae52aaae574f3a534ac7bfa5d47cbc610"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
|
|
Static Public Attributes</h2></td></tr>
|
|
<tr class="memitem:a4b990ccd63d5ffb4606d93a76361aba0"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a4b990ccd63d5ffb4606d93a76361aba0">IdentityTransformation</a></td></tr>
|
|
<tr class="memdesc:a4b990ccd63d5ffb4606d93a76361aba0"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> IdentityTransformation diagonal = (1,1,1,1) <a href="#a4b990ccd63d5ffb4606d93a76361aba0">More...</a><br /></td></tr>
|
|
<tr class="separator:a4b990ccd63d5ffb4606d93a76361aba0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a75bf00a40fd0675f4e9e16e499f4cd3a"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a75bf00a40fd0675f4e9e16e499f4cd3a">Nan</a></td></tr>
|
|
<tr class="memdesc:a75bf00a40fd0675f4e9e16e499f4cd3a"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d3/d13/class_o_n___xform.html#a75bf00a40fd0675f4e9e16e499f4cd3a" title="ON_Xform::Nan - every coefficient is ON_DBL_QNAN. ">ON_Xform::Nan</a> - every coefficient is ON_DBL_QNAN. <a href="#a75bf00a40fd0675f4e9e16e499f4cd3a">More...</a><br /></td></tr>
|
|
<tr class="separator:a75bf00a40fd0675f4e9e16e499f4cd3a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a76cecc9c0184d6febe9f38652dc7c9d4"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a76cecc9c0184d6febe9f38652dc7c9d4">Unset</a></td></tr>
|
|
<tr class="memdesc:a76cecc9c0184d6febe9f38652dc7c9d4"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d3/d13/class_o_n___xform.html#a76cecc9c0184d6febe9f38652dc7c9d4" title="ON_Xform::Unset - every coefficient is ON_UNSET_VALUE. ">ON_Xform::Unset</a> - every coefficient is ON_UNSET_VALUE. <a href="#a76cecc9c0184d6febe9f38652dc7c9d4">More...</a><br /></td></tr>
|
|
<tr class="separator:a76cecc9c0184d6febe9f38652dc7c9d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1d3bdd807f1352d7f7dff6d0ab364bdb"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a1d3bdd807f1352d7f7dff6d0ab364bdb">Zero4x4</a></td></tr>
|
|
<tr class="memdesc:a1d3bdd807f1352d7f7dff6d0ab364bdb"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d3/d13/class_o_n___xform.html#a1d3bdd807f1352d7f7dff6d0ab364bdb" title="ON_Xform::Zero4x4 - every coefficient is 0.0. ">ON_Xform::Zero4x4</a> - every coefficient is 0.0. <a href="#a1d3bdd807f1352d7f7dff6d0ab364bdb">More...</a><br /></td></tr>
|
|
<tr class="separator:a1d3bdd807f1352d7f7dff6d0ab364bdb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a26441e6a7d8989849fa3ea86a68a03de"><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d13/class_o_n___xform.html#a26441e6a7d8989849fa3ea86a68a03de">ZeroTransformation</a></td></tr>
|
|
<tr class="memdesc:a26441e6a7d8989849fa3ea86a68a03de"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ZeroTransformation diagonal = (0,0,0,1) <a href="#a26441e6a7d8989849fa3ea86a68a03de">More...</a><br /></td></tr>
|
|
<tr class="separator:a26441e6a7d8989849fa3ea86a68a03de"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="afad7fa737d824b6d005d287e854cc13c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afad7fa737d824b6d005d287e854cc13c">◆ </a></span>ON_Xform() <span class="overload">[1/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Default constructor transformation has diagonal (0,0,0,1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa5982c5f1241aa1027ce0550a71b66cb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa5982c5f1241aa1027ce0550a71b66cb">◆ </a></span>~ON_Xform()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::~ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a894d809292a5ccb567b76718cf480584"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a894d809292a5ccb567b76718cf480584">◆ </a></span>ON_Xform() <span class="overload">[2/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a00a884f47463b95cd200186268b31a45"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a00a884f47463b95cd200186268b31a45">◆ </a></span>ON_Xform() <span class="overload">[3/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constructs transformation with diagonal (x,x,x,1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a29410c706ad7b23906075e9f1430f15e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a29410c706ad7b23906075e9f1430f15e">◆ </a></span>ON_Xform() <span class="overload">[4/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const double </td>
|
|
<td class="paramname">[4][4]</td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4feab784bd8cf1a79d855cf2e0581262"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4feab784bd8cf1a79d855cf2e0581262">◆ </a></span>ON_Xform() <span class="overload">[5/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float </td>
|
|
<td class="paramname">[4][4]</td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a496bee0701357fe6b6d657267f6ba20d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a496bee0701357fe6b6d657267f6ba20d">◆ </a></span>ON_Xform() <span class="overload">[6/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa3b7c91054acd2ca27b8ed54f4702f9d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa3b7c91054acd2ca27b8ed54f4702f9d">◆ </a></span>ON_Xform() <span class="overload">[7/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const float * </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a33b1f7ef2f7eaeb9b40a357379e3cff4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a33b1f7ef2f7eaeb9b40a357379e3cff4">◆ </a></span>ON_Xform() <span class="overload">[8/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d7/d20/class_o_n___matrix.html">ON_Matrix</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9e7bbe9b418d527ea2425eb47157a015"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9e7bbe9b418d527ea2425eb47157a015">◆ </a></span>ON_Xform() <span class="overload">[9/9]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">ON_Xform::ON_Xform </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>P</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a8cae4a4aa52937ec8ef8b6f8f3532687"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8cae4a4aa52937ec8ef8b6f8f3532687">◆ </a></span>ActOnLeft()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::ActOnLeft </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">[4] </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Computes matrix * transpose([x,y,z,w]). </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">y</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">z</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">z</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">ans</td><td>[out] = matrix * transpose([x,y,z,w])</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7380cb6e864128f1dd8ef56f8393f64a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7380cb6e864128f1dd8ef56f8393f64a">◆ </a></span>ActOnRight()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::ActOnRight </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">[4] </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Computes [x,y,z,w] * matrix. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">x</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">y</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">z</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">z</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">ans</td><td>[out] = [x,y,z,w] * matrix</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aafa81e1f156bafe4601e047084ff95d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aafa81e1f156bafe4601e047084ff95d1">◆ </a></span>CameraToClip()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::CameraToClip </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>bIsPerspective</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a45b0d843d5bc917bc070367b29e581af"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a45b0d843d5bc917bc070367b29e581af">◆ </a></span>CameraToWorld()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::CameraToWorld </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7fbcbb60a036396a372a8b8453febc6a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7fbcbb60a036396a372a8b8453febc6a">◆ </a></span>ChangeBasis() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ChangeBasis </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane0</td><td>inital plane</td></tr>
|
|
<tr><td class="paramname">plane1</td><td>final plane </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd><p class="startdd">table true success false vectors for initial frame are not a basis</p>
|
|
<p class="enddd"></p>
|
|
</dd></dl>
|
|
<p>If you have points defined with respect to planes, the version of <a class="el" href="../../d3/d13/class_o_n___xform.html#a7fbcbb60a036396a372a8b8453febc6a">ChangeBasis()</a> that takes two planes computes the transformation to change coordinates from one plane to another. The predefined world plane ON_world_plane can be used as an argument.</p>
|
|
<p>If P = plane0.Evaluate( a0,b0,c0 ) and</p>
|
|
<p>(a1,b1,c1) = ChangeBasis(plane0,plane1)*ON_3dPoint(a0,b0,c0),</p>
|
|
<p>then P = plane1.Evaluate( a1, b1, c1 )</p>
|
|
<p>The version of <a class="el" href="../../d3/d13/class_o_n___xform.html#a7fbcbb60a036396a372a8b8453febc6a">ChangeBasis()</a> that takes six vectors maps (a0,b0,c0) to (a1,b1,c1) where a0*X0 + b0*Y0 + c0*Z0 = a1*X1 + b1*Y1 + c1*Z1</p>
|
|
<p>The version of <a class="el" href="../../d3/d13/class_o_n___xform.html#a7fbcbb60a036396a372a8b8453febc6a">ChangeBasis()</a> that takes six vectors with center points maps (a0,b0,c0) to (a1,b1,c1) where P0 + a0*X0 + b0*Y0 + c0*Z0 = P1 + a1*X1 + b1*Y1 + c1*Z1</p>
|
|
<p>The change of basis transformation is not the same as the rotation transformation that rotates one orthonormal frame to another. See <a class="el" href="../../d3/d13/class_o_n___xform.html#a96d9246621d937407758af6ca16db267" title="The Rotation() function is overloaded and provides several ways to compute a rotation transformation...">ON_Xform::Rotation()</a>. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abe3ae637386c9ea3b785b921346effaf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abe3ae637386c9ea3b785b921346effaf">◆ </a></span>ChangeBasis() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ChangeBasis </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get a change of basis transformation. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">X0</td><td>initial basis X (X0,Y0,Z0 can be any 3d basis)</td></tr>
|
|
<tr><td class="paramname">Y0</td><td>initial basis Y</td></tr>
|
|
<tr><td class="paramname">Z0</td><td>initial basis Z</td></tr>
|
|
<tr><td class="paramname">X1</td><td>final basis X (X1,Y1,Z1 can be any 3d basis)</td></tr>
|
|
<tr><td class="paramname">Y1</td><td>final basis Y</td></tr>
|
|
<tr><td class="paramname">Z1</td><td>final basis Z</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>Change of basis transformations and rotation transformations are often confused. This is a change of basis transformation. If Q = a0*X0 + b0*Y0 + c0*Z0 = a1*X1 + b1*Y1 + c1*Z1 then this transform will map the point (a0,b0,c0) to (a1,b1,c1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a824d02d136758ccb5dc1074100d605f5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a824d02d136758ccb5dc1074100d605f5">◆ </a></span>ChangeBasis() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ChangeBasis </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>P0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>P1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">P0</td><td>initial center</td></tr>
|
|
<tr><td class="paramname">X0</td><td>initial basis X (X0,Y0,Z0 can be any 3d basis)</td></tr>
|
|
<tr><td class="paramname">Y0</td><td>initial basis Y</td></tr>
|
|
<tr><td class="paramname">Z0</td><td>initial basis Z</td></tr>
|
|
<tr><td class="paramname">P1</td><td>final center</td></tr>
|
|
<tr><td class="paramname">X1</td><td>final basis X (X1,Y1,Z1 can be any 3d basis)</td></tr>
|
|
<tr><td class="paramname">Y1</td><td>final basis Y</td></tr>
|
|
<tr><td class="paramname">Z1</td><td>final basis Z</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>Change of basis transformations and rotation transformations are often confused. This is a change of basis transformation. If Q = P0 + a0*X0 + b0*Y0 + c0*Z0 = P1 + a1*X1 + b1*Y1 + c1*Z1 then this transform will map the point (a0,b0,c0) to (a1,b1,c1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aead35eea0c475ff8a825014b0a702355"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aead35eea0c475ff8a825014b0a702355">◆ </a></span>ClipFlag3d() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::ClipFlag3d </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Computes 3d point clipping flags and returns an int with bits set to indicate if the point is outside of the clipping box. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">point</td><td>[in] 3d clipping coordinate point </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>bit point location 1 x < -1 2 x > +1 4 y < -1 8 y > +1 16 z < -1 32 z > +1 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5a5399bdaecc824c7ffe4fd0c45342f0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5a5399bdaecc824c7ffe4fd0c45342f0">◆ </a></span>ClipFlag3d() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::ClipFlag3d </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>bTestZ</em> = <code>true</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">count</td><td>[in] number of 3d points</td></tr>
|
|
<tr><td class="paramname">stride</td><td>[in] (>=3)</td></tr>
|
|
<tr><td class="paramname">points</td><td>[in] 3d clipping coordinate points (array of stride*count doubles)</td></tr>
|
|
<tr><td class="paramname">bTestZ</td><td>[in] (default=true) if false, do not test "z" coordinate </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a175f6b176dd2015b0a24da9c911f5dd0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a175f6b176dd2015b0a24da9c911f5dd0">◆ </a></span>ClipFlag3dBox()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::ClipFlag3dBox </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">boxmin</td><td>[in] 3d boxmin corner</td></tr>
|
|
<tr><td class="paramname">boxmax</td><td>[in] 3d boxmax corner </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>bit box location 1 boxmax x < -1 2 boxmin x > +1 4 boxmax y < -1 8 boxmin y > +1 16 boxmax z < -1 32 boxmin z > +1 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99d8ee7598fe94bd81a44efd25a2a273"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99d8ee7598fe94bd81a44efd25a2a273">◆ </a></span>ClipFlag4d() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::ClipFlag4d </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">point</td><td>[in] 4d homogeneous clipping coordinate point </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd><p class="startdd">bit point location 1 x/w < -1 2 x/w > +1 4 y/w < -1 8 y/w > +1 16 z/w < -1 32 z/w > +1</p>
|
|
<p class="enddd"></p>
|
|
</dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aad9ac2867caa3cf62f6ac5e9bd194e9a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aad9ac2867caa3cf62f6ac5e9bd194e9a">◆ </a></span>ClipFlag4d() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::ClipFlag4d </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const double * </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>bTestZ</em> = <code>true</code> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">count</td><td>[in] number of 4d points</td></tr>
|
|
<tr><td class="paramname">stride</td><td>[in] (>=4)</td></tr>
|
|
<tr><td class="paramname">points</td><td>[in] 4d clipping coordinate points (array of stride*count doubles)</td></tr>
|
|
<tr><td class="paramname">bTestZ</td><td>[in] (default=true) if false, do not test "z" coordinate </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a74f3625a9e466ed6bb9e491e2fdd508b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a74f3625a9e466ed6bb9e491e2fdd508b">◆ </a></span>ClipToCamera()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ClipToCamera </td>
|
|
<td>(</td>
|
|
<td class="paramtype">bool </td>
|
|
<td class="paramname"><em>bIsPerspective</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>maps -1 <= x,y,z <= 1 box to viewport frustum </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a719833e89842b0755a446ccaa3477234"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a719833e89842b0755a446ccaa3477234">◆ </a></span>ClipToScreen()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ClipToScreen </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abff79e5ac5f95a894dbe538359fa3a43"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abff79e5ac5f95a894dbe538359fa3a43">◆ </a></span>Compare()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::Compare </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>other</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Well ordered dictionary compare that is nan aware. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7462351a9a13008d1ff79d1aee645cc5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7462351a9a13008d1ff79d1aee645cc5">◆ </a></span>Determinant()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double ON_Xform::Determinant </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double * </td>
|
|
<td class="paramname"> = <code>nullptr</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a929c2750cf67b0f7fddb6e32859834ab"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a929c2750cf67b0f7fddb6e32859834ab">◆ </a></span>Diagonal()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Diagonal </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aba2b914f1efbfcf98b4222e6b1c920f6"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba2b914f1efbfcf98b4222e6b1c920f6">◆ </a></span>DiagonalTransformation() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::DiagonalTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>d</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>Transformation with diagonal (d,d,d,1). </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2e59387d2447a1783a3baca60d08d9fd"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2e59387d2447a1783a3baca60d08d9fd">◆ </a></span>DiagonalTransformation() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::DiagonalTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>d0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>d1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>d2</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>Transformation with diagonal (d0,d1,d2,1.0). </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7293f9404e837d7ee62d45cc14a2413f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7293f9404e837d7ee62d45cc14a2413f">◆ </a></span>DiagonalTransformation() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::DiagonalTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>diagnoal</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>Transformation with diagonal (d0,d1,d2,1.0). </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a72091a1051e5b4d869fe2bc02ac10086"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a72091a1051e5b4d869fe2bc02ac10086">◆ </a></span>GetMappingXforms()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double ON_Xform::GetMappingXforms </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>P_xform</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>N_xform</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>If a texture mapping is applied to an object, the object is subsequently transformed by T, and the texture mapping needs to be recalculated, then two transforms are required to recalcalculate the texture mapping. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">P_xform</td><td>[out] Transform to apply to points before applying the texture mapping transformation.</td></tr>
|
|
<tr><td class="paramname">N_xform</td><td>[out] Transform to apply to surface normals before applying the texture mapping transformation.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The determinant of the "this" transformation. If non-zero, "this" is invertable and P_xform and N_xform were calculated. False if "this" is not invertable, in which case the returned P_xform and N_xform are the identity. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab7a7206c7076b1ed6d73810274e0d00b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab7a7206c7076b1ed6d73810274e0d00b">◆ </a></span>GetSurfaceNormalXform()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double ON_Xform::GetSurfaceNormalXform </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>N_xform</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>When transforming 3d point and surface or mesh normals two different transforms must be used. If P_xform transforms the point, then the inverse transpose of P_xform must be used to tranform normal vectors. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">N_xform</td><td>[out]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>The determinant of the transformation. If non-zero, "this" is invertable and N_xform can be calculated. False if "this" is not invertable, in which case the returned N_xform = this with the right hand column and bottom row zeroed out. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3acabc2f3450992a943040eb0b0a6e0f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3acabc2f3450992a943040eb0b0a6e0f">◆ </a></span>Identity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Identity </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>standard transformations </p>
|
|
<p>diagonal is (1,1,1,1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0a74f0e2965c724eeacb7650b4192a4e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0a74f0e2965c724eeacb7650b4192a4e">◆ </a></span>IntervalChange()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IntervalChange </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>dir</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> </td>
|
|
<td class="paramname"><em>old_interval</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../dc/dc7/class_o_n___interval.html">ON_Interval</a> </td>
|
|
<td class="paramname"><em>new_interval</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculates the transformation that linearly maps old_interval to new_interval. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">dir</td><td>[in] 0 = x, 1 = y, 2= z;</td></tr>
|
|
<tr><td class="paramname">old_interval</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">new_interval</td><td>[in]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb76cd3228028e2117fc11c0c20e5970"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb76cd3228028e2117fc11c0c20e5970">◆ </a></span>Inverse()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::Inverse </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double * </td>
|
|
<td class="paramname"> = <code>nullptr</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9fb5d7ba1e4e803d801e588786e12806"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9fb5d7ba1e4e803d801e588786e12806">◆ </a></span>Invert()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::Invert </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double * </td>
|
|
<td class="paramname"> = <code>nullptr</code></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af20ed46002a65036de0e8c7ea108e317"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af20ed46002a65036de0e8c7ea108e317">◆ </a></span>IsAffine()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsAffine </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A transformation is affine if it is valid and its last row is 0 0 0 1 An affine transformation can be broken into a linear transformation and a translation. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if this is an affine transformation. </dd></dl>
|
|
<div class="fragment"><div class="line">A perspective transformation is not affine.</div></div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a9acab57a9960e896e4487a483c979dcf"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9acab57a9960e896e4487a483c979dcf">◆ </a></span>IsIdentity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsIdentity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>zero_tolerance</em> = <code>0.0</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if matrix is the identity transformation <pre class="fragment"> 1 0 0 0
|
|
0 1 0 0
|
|
0 0 1 0
|
|
0 0 0 1
|
|
</pre> </dd></dl>
|
|
<p>An element of the matrix is "zero" if fabs(x) <= zero_tolerance. An element of the matrix is "one" if fabs(1.0-x) <= zero_tolerance. If the matrix contains a nan, false is returned. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae8b66abebffc2cb5fc66e06aaadf4b71"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae8b66abebffc2cb5fc66e06aaadf4b71">◆ </a></span>IsNan()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsNan </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Test the entries of the transformation matrix to see if they are valid number. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if any coefficient in the transformation matrix is a nan. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3b123d7f406bdbfb61fd8cd86e4e6ce0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3b123d7f406bdbfb61fd8cd86e4e6ce0">◆ </a></span>IsNotIdentity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsNotIdentity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>zero_tolerance</em> = <code>0.0</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if the matrix is valid and is not the identity transformation </dd></dl>
|
|
<p>An element of the matrix is "zero" if fabs(x) <= zero_tolerance. An element of the matrix is "one" if fabs(1.0-x) <= zero_tolerance. If the matrix contains a nan, false is returned. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aec3ccb731b51ebe56e9cb58ae5536371"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aec3ccb731b51ebe56e9cb58ae5536371">◆ </a></span>IsSimilarity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::IsSimilarity </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>A similarity transformation can be broken into a sequence of dialations, translations, rotations, and reflections. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>+1: This transformation is an orientation preserving similarity. -1: This transformation is an orientation reversing similarity. 0: This transformation is not a similarity. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad6fcc8ea09d9f0fa9d5dc755f8cf2d24"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad6fcc8ea09d9f0fa9d5dc755f8cf2d24">◆ </a></span>IsTranslation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsTranslation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>zero_tolerance</em> = <code>0.0</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if matrix is a pure translation <pre class="fragment"> 1 0 0 dx
|
|
0 1 0 dy
|
|
0 0 1 dz
|
|
0 0 0 1
|
|
</pre> </dd></dl>
|
|
<p>The test for zero is fabs(x) <= zero_tolerance. The test for one is fabs(x-1) <= zero_tolerance. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af3ba89bd94dbf1352646da57052b67cb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af3ba89bd94dbf1352646da57052b67cb">◆ </a></span>IsValid()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsValid </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Test the entries of the transformation matrix to see if they are valid number. </p>
|
|
<dl class="section return"><dt>Returns</dt><dd>True if ON_IsValid() is true for every coefficient in the transformation matrix. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="afd119e20407cf6d31371042264460f13"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#afd119e20407cf6d31371042264460f13">◆ </a></span>IsValidAndNotZeroAndNotIdentity()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsValidAndNotZeroAndNotIdentity </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>zero_tolerance</em> = <code>0.0</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad06570bb93287c8d55a3cac561515299"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad06570bb93287c8d55a3cac561515299">◆ </a></span>IsZero()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsZero </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if matrix is <a class="el" href="../../d3/d13/class_o_n___xform.html#a1d3bdd807f1352d7f7dff6d0ab364bdb" title="ON_Xform::Zero4x4 - every coefficient is 0.0. ">ON_Xform::Zero4x4</a>, <a class="el" href="../../d3/d13/class_o_n___xform.html#a26441e6a7d8989849fa3ea86a68a03de" title="ON_Xform ZeroTransformation diagonal = (0,0,0,1) ">ON_Xform::ZeroTransformation</a>, or some other type of zero. The value xform[3][3] can be anything. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 * </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a98dddb0c8f2e23da8880fe97c49d9268"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a98dddb0c8f2e23da8880fe97c49d9268">◆ </a></span>IsZero4x4()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsZero4x4 </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if matrix is <a class="el" href="../../d3/d13/class_o_n___xform.html#a1d3bdd807f1352d7f7dff6d0ab364bdb" title="ON_Xform::Zero4x4 - every coefficient is 0.0. ">ON_Xform::Zero4x4</a> The value xform[3][3] must be zero. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3cb7248499a74a0f33acb77ca8196151"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3cb7248499a74a0f33acb77ca8196151">◆ </a></span>IsZeroTransformation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::IsZeroTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="section return"><dt>Returns</dt><dd>true if matrix is <a class="el" href="../../d3/d13/class_o_n___xform.html#a26441e6a7d8989849fa3ea86a68a03de" title="ON_Xform ZeroTransformation diagonal = (0,0,0,1) ">ON_Xform::ZeroTransformation</a> The value xform[3][3] must be 1. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac84c376e1e2f91c80324c0a0e98ef207"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac84c376e1e2f91c80324c0a0e98ef207">◆ </a></span>Mirror()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Mirror </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td>
|
|
<td class="paramname"><em>point_on_mirror_plane</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td>
|
|
<td class="paramname"><em>normal_to_mirror_plane</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create mirror transformation matrix. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">point_on_mirror_plane</td><td>[in] point on mirror plane</td></tr>
|
|
<tr><td class="paramname">normal_to_mirror_plane</td><td>[in] normal to mirror plane</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The mirror transform maps a point Q to Q - (2*(Q-P)oN)*N, where P = point_on_mirror_plane and N = normal_to_mirror_plane. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a254b6e1666396d85873bf665f4382d84"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a254b6e1666396d85873bf665f4382d84">◆ </a></span>operator!=()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::operator!= </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>rhs</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6a175185d16845d217cbd8c728512499"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6a175185d16845d217cbd8c728512499">◆ </a></span>operator*() <span class="overload">[1/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../dd/dd9/class_o_n__2d_point.html">ON_2dPoint</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a9c7b6e144931b9a50d474bbc41d1b4df"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a9c7b6e144931b9a50d474bbc41d1b4df">◆ </a></span>operator*() <span class="overload">[2/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3bf89a792732665598f4e221e6aef19e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3bf89a792732665598f4e221e6aef19e">◆ </a></span>operator*() <span class="overload">[3/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d9/db1/class_o_n__4d_point.html">ON_4dPoint</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a00422a8e8f11389828ba7319c4c33599"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a00422a8e8f11389828ba7319c4c33599">◆ </a></span>operator*() <span class="overload">[4/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2f365179088df3632e5f704ce19d2beb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f365179088df3632e5f704ce19d2beb">◆ </a></span>operator*() <span class="overload">[5/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac23d647830e31f433e1d45890dcb4d14"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac23d647830e31f433e1d45890dcb4d14">◆ </a></span>operator*() <span class="overload">[6/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::operator* </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a14618115dc0916834dfe6b13e9af513b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a14618115dc0916834dfe6b13e9af513b">◆ </a></span>operator+()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::operator+ </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a288d4fc5b096a8b62e89250bdb2a9ffc"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a288d4fc5b096a8b62e89250bdb2a9ffc">◆ </a></span>operator-()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::operator- </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1714af3c9fc2dc13e509f8e9838a2e94"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1714af3c9fc2dc13e509f8e9838a2e94">◆ </a></span>operator=() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a>& ON_Xform::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">default</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a13ad1ff2a26f6dcccb7a44765674759f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a13ad1ff2a26f6dcccb7a44765674759f">◆ </a></span>operator=() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a>& ON_Xform::operator= </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d7/d20/class_o_n___matrix.html">ON_Matrix</a> & </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>xform = scalar results in a diagonal 3x3 with bottom row = 0,0,0,1 </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab4a190ec1dfddf1e2474ad57c80f6e3d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab4a190ec1dfddf1e2474ad57c80f6e3d">◆ </a></span>operator==()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::operator== </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> & </td>
|
|
<td class="paramname"><em>rhs</em></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad259c9736ce7daf5d200ab4353b23545"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad259c9736ce7daf5d200ab4353b23545">◆ </a></span>operator[]() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double* ON_Xform::operator[] </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a69c10f3299018ccfe5f6054ac48ed0c7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a69c10f3299018ccfe5f6054ac48ed0c7">◆ </a></span>operator[]() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const double* ON_Xform::operator[] </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adb4f772479f1c76db9f8c85d602d627b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adb4f772479f1c76db9f8c85d602d627b">◆ </a></span>PlanarProjection()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::PlanarProjection </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Get transformation that projects to a plane </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane</td><td>[in] plane to project to</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>This transformaton maps a 3d point P to the point plane.ClosestPointTo(Q). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aab233311d464665b83cf1d81c9859aea"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aab233311d464665b83cf1d81c9859aea">◆ </a></span>Rank()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int ON_Xform::Rank </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double * </td>
|
|
<td class="paramname"> = <code>nullptr</code></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a96d9246621d937407758af6ca16db267"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a96d9246621d937407758af6ca16db267">◆ </a></span>Rotation() <span class="overload">[1/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>sin_angle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>cos_angle</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td>
|
|
<td class="paramname"><em>rotation_axis</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td>
|
|
<td class="paramname"><em>rotation_center</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>The <a class="el" href="../../d3/d13/class_o_n___xform.html#a96d9246621d937407758af6ca16db267" title="The Rotation() function is overloaded and provides several ways to compute a rotation transformation...">Rotation()</a> function is overloaded and provides several ways to compute a rotation transformation. A positive rotation angle indicates a counter-clockwise (right hand rule) rotation about the axis of rotation. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">sin_angle</td><td>sin(rotation angle)</td></tr>
|
|
<tr><td class="paramname">cos_angle</td><td>cos(rotation angle)</td></tr>
|
|
<tr><td class="paramname">rotation_axis</td><td>3d unit axis of rotation</td></tr>
|
|
<tr><td class="paramname">rotation_center</td><td>3d center of rotation </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>In the overloads that take frames, the frames should be right hand orthonormal frames (unit vectors with Z = X x Y). The resulting rotation fixes the origin (0,0,0), maps initial X to final X, initial Y to final Y, and initial Z to final Z.</p>
|
|
<p>In the overload that takes frames with center points, if the initial and final center are equal, then that center point is the fixed point of the rotation. If the initial and final point differ, then the resulting transform is the composition of a rotation fixing P0 and translation from P0 to P1. The resulting transformation maps P0 to P1, P0+X0 to P1+X1, ...</p>
|
|
<p>The rotation transformations that map frames to frames are not the same as the change of basis transformations for those frames. See <a class="el" href="../../d3/d13/class_o_n___xform.html#a7fbcbb60a036396a372a8b8453febc6a">ON_Xform::ChangeBasis()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a4bacfebfdf34f38053602b4b995a05c8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4bacfebfdf34f38053602b4b995a05c8">◆ </a></span>Rotation() <span class="overload">[2/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>angle_radians</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td>
|
|
<td class="paramname"><em>rotation_axis</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td>
|
|
<td class="paramname"><em>rotation_center</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">angle</td><td>rotation angle in radians</td></tr>
|
|
<tr><td class="paramname">rotation_axis</td><td>3d unit axis of rotation</td></tr>
|
|
<tr><td class="paramname">rotation_center</td><td>3d center of rotation</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="add40941b83f805905c8c9319383307f5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add40941b83f805905c8c9319383307f5">◆ </a></span>Rotation() <span class="overload">[3/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td>
|
|
<td class="paramname"><em>start_dir</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> </td>
|
|
<td class="paramname"><em>end_dir</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td>
|
|
<td class="paramname"><em>rotation_center</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Calculate the minimal transformation that rotates start_dir to end_dir while fixing rotation_center. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a14ca3872105378035d3d2a483d81066c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a14ca3872105378035d3d2a483d81066c">◆ </a></span>Rotation() <span class="overload">[4/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">X0</td><td>initial frame X</td></tr>
|
|
<tr><td class="paramname">Y0</td><td>initial frame Y</td></tr>
|
|
<tr><td class="paramname">Z0</td><td>initial frame Z</td></tr>
|
|
<tr><td class="paramname">X1</td><td>final frame X</td></tr>
|
|
<tr><td class="paramname">Y1</td><td>final frame Y</td></tr>
|
|
<tr><td class="paramname">Z1</td><td>final frame Z </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af76b2472e1fac123a2fcc0927dbabcf3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af76b2472e1fac123a2fcc0927dbabcf3">◆ </a></span>Rotation() <span class="overload">[5/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>P0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>P1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>X1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>Z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">P0</td><td>initial frame center</td></tr>
|
|
<tr><td class="paramname">X0</td><td>initial frame X</td></tr>
|
|
<tr><td class="paramname">Y0</td><td>initial frame Y</td></tr>
|
|
<tr><td class="paramname">Z0</td><td>initial frame Z</td></tr>
|
|
<tr><td class="paramname">P1</td><td>initial frame center</td></tr>
|
|
<tr><td class="paramname">X1</td><td>final frame X</td></tr>
|
|
<tr><td class="paramname">Y1</td><td>final frame Y</td></tr>
|
|
<tr><td class="paramname">Z1</td><td>final frame Z</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a00cf904e8c8caecf8a77b81edb04ff8b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a00cf904e8c8caecf8a77b81edb04ff8b">◆ </a></span>Rotation() <span class="overload">[6/6]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Rotation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create rotation transformation that maps plane0 to plane1. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane0</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">plane1</td><td>[in]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a885acec359045e452a3ddd6eea23cde2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a885acec359045e452a3ddd6eea23cde2">◆ </a></span>Scale() <span class="overload">[1/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Scale </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>z_scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create non-uniform scale transformation with the origin as a fixed point. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">fixed_point</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">x_scale_factor</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">y_scale_factor</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">z_scale_factor</td><td>[in]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The diagonal is (x_scale_factor, y_scale_factor, z_scale_factor, 1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a2e2fd9d63877bd3309139e1cd9b79c51"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2e2fd9d63877bd3309139e1cd9b79c51">◆ </a></span>Scale() <span class="overload">[2/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Scale </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>scale_vector</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create non-uniform scale transformation with the origin as the fixed point. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">fixed_point</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">scale_vector</td><td>[in]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<p>The diagonal is (scale_vector.x, scale_vector.y, scale_vector.z, 1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1f5b403d4c81217f9aac916af8bb3307"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1f5b403d4c81217f9aac916af8bb3307">◆ </a></span>Scale() <span class="overload">[3/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Scale </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> </td>
|
|
<td class="paramname"><em>fixed_point</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create uniform scale transformation with a specified fixed point. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">fixed_point</td><td>[in]</td></tr>
|
|
<tr><td class="paramname">scale_factor</td><td>[in]</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa487dd409c1f8969c5fc471b3ef8f2e9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa487dd409c1f8969c5fc471b3ef8f2e9">◆ </a></span>Scale() <span class="overload">[4/4]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Scale </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>z_scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create non-uniform scale transformation with a specified fixed point. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane</td><td>[in] plane.origin is the fixed point</td></tr>
|
|
<tr><td class="paramname">x_scale_factor</td><td>[in] plane.xaxis scale factor</td></tr>
|
|
<tr><td class="paramname">y_scale_factor</td><td>[in] plane.yaxis scale factor</td></tr>
|
|
<tr><td class="paramname">z_scale_factor</td><td>[in] plane.zaxis scale factor</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad879fa21cd3bfc842087c1786e960b15"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad879fa21cd3bfc842087c1786e960b15">◆ </a></span>ScaleTransformation() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::ScaleTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>fixed_point</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a35746d8276047d51a68a4738aa6b4360"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a35746d8276047d51a68a4738aa6b4360">◆ </a></span>ScaleTransformation() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::ScaleTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname"><em>fixed_point</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>z_scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a94a38ec9532d3f23465b54246ceb7045"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a94a38ec9532d3f23465b54246ceb7045">◆ </a></span>ScaleTransformation() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::ScaleTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>x_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>y_scale_factor</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>z_scale_factor</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create non-uniform scale transformation with a specified fixed point. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane</td><td>[in] plane.origin is the fixed point</td></tr>
|
|
<tr><td class="paramname">x_scale_factor</td><td>[in] plane.xaxis scale factor</td></tr>
|
|
<tr><td class="paramname">y_scale_factor</td><td>[in] plane.yaxis scale factor</td></tr>
|
|
<tr><td class="paramname">z_scale_factor</td><td>[in] plane.zaxis scale factor</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab82e8a997f186cc7a7defefef5dd5d1c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab82e8a997f186cc7a7defefef5dd5d1c">◆ </a></span>ScreenToClip()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool ON_Xform::ScreenToClip </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a21d39fb2a1dd2701b8ba9568fbed0b54"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a21d39fb2a1dd2701b8ba9568fbed0b54">◆ </a></span>Shear()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Shear </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>x1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad9e5dbc570b63bd40ec35673cf5d0a2d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad9e5dbc570b63bd40ec35673cf5d0a2d">◆ </a></span>ShearTransformation()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::ShearTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d4/d48/class_o_n___plane.html">ON_Plane</a> & </td>
|
|
<td class="paramname"><em>plane</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>x1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>y1</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>z1</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create shear transformation. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">plane</td><td>[in] plane.origin is the fixed point</td></tr>
|
|
<tr><td class="paramname">x1</td><td>[in] plane.xaxis scale factor</td></tr>
|
|
<tr><td class="paramname">y1</td><td>[in] plane.yaxis scale factor</td></tr>
|
|
<tr><td class="paramname">z1</td><td>[in] plane.zaxis scale factor</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3498c05e0640f7fdad5a449ffee5227e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3498c05e0640f7fdad5a449ffee5227e">◆ </a></span>Translation() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Translation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>delta</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a35dee4a0caf2f600ca75e146ff85a9b2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a35dee4a0caf2f600ca75e146ff85a9b2">◆ </a></span>Translation() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Translation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dy</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dz</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a98e6b91074e5847356fb4e8ded268266"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a98e6b91074e5847356fb4e8ded268266">◆ </a></span>TranslationTransformation() <span class="overload">[1/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::TranslationTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../da/d08/class_o_n__2d_vector.html">ON_2dVector</a> & </td>
|
|
<td class="paramname"><em>delta</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Right column is (delta.x, delta.y, 0, 1). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aac8ed51cbaedf9fb94ff3701c0938a9a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aac8ed51cbaedf9fb94ff3701c0938a9a">◆ </a></span>TranslationTransformation() <span class="overload">[2/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::TranslationTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"><em>delta</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Right column is (delta.x, delta.y, delta.z, 1). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac14296972569561ae19206565fd84837"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac14296972569561ae19206565fd84837">◆ </a></span>TranslationTransformation() <span class="overload">[3/3]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">static const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::TranslationTransformation </td>
|
|
<td>(</td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dx</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dy</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">double </td>
|
|
<td class="paramname"><em>dz</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Right column is (dx, dy, dz, 1). </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aa7ef93e4f93619a4bf693f940f03767e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aa7ef93e4f93619a4bf693f940f03767e">◆ </a></span>Transpose()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::Transpose </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>matrix operations </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab7bddfb8e55a0ee93716de3ce3f2e5c1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab7bddfb8e55a0ee93716de3ce3f2e5c1">◆ </a></span>WorldToCamera()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void ON_Xform::WorldToCamera </td>
|
|
<td>(</td>
|
|
<td class="paramtype">const <a class="el" href="../../d2/d35/class_o_n__3d_point.html">ON_3dPoint</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname">, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const <a class="el" href="../../d5/dae/class_o_n__3d_vector.html">ON_3dVector</a> & </td>
|
|
<td class="paramname"> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>standard viewing transformations </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Data Documentation</h2>
|
|
<a id="a4b990ccd63d5ffb4606d93a76361aba0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a4b990ccd63d5ffb4606d93a76361aba0">◆ </a></span>IdentityTransformation</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::IdentityTransformation</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> IdentityTransformation diagonal = (1,1,1,1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ae52aaae574f3a534ac7bfa5d47cbc610"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae52aaae574f3a534ac7bfa5d47cbc610">◆ </a></span>m_xform</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">double ON_Xform::m_xform[4][4]</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a75bf00a40fd0675f4e9e16e499f4cd3a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a75bf00a40fd0675f4e9e16e499f4cd3a">◆ </a></span>Nan</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::Nan</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../d3/d13/class_o_n___xform.html#a75bf00a40fd0675f4e9e16e499f4cd3a" title="ON_Xform::Nan - every coefficient is ON_DBL_QNAN. ">ON_Xform::Nan</a> - every coefficient is ON_DBL_QNAN. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a76cecc9c0184d6febe9f38652dc7c9d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a76cecc9c0184d6febe9f38652dc7c9d4">◆ </a></span>Unset</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::Unset</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../d3/d13/class_o_n___xform.html#a76cecc9c0184d6febe9f38652dc7c9d4" title="ON_Xform::Unset - every coefficient is ON_UNSET_VALUE. ">ON_Xform::Unset</a> - every coefficient is ON_UNSET_VALUE. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1d3bdd807f1352d7f7dff6d0ab364bdb"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1d3bdd807f1352d7f7dff6d0ab364bdb">◆ </a></span>Zero4x4</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::Zero4x4</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../d3/d13/class_o_n___xform.html#a1d3bdd807f1352d7f7dff6d0ab364bdb" title="ON_Xform::Zero4x4 - every coefficient is 0.0. ">ON_Xform::Zero4x4</a> - every coefficient is 0.0. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a26441e6a7d8989849fa3ea86a68a03de"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a26441e6a7d8989849fa3ea86a68a03de">◆ </a></span>ZeroTransformation</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">const <a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ON_Xform::ZeroTransformation</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p><a class="el" href="../../d3/d13/class_o_n___xform.html">ON_Xform</a> ZeroTransformation diagonal = (0,0,0,1) </p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- HTML footer for doxygen 1.8.13-->
|
|
<!-- start footer part -->
|
|
</div> <!-- page-content -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Sat Feb 3 2018 11:08:33 for openNURBS SDK Help by <a href="http://www.doxygen.org/index.html">
|
|
<!-- <img class="footer" src="../../doxygen.png" alt="doxygen"/> -->
|
|
Doxygen
|
|
</a> 1.8.13
|
|
</small></address>
|
|
</div> <!-- container -->
|
|
<!-- doxy-boot -->
|
|
<script type="text/javascript" src="../../doxy-boot.js"></script>
|
|
</body>
|
|
</html>
|