blob: f54e26cd50317d9507b2d9471da64b83e147e88f [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Oct 05 19:54:57 CEST 2023 -->
<title>Matrix1 (Apache SIS 1.4 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="dc.created" content="2023-10-05">
<meta name="description" content="declaration: module: org.apache.sis.referencing, package: org.apache.sis.referencing.operation.matrix, class: Matrix1">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="org.apache.sis.referencing.operation.matrix.Matrix1 class">
<meta name="keywords" content="SIZE">
<meta name="keywords" content="m00">
<meta name="keywords" content="castOrCopy()">
<meta name="keywords" content="getNumRow()">
<meta name="keywords" content="getNumCol()">
<meta name="keywords" content="getElement()">
<meta name="keywords" content="setElement()">
<meta name="keywords" content="getElements()">
<meta name="keywords" content="setElements()">
<meta name="keywords" content="isAffine()">
<meta name="keywords" content="isIdentity()">
<meta name="keywords" content="transpose()">
<meta name="keywords" content="normalizeColumns()">
<meta name="keywords" content="clone()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="hashCode()">
<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">
<script type="text/javascript" src="../../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../../script-dir/jquery-3.6.1.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">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</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="../../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</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><a href="#field-summary">Field</a></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><a href="#field-detail">Field</a></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:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</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="module-label-in-type">Module</span>&nbsp;<a href="../../../../../../module-summary.html">org.apache.sis.referencing</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.sis.referencing.operation.matrix</a></div>
<h1 title="Class Matrix1" class="title">Class Matrix1</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
<div class="inheritance"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a>
<div class="inheritance">Matrix1</div>
</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/11/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/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></code>, <code><a href="../../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</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>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Matrix1</span>
<span class="extends-implements">extends <a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span></div>
<div class="block">A matrix of fixed <a href="#SIZE">1</a>×<a href="#SIZE">1</a> size,
typically resulting from <a href="http://www.geoapi.org/3.0/javadoc/org.opengis.geoapi/org/opengis/referencing/operation/MathTransform1D.html" title="class or interface in org.opengis.referencing.operation" class="external-link"><code>Math­Transform1D</code></a> derivative computation.
The matrix member is:
<blockquote><pre> ┌ ┐
<a href="#m00">m00</a>
└ ┘</pre></blockquote></div>
<dl class="notes">
<dt>Since:</dt>
<dd>0.4</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="Matrix2.html" title="class in org.apache.sis.referencing.operation.matrix"><code>Matrix2</code></a></li>
<li><a href="Matrix3.html" title="class in org.apache.sis.referencing.operation.matrix"><code>Matrix3</code></a></li>
<li><a href="Matrix4.html" title="class in org.apache.sis.referencing.operation.matrix"><code>Matrix4</code></a></li>
<li><a href="../../../../../../../serialized-form.html#org.apache.sis.referencing.operation.matrix.Matrix1">Serialized Form</a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>double</code></div>
<div class="col-second even-row-color"><code><a href="#m00" class="member-name-link">m00</a></code></div>
<div class="col-last even-row-color">
<div class="block">The only element in this matrix.</div>
</div>
<div class="col-first odd-row-color"><code>static final int</code></div>
<div class="col-second odd-row-color"><code><a href="#SIZE" class="member-name-link">SIZE</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The matrix size, which is 1.</div>
</div>
</div>
</section>
</li>
<!-- ======== 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 two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">Matrix1</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new identity matrix.</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(double)" class="member-name-link">Matrix1</a><wbr>(double&nbsp;m00)</code></div>
<div class="col-last odd-row-color">
<div class="block">Creates a new matrix initialized to the specified value.</div>
</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(double%5B%5D)" class="member-name-link">Matrix1</a><wbr>(double[]&nbsp;elements)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a new matrix initialized to the specified values.</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-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="Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</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">cast­Or­Copy</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>&nbsp;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 <code>Matrix1</code> implementation.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</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>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/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;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 type <code>Matrix1</code> 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>final double</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElement(int,int)" class="member-name-link">get­Element</a><wbr>(int&nbsp;row,
int&nbsp;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.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final 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">get­Elements</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 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>final int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNumCol()" class="member-name-link">get­Num­Col</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 the number of columns in this matrix, which is always <a href="#SIZE">1</a> in this implementation.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNumRow()" class="member-name-link">get­Num­Row</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 number of rows in this matrix, which is always <a href="#SIZE">1</a> in this implementation.</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">hash­Code</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 object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isAffine()" class="member-name-link">is­Affine</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 <code>true</code> if this matrix represents an affine transform.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isIdentity()" class="member-name-link">is­Identity</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 is an identity 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">Matrix­SIS</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#normalizeColumns()" class="member-name-link">normalize­Columns</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Normalizes all columns in-place.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setElement(int,int,double)" class="member-name-link">set­Element</a><wbr>(int&nbsp;row,
int&nbsp;column,
double&nbsp;value)</code></div>
<div class="col-last odd-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 even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setElements(double%5B%5D)" class="member-name-link">set­Elements</a><wbr>(double[]&nbsp;elements)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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="#transpose()" class="member-name-link">transpose</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">For a 1×1 matrix, this method does nothing.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-MatrixSIS">Methods inherited from class&nbsp;<a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></h3>
<code><a href="MatrixSIS.html#convertAfter(int,java.lang.Number,java.lang.Number)">convert­After</a>, <a href="MatrixSIS.html#convertBefore(int,java.lang.Number,java.lang.Number)">convert­Before</a>, <a href="MatrixSIS.html#equals(java.lang.Object,org.apache.sis.util.ComparisonMode)">equals</a>, <a href="MatrixSIS.html#equals(org.opengis.referencing.operation.Matrix,double)">equals</a>, <a href="MatrixSIS.html#getInteger(int,int)">get­Integer</a>, <a href="MatrixSIS.html#getNumber(int,int)">get­Number</a>, <a href="MatrixSIS.html#inverse()">inverse</a>, <a href="MatrixSIS.html#multiply(double%5B%5D)">multiply</a>, <a href="MatrixSIS.html#multiply(org.opengis.referencing.operation.Matrix)">multiply</a>, <a href="MatrixSIS.html#removeColumns(int,int)">remove­Columns</a>, <a href="MatrixSIS.html#removeRows(int,int)">remove­Rows</a>, <a href="MatrixSIS.html#setMatrix(org.opengis.referencing.operation.Matrix)">set­Matrix</a>, <a href="MatrixSIS.html#setNumber(int,int,java.lang.Number)">set­Number</a>, <a href="MatrixSIS.html#solve(org.opengis.referencing.operation.Matrix)">solve</a>, <a href="MatrixSIS.html#toString()">to­String</a>, <a href="MatrixSIS.html#translate(double%5B%5D)">translate</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-Object">Methods inherited from class&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/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/11/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/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">get­Class</a>, <a href="https://docs.oracle.com/en/java/javase/11/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/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notify­All</a>, <a href="https://docs.oracle.com/en/java/javase/11/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/11/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/11/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>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="SIZE">
<h3>SIZE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">SIZE</span></div>
<div class="block">The matrix size, which is 1.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="../../../../../../../constant-values.html#org.apache.sis.referencing.operation.matrix.Matrix1.SIZE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="m00">
<h3>m00</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">m00</span></div>
<div class="block">The only element in this matrix.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>Matrix1</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Matrix1</span>()</div>
<div class="block">Creates a new identity matrix.</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(double)">
<h3>Matrix1</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Matrix1</span><wbr><span class="parameters">(double&nbsp;m00)</span></div>
<div class="block">Creates a new matrix initialized to the specified value.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>m00</code> - The element in this matrix.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(double[])">
<h3>Matrix1</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Matrix1</span><wbr><span class="parameters">(double[]&nbsp;elements)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
<div class="block">Creates a new matrix initialized to the specified values.
The length of the given array must be 1.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>elements</code> - elements of the matrix.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">Illegal­Argument­Exception</a></code> - if the given array does not have the expected length.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list-long">
<li><a href="#setElements(double%5B%5D)"><code>set­Elements(double[])</code></a></li>
<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>
</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>&nbsp;<span class="return-type"><a href="Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></span>&nbsp;<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>&nbsp;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">Casts or copies the given matrix to a <code>Matrix1</code> implementation. If the given <code>matrix</code>
is already an instance of <code>Matrix1</code>, then it is returned unchanged. Otherwise this method
verifies the matrix size, then copies the element in a new <code>Matrix1</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>Throws:</dt>
<dd><code><a href="MismatchedMatrixSizeException.html" title="class in org.apache.sis.referencing.operation.matrix">Mismatched­Matrix­Size­Exception</a></code> - if the size of the given matrix is not <a href="#SIZE">1</a>×<a href="#SIZE">1</a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNumRow()">
<h3>getNumRow</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getNumRow</span>()</div>
<div class="block">Returns the number of rows in this matrix, which is always <a href="#SIZE">1</a> in this implementation.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>always <a href="#SIZE">1</a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getNumCol()">
<h3>getNumCol</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getNumCol</span>()</div>
<div class="block">Returns the number of columns in this matrix, which is always <a href="#SIZE">1</a> in this implementation.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>always <a href="#SIZE">1</a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getElement(int,int)">
<h3>getElement</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double</span>&nbsp;<span class="element-name">getElement</span><wbr><span class="parameters">(int&nbsp;row,
int&nbsp;column)</span></div>
<div class="block">Retrieves the value at the specified row and column of this matrix.
This method can be invoked when the matrix size or type is unknown.
If the matrix is known to be an instance of <code>Matrix1</code>,
then the <a href="#m00"><code>m00</code></a> field can be read directly for efficiency.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>row</code> - the row index, which can only be 0.</dd>
<dd><code>column</code> - the column index, which can only be 0.</dd>
<dt>Returns:</dt>
<dd>the current value.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setElement(int,int,double)">
<h3>setElement</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setElement</span><wbr><span class="parameters">(int&nbsp;row,
int&nbsp;column,
double&nbsp;value)</span></div>
<div class="block">Modifies the value at the specified row and column of this matrix.
This method can be invoked when the matrix size or type is unknown.
If the matrix is known to be an instance of <code>Matrix1</code>,
then the <a href="#m00"><code>m00</code></a> field can be set directly for efficiency.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>row</code> - the row index, which can only be 0.</dd>
<dd><code>column</code> - the column index, which can only be 0.</dd>
<dd><code>value</code> - the new value to set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getElements()">
<h3>getElements</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">double[]</span>&nbsp;<span class="element-name">getElements</span>()</div>
<div class="block">Returns all matrix elements in a flat, row-major (column indices vary fastest) array.
The array length is 1.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#getElements()">get­Elements</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
<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 final</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setElements</span><wbr><span class="parameters">(double[]&nbsp;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 1.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#setElements(double%5B%5D)">set­Elements</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
<dt>Parameters:</dt>
<dd><code>elements</code> - The new matrix elements in a row-major array.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-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="isAffine()">
<h3>isAffine</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<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>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#isAffine()">is­Affine</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
<dt>Returns:</dt>
<dd><code>true</code> if this matrix represents an affine transform.</dd>
<dt>See Also:</dt>
<dd>
<ul class="tag-list">
<li><a href="Matrices.html#isAffine(org.opengis.referencing.operation.Matrix)"><code>Matrices​.is­Affine(Matrix)</code></a></li>
<li><a href="../transform/LinearTransform.html#isAffine()"><code>Linear­Transform​.is­Affine()</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 final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<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:
<div class="snippet-container"><button class="copy snippet-copy" aria-label="Copy snippet" onclick="copySnippet(this)"><span data-copied="Copied!">Copy</span><img src="../../../../../../../copy.svg" alt="Copy snippet"></button>
<pre class="snippet"><code class="language-java">return Matrices.isIdentity(this, 0.0);
</code></pre>
</div>
</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">is­Identity</a></code>&nbsp;in interface&nbsp;<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>Specified by:</dt>
<dd><code><a href="MatrixSIS.html#isIdentity()">is­Identity</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</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="tag-list-long">
<li><a href="Matrices.html#isIdentity(org.opengis.referencing.operation.Matrix,double)"><code>Matrices​.is­Identity(Matrix, double)</code></a></li>
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/geom/AffineTransform.html#isIdentity()" title="class or interface in java.awt.geom" class="external-link"><code>Affine­Transform​.is­Identity()</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</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transpose</span>()</div>
<div class="block">For a 1×1 matrix, this method does nothing.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="MatrixSIS.html#transpose()">transpose</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="normalizeColumns()">
<h3>normalizeColumns</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">MatrixSIS</a></span>&nbsp;<span class="element-name">normalizeColumns</span>()</div>
<div class="block">Normalizes all columns in-place.
For a 1×1 matrix with non-NaN value, this method sets the <a href="#m00"><code>m00</code></a> value
to +1, -1 or 0 with the same sign than the original value.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#normalizeColumns()">normalize­Columns</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
<dt>Returns:</dt>
<dd>the magnitude of the column, which is the absolute value of <a href="#m00"><code>m00</code></a>.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Matrix1.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix1</a></span>&nbsp;<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>&nbsp;in interface&nbsp;<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="MatrixSIS.html#clone()">clone</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</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="tag-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="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object)</span></div>
<div class="block">Returns <code>true</code> if the specified object is of type <code>Matrix1</code> 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="../../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../../org.apache.sis.util/org/apache/sis/util/LenientComparable.html" title="interface in org.apache.sis.util">Lenient­Comparable</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#equals(java.lang.Object)">equals</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</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="tag-list">
<li><a href="../../../../../../../org.apache.sis.util/org/apache/sis/util/ComparisonMode.html#STRICT"><code>Comparison­Mode​.STRICT</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block">Returns a hash code value based on the data values in this object.</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="MatrixSIS.html#hashCode()">hash­Code</a></code>&nbsp;in class&nbsp;<code><a href="MatrixSIS.html" title="class in org.apache.sis.referencing.operation.matrix">Matrix­SIS</a></code></dd>
<dt>Returns:</dt>
<dd>a hash code value for this matrix.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>