| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (19) --> |
| <title>MatrixSIS (Apache SIS 1.3 API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.sis.referencing.operation.matrix, class: MatrixSIS"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <meta name="keywords" content="org.apache.sis.referencing.operation.matrix.MatrixSIS class"> |
| <meta name="keywords" content="castOrCopy()"> |
| <meta name="keywords" content="getInteger()"> |
| <meta name="keywords" content="getNumber()"> |
| <meta name="keywords" content="setNumber()"> |
| <meta name="keywords" content="getElement()"> |
| <meta name="keywords" content="getElements()"> |
| <meta name="keywords" content="setElements()"> |
| <meta name="keywords" content="setMatrix()"> |
| <meta name="keywords" content="isAffine()"> |
| <meta name="keywords" content="isIdentity()"> |
| <meta name="keywords" content="transpose()"> |
| <meta name="keywords" content="normalizeColumns()"> |
| <meta name="keywords" content="convertBefore()"> |
| <meta name="keywords" content="convertAfter()"> |
| <meta name="keywords" content="multiply()"> |
| <meta name="keywords" content="translate()"> |
| <meta name="keywords" content="solve()"> |
| <meta name="keywords" content="inverse()"> |
| <meta name="keywords" content="removeRows()"> |
| <meta name="keywords" content="removeColumns()"> |
| <meta name="keywords" content="hashCode()"> |
| <meta name="keywords" content="equals()"> |
| <meta name="keywords" content="clone()"> |
| <meta name="keywords" content="toString()"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../sis.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.0.min.js"></script> |
| <script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var pathtoroot = "../../../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="class-use/MatrixSIS.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Summary:</p> |
| <ul> |
| <li>Nested</li> |
| <li>Field</li> |
| <li><a href="#constructor-summary">Constr</a></li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| </li> |
| <li> |
| <p>Detail:</p> |
| <ul> |
| <li>Field</li> |
| <li><a href="#constructor-detail">Constr</a></li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li><a href="#constructor-summary">Constr</a> | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor-detail">Constr</a> | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><a href="../../../../../../search.html">SEARCH</a> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.sis.referencing.operation.matrix</a></div> |
| <h1 title="Class MatrixSIS" class="title">Class MatrixSIS</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> |
| <div class="inheritance">MatrixSIS</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Implemented Interfaces:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></code>, <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></code>, <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a></code></dd> |
| </dl> |
| <dl class="notes"> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><code><a href="Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></code>, <code><a href="Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix2</a></code>, <code><a href="Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix3</a></code>, <code><a href="Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix4</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">MatrixSIS</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> |
| implements <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a>, <a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/io/Serializable.html" title="class or interface in java.io" class="external-link">Serializable</a></span></div> |
| <div class="block">A <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix</code></a> able to perform some operations of interest to Spatial Information Systems (SIS). |
| This class completes the GeoAPI <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix</code></a> interface with some operations used by <code>sis-referencing</code>. |
| It is not a <code>MatrixSIS</code> goal to provide all possible Matrix operations, as there is too many of them. |
| This class focuses on: |
| |
| <ul> |
| <li>Only the basic matrix operations needed for <cite>referencing by coordinates</cite>: |
| <ul> |
| <li><a href="#isIdentity()"><code>isIdentity()</code></a></li> |
| <li><a href="#multiply(org.opengis.referencing.operation.Matrix)"><code>multiply(Matrix)</code></a></li> |
| <li><a href="#inverse()"><code>inverse()</code></a></li> |
| <li><a href="#transpose()"><code>transpose()</code></a></li> |
| </ul> |
| </li><li>Other operations which are not general-purpose matrix operations, |
| but are needed in the context of referencing by coordinates: |
| <ul> |
| <li><a href="#isAffine()"><code>isAffine()</code></a></li> |
| <li><a href="#normalizeColumns()"><code>normalizeColumns()</code></a></li> |
| <li><a href="#convertBefore(int,java.lang.Number,java.lang.Number)"><code>convertBefore(int, Number, Number)</code></a></li> |
| <li><a href="#convertAfter(int,java.lang.Number,java.lang.Number)"><code>convertAfter(int, Number, Number)</code></a></li> |
| </ul> |
| </li> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Since:</dt> |
| <dd>0.4</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="Matrices.html" title="class in org.apache.sis.referencing.operation.matrix"><code>Matrices</code></a></li> |
| <li><a href="../../../../../../serialized-form.html#org.apache.sis.referencing.operation.matrix.MatrixSIS">Serialized Form</a></li> |
| </ul> |
| </dd> |
| |
| <p><font size="-1">Defined in the <code>sis-referencing</code> module</font></p> |
| </dl> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <li> |
| <section class="constructor-summary" id="constructor-summary"> |
| <h2>Constructor Summary</h2> |
| <div class="caption"><span>Constructors</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier</div> |
| <div class="table-header col-second">Constructor</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>protected </code></div> |
| <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">MatrixSIS</a>()</code></div> |
| <div class="col-last even-row-color"> |
| <div class="block">For sub-class constructors.</div> |
| </div> |
| </div> |
| </section> |
| </li> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#castOrCopy(org.opengis.referencing.operation.Matrix)" class="member-name-link">castOrCopy</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Casts or copies the given matrix to a SIS implementation.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clone()" class="member-name-link">clone</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a clone of this matrix.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#convertAfter(int,java.lang.Number,java.lang.Number)" class="member-name-link">convertAfter</a><wbr>(int tgtDim, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> scale, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> offset)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Assuming that this matrix represents an affine transform, pre-concatenates a scale and a translation on the |
| given dimension.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#convertBefore(int,java.lang.Number,java.lang.Number)" class="member-name-link">convertBefore</a><wbr>(int srcDim, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> scale, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> offset)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Assuming that this matrix represents an affine transform, concatenates a scale and a translation on the |
| given dimension.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> object)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns <code>true</code> if the specified object is of the same class than this matrix and |
| all of the data members are equal to the corresponding data members in this matrix.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> object, |
| <a href="../../../util/ComparisonMode.html" title="enum class in org.apache.sis.util">ComparisonMode</a> mode)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Compares this matrix with the given object for equality.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(org.opengis.referencing.operation.Matrix,double)" class="member-name-link">equals</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix, |
| double tolerance)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Compares the given matrices for equality, using the given absolute tolerance threshold.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract double</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getElement(int,int)" class="member-name-link">getElement</a><wbr>(int row, |
| int column)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Retrieves the value at the specified row and column of this matrix.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double[]</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElements()" class="member-name-link">getElements</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a copy of all matrix elements in a flat, row-major (column indices vary fastest) array.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getInteger(int,int)" class="member-name-link">getInteger</a><wbr>(int row, |
| int column)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Retrieves the value at the specified row and column of this matrix, rounded to nearest integer.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNumber(int,int)" class="member-name-link">getNumber</a><wbr>(int row, |
| int column)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Retrieves the value at the specified row and column of this matrix, wrapped in a <code>Number</code>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a hash code value based on the data values in this matrix.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#inverse()" class="member-name-link">inverse</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the inverse of this matrix.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isAffine()" class="member-name-link">isAffine</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns <code>true</code> if this matrix represents an affine transform.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isIdentity()" class="member-name-link">isIdentity</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns <code>true</code> if this matrix is an identity matrix.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>double[]</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#multiply(double%5B%5D)" class="member-name-link">multiply</a><wbr>(double[] vector)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a new vector which is the result of multiplying this matrix with the specified vector.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#multiply(org.opengis.referencing.operation.Matrix)" class="member-name-link">multiply</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a new matrix which is the result of multiplying this matrix with the specified one.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#normalizeColumns()" class="member-name-link">normalizeColumns</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Normalizes all columns in-place and returns their magnitudes as a row vector.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeColumns(int,int)" class="member-name-link">removeColumns</a><wbr>(int lower, |
| int upper)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a new matrix with the same elements than this matrix except for the specified columns.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeRows(int,int)" class="member-name-link">removeRows</a><wbr>(int lower, |
| int upper)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a new matrix with the same elements than this matrix except for the specified rows.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setElements(double%5B%5D)" class="member-name-link">setElements</a><wbr>(double[] elements)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setMatrix(org.opengis.referencing.operation.Matrix)" class="member-name-link">setMatrix</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Sets this matrix to the values of another matrix.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setNumber(int,int,java.lang.Number)" class="member-name-link">setNumber</a><wbr>(int row, |
| int column, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> value)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Modifies the value at the specified row and column of this matrix.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#solve(org.opengis.referencing.operation.Matrix)" class="member-name-link">solve</a><wbr>(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the value of <var>U</var> which solves <code>this</code> × <var>U</var> = <code>matrix</code>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns a unlocalized string representation of this matrix.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#translate(double%5B%5D)" class="member-name-link">translate</a><wbr>(double[] vector)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Multiplies this matrix by a translation matrix.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#transpose()" class="member-name-link">transpose</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Sets the value of this matrix to its transpose.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-Object">Methods inherited from class <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-Matrix">Methods inherited from interface <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a></h3> |
| <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link">getNumCol</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link">getNumRow</a>, <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#setElement(int,int,double)" title="class or interface in org.opengis.referencing.operation" class="external-link">setElement</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li> |
| <section class="constructor-details" id="constructor-detail"> |
| <h2>Constructor Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="<init>()"> |
| <h3>MatrixSIS</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="element-name">MatrixSIS</span>()</div> |
| <div class="block">For sub-class constructors.</div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="castOrCopy(org.opengis.referencing.operation.Matrix)"> |
| <h3>castOrCopy</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">castOrCopy</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</span></div> |
| <div class="block">Casts or copies the given matrix to a SIS implementation. If <code>matrix</code> is already |
| an instance of <code>MatrixSIS</code>, then it is returned unchanged. Otherwise all elements |
| are copied in a new <code>MatrixSIS</code> object.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>matrix</code> - the matrix to cast or copy, or <code>null</code>.</dd> |
| <dt>Returns:</dt> |
| <dd>the matrix argument if it can be safely casted (including <code>null</code> argument), |
| or a copy of the given matrix otherwise.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="Matrices.html#copy(org.opengis.referencing.operation.Matrix)"><code>Matrices.copy(Matrix)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getInteger(int,int)"> |
| <h3>getInteger</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getInteger</span><wbr><span class="parameters">(int row, |
| int column)</span></div> |
| <div class="block">Retrieves the value at the specified row and column of this matrix, rounded to nearest integer. |
| This method may be more accurate than <a href="#getElement(int,int)"><code>getElement(int, int)</code></a> in some implementations |
| when the value is expected to be an integer (for example in conversions of pixel coordinates).</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>row</code> - the row index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumRow()</code></a> exclusive.</dd> |
| <dd><code>column</code> - the column index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumCol()</code></a> exclusive.</dd> |
| <dt>Returns:</dt> |
| <dd>the current value at the given row and column, rounded to nearest integer.</dd> |
| <dt>Since:</dt> |
| <dd>1.3</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getNumber(int,int)"> |
| <h3>getNumber</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a></span> <span class="element-name">getNumber</span><wbr><span class="parameters">(int row, |
| int column)</span></div> |
| <div class="block">Retrieves the value at the specified row and column of this matrix, wrapped in a <code>Number</code>. |
| The <code>Number</code> type depends on the matrix accuracy.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>row</code> - the row index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumRow()</code></a> exclusive.</dd> |
| <dd><code>column</code> - the column index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumCol()</code></a> exclusive.</dd> |
| <dt>Returns:</dt> |
| <dd>the current value at the given row and column.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setNumber(int,int,java.lang.Number)"> |
| <h3>setNumber</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setNumber</span><wbr><span class="parameters">(int row, |
| int column, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> value)</span></div> |
| <div class="block">Modifies the value at the specified row and column of this matrix. |
| This method is the converses of <a href="#getNumber(int,int)"><code>getNumber(int, int)</code></a>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>row</code> - the row index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumRow()</code></a> exclusive.</dd> |
| <dd><code>column</code> - the column index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumCol()</code></a> exclusive.</dd> |
| <dd><code>value</code> - the new matrix element value.</dd> |
| <dt>Since:</dt> |
| <dd>0.8</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#setElement(int,int,double)" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.setElement(int, int, double)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getElement(int,int)"> |
| <h3>getElement</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">double</span> <span class="element-name">getElement</span><wbr><span class="parameters">(int row, |
| int column)</span></div> |
| <div class="block">Retrieves the value at the specified row and column of this matrix.</div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getElement(int,int)" title="class or interface in org.opengis.referencing.operation" class="external-link">getElement</a></code> in interface <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a></code></dd> |
| <dt>Parameters:</dt> |
| <dd><code>row</code> - the row index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumRow()</code></a> exclusive.</dd> |
| <dd><code>column</code> - the column index, from 0 inclusive to <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix.getNumCol()</code></a> exclusive.</dd> |
| <dt>Returns:</dt> |
| <dd>the current value at the given row and column.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getElements()"> |
| <h3>getElements</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">double[]</span> <span class="element-name">getElements</span>()</div> |
| <div class="block">Returns a copy of all matrix elements in a flat, row-major (column indices vary fastest) array. |
| The array length is <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix.getNumRow()</a> * <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix.getNumCol()</a></code>.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>a copy of all current matrix elements in a row-major array.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setElements(double[])"> |
| <h3>setElements</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name">setElements</span><wbr><span class="parameters">(double[] elements)</span></div> |
| <div class="block">Sets all matrix elements from a flat, row-major (column indices vary fastest) array. |
| The array length shall be <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumRow()" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix.getNumRow()</a> * <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#getNumCol()" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix.getNumCol()</a></code>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>elements</code> - The new matrix elements in a row-major array.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if the given array does not have the expected length.</dd> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link">UnsupportedOperationException</a></code> - if this matrix is unmodifiable.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="Matrices.html#create(int,int,double%5B%5D)"><code>Matrices.create(int, int, double[])</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setMatrix(org.opengis.referencing.operation.Matrix)"> |
| <h3>setMatrix</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setMatrix</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</span> |
| throws <span class="exceptions"><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></span></div> |
| <div class="block">Sets this matrix to the values of another matrix. |
| The given matrix must have the same size.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>matrix</code> - the matrix to copy.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></code> - if the given matrix has a different size than this matrix.</dd> |
| <dt>Since:</dt> |
| <dd>0.7</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isAffine()"> |
| <h3>isAffine</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">isAffine</span>()</div> |
| <div class="block">Returns <code>true</code> if this matrix represents an affine transform. |
| A transform is affine if the matrix is square and its last row contains |
| only zeros, except in the last column which contains 1.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if this matrix represents an affine transform.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="Matrices.html#isAffine(org.opengis.referencing.operation.Matrix)"><code>Matrices.isAffine(Matrix)</code></a></li> |
| <li><a href="../transform/LinearTransform.html#isAffine()"><code>LinearTransform.isAffine()</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isIdentity()"> |
| <h3>isIdentity</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">boolean</span> <span class="element-name">isIdentity</span>()</div> |
| <div class="block">Returns <code>true</code> if this matrix is an identity matrix. |
| This method is equivalent to the following code, except that it is potentially more efficient: |
| |
| <blockquote><pre><font color="green">return</font> Matrices.<b>isIdentity</b>(<font color="green">this</font>, 0.0);</pre></blockquote></div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#isIdentity()" title="class or interface in org.opengis.referencing.operation" class="external-link">isIdentity</a></code> in interface <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a></code></dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if this matrix is an identity matrix.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="Matrices.html#isIdentity(org.opengis.referencing.operation.Matrix,double)"><code>Matrices.isIdentity(Matrix, double)</code></a></li> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#isIdentity()" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform.isIdentity()</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="transpose()"> |
| <h3>transpose</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type">void</span> <span class="element-name">transpose</span>()</div> |
| <div class="block">Sets the value of this matrix to its transpose.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link">UnsupportedOperationException</a></code> - if this matrix is unmodifiable.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="normalizeColumns()"> |
| <h3>normalizeColumns</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">normalizeColumns</span>()</div> |
| <div class="block">Normalizes all columns in-place and returns their magnitudes as a row vector. |
| Each columns in this matrix is considered as a vector. For each column (vector), |
| this method computes the magnitude (vector length) as the square root of the sum of all squared values. |
| Then, all values in the column are divided by that magnitude. |
| |
| <p>This method is useful when the matrix is a |
| <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/MathTransform.html#derivative(org.opengis.geometry.DirectPosition)" title="class or interface in org.opengis.referencing.operation" class="external-link">transform derivative</a>. |
| In such matrix, each column is a vector representing the displacement in target space when an |
| coordinate in the source space is increased by one. Invoking this method turns those vectors |
| into unitary vectors, which is useful for forming the basis of a new coordinate system.</p></div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the magnitude for each column in a matrix having only one row.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link">UnsupportedOperationException</a></code> - if this matrix is unmodifiable.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="convertBefore(int,java.lang.Number,java.lang.Number)"> |
| <h3>convertBefore</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">convertBefore</span><wbr><span class="parameters">(int srcDim, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> scale, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> offset)</span></div> |
| <div class="block">Assuming that this matrix represents an affine transform, concatenates a scale and a translation on the |
| given dimension. Converting a point with the resulting matrix is equivalent to first convert the point |
| with <code>coordinates[srcDim] = coordinates[srcDim] * scale + offset</code>, then apply the original matrix. |
| |
| <h4>Equivalence between this method and Java2D <code>AffineTransform</code> methods</h4> |
| If this matrix was an instance of Java2D <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform</code></a>, then invoking this method would |
| be equivalent to invoking the following <code>AffineTransform</code> methods in the order shown below: |
| |
| <table class="sis"> |
| <caption>Equivalence between this method and AffineTransform methods</caption> |
| <tr> |
| <th><code>MatrixSIS</code> method</th> |
| <th class="sep"><code>AffineTransform</code> methods</th> |
| </tr><tr> |
| <td><code>convertBefore(0, scale, offset)</code></td> |
| <td class="sep"><code>at.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#translate(double,double)" title="class or interface in java.awt.geom" class="external-link">translate</a>(offset, 0); |
| at.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#scale(double,double)" title="class or interface in java.awt.geom" class="external-link">scale</a>(scale, 1);</code></td> |
| </tr><tr> |
| <td class="hsep"><code>convertBefore(1, scale, offset)</code></td> |
| <td class="hsep sep"><code>at.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#translate(double,double)" title="class or interface in java.awt.geom" class="external-link">translate</a>(0, offset); |
| at.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#scale(double,double)" title="class or interface in java.awt.geom" class="external-link">scale</a>(1, scale);</code></td> |
| </tr> |
| </table></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>srcDim</code> - the dimension of the coordinate to rescale in the source coordinates.</dd> |
| <dd><code>scale</code> - the amount by which to multiply the source coordinate value before to apply the transform, or <code>null</code> if none.</dd> |
| <dd><code>offset</code> - the amount by which to translate the source coordinate value before to apply the transform, or <code>null</code> if none.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link">UnsupportedOperationException</a></code> - if this matrix is unmodifiable.</dd> |
| <dt>Since:</dt> |
| <dd>0.6</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#concatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform.concatenate(AffineTransform)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="convertAfter(int,java.lang.Number,java.lang.Number)"> |
| <h3>convertAfter</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">convertAfter</span><wbr><span class="parameters">(int tgtDim, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> scale, |
| <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Number.html" title="class or interface in java.lang" class="external-link">Number</a> offset)</span></div> |
| <div class="block">Assuming that this matrix represents an affine transform, pre-concatenates a scale and a translation on the |
| given dimension. Converting a point with the resulting matrix is equivalent to first convert the point with |
| the original matrix, then convert the result with <code>coordinates[tgtDim] = coordinates[tgtDim] * scale + offset</code>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>tgtDim</code> - the dimension of the coordinate to rescale in the target coordinates.</dd> |
| <dd><code>scale</code> - the amount by which to multiply the target coordinate value after this transform, or <code>null</code> if none.</dd> |
| <dd><code>offset</code> - the amount by which to translate the target coordinate value after this transform, or <code>null</code> if none.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/UnsupportedOperationException.html" title="class or interface in java.lang" class="external-link">UnsupportedOperationException</a></code> - if this matrix is unmodifiable.</dd> |
| <dt>Since:</dt> |
| <dd>0.6</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#preConcatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform.preConcatenate(AffineTransform)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="multiply(org.opengis.referencing.operation.Matrix)"> |
| <h3>multiply</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">multiply</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</span> |
| throws <span class="exceptions"><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></span></div> |
| <div class="block">Returns a new matrix which is the result of multiplying this matrix with the specified one. |
| In other words, returns <code>this</code> × <code>matrix</code>. |
| |
| <h4>Relationship with coordinate operations</h4> |
| In the context of coordinate operations, <code>Matrix.multiply(other)</code> is equivalent to |
| <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#concatenate(java.awt.geom.AffineTransform)" title="class or interface in java.awt.geom" class="external-link">AffineTransform.concatenate</a>(other)</code>: |
| first transforms by the <code>other</code> transform and then transform the result by <code>this</code> transform.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>matrix</code> - the matrix to multiply to this matrix.</dd> |
| <dt>Returns:</dt> |
| <dd>the result of <code>this</code> × <code>matrix</code>.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></code> - if the number of rows in the given matrix is not equals to the |
| number of columns in this matrix.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="multiply(double[])"> |
| <h3>multiply</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">double[]</span> <span class="element-name">multiply</span><wbr><span class="parameters">(double[] vector)</span></div> |
| <div class="block">Returns a new vector which is the result of multiplying this matrix with the specified vector. |
| In other words, returns <code>this</code> × <code>vector</code>. The length of the given vector must be |
| equal to the number of columns in this matrix, and the length of the returned vector will be |
| equal to the number of rows in this matrix. |
| |
| <h4>Relationship with coordinate operations</h4> |
| In the context of coordinate operations, <code>Matrix.multiply(vector)</code> is related to |
| <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#transform(double%5B%5D,int,double%5B%5D,int,int)" title="class or interface in java.awt.geom" class="external-link">AffineTransform.transform</a>(…)</code> |
| except that the last <code>vector</code> number is implicitly 1 in <code>AffineTransform</code> operations. |
| While this <code>multiply(double[])</code> method could be used for coordinate transformation, it is not its purpose. |
| This method is designed for occasional uses when accuracy is more important than performance.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>vector</code> - the vector to multiply to this matrix.</dd> |
| <dt>Returns:</dt> |
| <dd>the result of <code>this</code> × <code>vector</code>.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></code> - if the length of the given vector is not equals to the |
| number of columns in this matrix.</dd> |
| <dt>Since:</dt> |
| <dd>0.8</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="translate(double[])"> |
| <h3>translate</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">translate</span><wbr><span class="parameters">(double[] vector)</span></div> |
| <div class="block">Multiplies this matrix by a translation matrix. Invoking this method is equivalent to invoking |
| <code><a href="#multiply(org.opengis.referencing.operation.Matrix)">multiply</a>(T)</code> where <var>T</var> is a matrix like |
| below (size varies): |
| |
| <blockquote><pre> ┌ ┐ |
| │ 1 0 0 vector[0] │ |
| <var>T</var> = │ 0 1 0 vector[1] │ |
| │ 0 0 1 vector[2] │ |
| │ 0 0 0 vector[3] │ |
| └ ┘</pre></blockquote> |
| |
| The length of the given vector must be equal to the number of columns in this matrix. |
| The last vector element is 1 for an affine transform, but other values are allowed. |
| This matrix will be modified in-place. |
| |
| <p>If this matrix is used for coordinate conversions, then converting a position with |
| the resulting matrix is equivalent to first translating the point by the given vector, |
| then applying the conversion represented by the original matrix.</p></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>vector</code> - a vector representing a translation to be applied before this matrix.</dd> |
| <dt>Since:</dt> |
| <dd>1.0</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#translate(double,double)" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform.translate(double, double)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="solve(org.opengis.referencing.operation.Matrix)"> |
| <h3>solve</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">solve</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix)</span> |
| throws <span class="exceptions"><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a>, |
| <a href="NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></span></div> |
| <div class="block">Returns the value of <var>U</var> which solves <code>this</code> × <var>U</var> = <code>matrix</code>. |
| This is equivalent to first computing the inverse of <code>this</code>, then multiplying the result |
| by the given matrix.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>matrix</code> - the matrix to solve.</dd> |
| <dt>Returns:</dt> |
| <dd>the <var>U</var> matrix that satisfies <code>this</code> × <var>U</var> = <code>matrix</code>.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">MismatchedMatrixSizeException</a></code> - if the number of rows in the given matrix is not equals |
| to the number of columns in this matrix.</dd> |
| <dd><code><a href="NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></code> - if this matrix is not invertible.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="inverse()"> |
| <h3>inverse</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">inverse</span>() |
| throws <span class="exceptions"><a href="NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></span></div> |
| <div class="block">Returns the inverse of this matrix.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the inverse of this matrix.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="NoninvertibleMatrixException.html" title="class in org.apache.sis.referencing.operation.matrix">NoninvertibleMatrixException</a></code> - if this matrix is not invertible.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.desktop/java/awt/geom/AffineTransform.html#createInverse()" title="class or interface in java.awt.geom" class="external-link"><code>AffineTransform.createInverse()</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeRows(int,int)"> |
| <h3>removeRows</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">removeRows</span><wbr><span class="parameters">(int lower, |
| int upper)</span></div> |
| <div class="block">Returns a new matrix with the same elements than this matrix except for the specified rows. |
| This method is useful for removing a range of <em>target</em> dimensions in an affine transform.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>lower</code> - index of the first row to remove (inclusive).</dd> |
| <dd><code>upper</code> - index after the last row to remove (exclusive).</dd> |
| <dt>Returns:</dt> |
| <dd>a copy of this matrix with the specified rows removed.</dd> |
| <dt>Since:</dt> |
| <dd>0.7</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeColumns(int,int)"> |
| <h3>removeColumns</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">removeColumns</span><wbr><span class="parameters">(int lower, |
| int upper)</span></div> |
| <div class="block">Returns a new matrix with the same elements than this matrix except for the specified columns. |
| This method is useful for removing a range of <em>source</em> dimensions in an affine transform. |
| Coordinates will be converted as if the values in the removed dimensions were zeros.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>lower</code> - index of the first column to remove (inclusive).</dd> |
| <dd><code>upper</code> - index after the last column to remove (exclusive).</dd> |
| <dt>Returns:</dt> |
| <dd>a copy of this matrix with the specified columns removed.</dd> |
| <dt>Since:</dt> |
| <dd>0.7</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="hashCode()"> |
| <h3>hashCode</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">hashCode</span>()</div> |
| <div class="block">Returns a hash code value based on the data values in this matrix.</div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| <dt>Returns:</dt> |
| <dd>a hash code value for this matrix.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equals(java.lang.Object)"> |
| <h3>equals</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> object)</span></div> |
| <div class="block">Returns <code>true</code> if the specified object is of the same class than this matrix and |
| all of the data members are equal to the corresponding data members in this matrix.</div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="../../../util/LenientComparable.html#equals(java.lang.Object)">equals</a></code> in interface <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></code></dd> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| <dt>Parameters:</dt> |
| <dd><code>object</code> - the object to compare with this matrix for equality.</dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if the given object is equal to this matrix.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="../../../util/ComparisonMode.html#STRICT"><code>ComparisonMode.STRICT</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equals(org.opengis.referencing.operation.Matrix,double)"> |
| <h3>equals</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">equals</span><wbr><span class="parameters">(<a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a> matrix, |
| double tolerance)</span></div> |
| <div class="block">Compares the given matrices for equality, using the given absolute tolerance threshold. |
| The given matrix does not need to be the same implementation class than this matrix. |
| |
| <p>The matrix elements are compared as below:</p> |
| <ul> |
| <li><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Double.html#NaN" title="class or interface in java.lang" class="external-link"><code>Double.NaN</code></a> values are considered equals to all other NaN values.</li> |
| <li>Infinite values are considered equal to other infinite values of the same sign.</li> |
| <li>All other values are considered equal if the absolute value of their difference is |
| smaller than or equals to the given threshold.</li> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>matrix</code> - the matrix to compare.</dd> |
| <dd><code>tolerance</code> - the tolerance value.</dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if this matrix is close enough to the given matrix given the tolerance value.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="Matrices.html#equals(org.opengis.referencing.operation.Matrix,org.opengis.referencing.operation.Matrix,double,boolean)"><code>Matrices.equals(Matrix, Matrix, double, boolean)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="equals(java.lang.Object,org.apache.sis.util.ComparisonMode)"> |
| <h3>equals</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a> object, |
| <a href="../../../util/ComparisonMode.html" title="enum class in org.apache.sis.util">ComparisonMode</a> mode)</span></div> |
| <div class="block">Compares this matrix with the given object for equality. To be considered equal, the two |
| objects must met the following conditions, which depend on the <code>mode</code> argument: |
| |
| <ul> |
| <li><a href="../../../util/ComparisonMode.html#STRICT"><code>STRICT</code></a>: |
| the two matrices must be of the same class, have the same size and the same element values.</li> |
| <li><a href="../../../util/ComparisonMode.html#BY_CONTRACT"><code>BY_CONTRACT</code></a>: |
| the two matrices must have the same size and the same element values, |
| but are not required to be the same implementation class (any <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Matrix</code></a> is okay).</li> |
| <li><a href="../../../util/ComparisonMode.html#IGNORE_METADATA"><code>IGNORE_METADATA</code></a>: same as <code>BY_CONTRACT</code>. |
| <li><a href="../../../util/ComparisonMode.html#APPROXIMATE"><code>APPROXIMATE</code></a>: |
| the two matrices must have the same size, but the element values can differ up to some threshold. |
| The threshold value is determined empirically and may change in any future SIS versions.</li> |
| </ul></div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="../../../util/LenientComparable.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a></code> in interface <code><a href="../../../util/LenientComparable.html" title="interface in org.apache.sis.util">LenientComparable</a></code></dd> |
| <dt>Parameters:</dt> |
| <dd><code>object</code> - the object to compare to <code>this</code>.</dd> |
| <dd><code>mode</code> - the strictness level of the comparison.</dd> |
| <dt>Returns:</dt> |
| <dd><code>true</code> if both objects are equal.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list-long"> |
| <li><a href="Matrices.html#equals(org.opengis.referencing.operation.Matrix,org.opengis.referencing.operation.Matrix,org.apache.sis.util.ComparisonMode)"><code>Matrices.equals(Matrix, Matrix, ComparisonMode)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="clone()"> |
| <h3>clone</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span> <span class="element-name">clone</span>()</div> |
| <div class="block">Returns a clone of this matrix.</div> |
| <dl class="notes"> |
| <dt>Specified by:</dt> |
| <dd><code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html#clone()" title="class or interface in org.opengis.referencing.operation" class="external-link">clone</a></code> in interface <code><a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/Matrix.html" title="class or interface in org.opengis.referencing.operation" class="external-link">Matrix</a></code></dd> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| <dt>Returns:</dt> |
| <dd>a new matrix of the same class and with the same values than this matrix.</dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="Matrices.html#copy(org.opengis.referencing.operation.Matrix)"><code>Matrices.copy(Matrix)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="toString()"> |
| <h3>toString</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span> <span class="element-name">toString</span>()</div> |
| <div class="block">Returns a unlocalized string representation of this matrix. |
| For each column, the numbers are aligned on the decimal separator.</div> |
| <dl class="notes"> |
| <dt>Overrides:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code> in class <code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd> |
| <dt>See Also:</dt> |
| <dd> |
| <ul class="see-list"> |
| <li><a href="Matrices.html#toString(org.opengis.referencing.operation.Matrix)"><code>Matrices.toString(Matrix)</code></a></li> |
| </ul> |
| </dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2010–2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |