195 lines
132 KiB
HTML
195 lines
132 KiB
HTML
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A 3d Point tagged with a unit."><title>Point3D in euclid - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../static.files/rustdoc-42caa33d.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="euclid" data-themes="" data-resource-suffix="" data-rustdoc-version="1.84.0 (9fc6b4312 2025-01-07)" data-channel="1.84.0" data-search-js="search-92e6798f.js" data-settings-js="settings-0f613d39.js" ><script src="../static.files/storage-59e33391.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-5f194d8c.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-893ab5e7.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-6580c154.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-044be391.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../euclid/index.html">euclid</a><span class="version">0.22.11</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Point3D</a></h2><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.x" title="x">x</a></li><li><a href="#structfield.y" title="y">y</a></li><li><a href="#structfield.z" title="z">z</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.add_size" title="add_size">add_size</a></li><li><a href="#method.cast" title="cast">cast</a></li><li><a href="#method.cast_unit" title="cast_unit">cast_unit</a></li><li><a href="#method.ceil" title="ceil">ceil</a></li><li><a href="#method.clamp" title="clamp">clamp</a></li><li><a href="#method.distance_to" title="distance_to">distance_to</a></li><li><a href="#method.div_euclid" title="div_euclid">div_euclid</a></li><li><a href="#method.floor" title="floor">floor</a></li><li><a href="#method.from_lengths" title="from_lengths">from_lengths</a></li><li><a href="#method.from_untyped" title="from_untyped">from_untyped</a></li><li><a href="#method.is_finite" title="is_finite">is_finite</a></li><li><a href="#method.lerp" title="lerp">lerp</a></li><li><a href="#method.map" title="map">map</a></li><li><a href="#method.max" title="max">max</a></li><li><a href="#method.min" title="min">min</a></li><li><a href="#method.new" title="new">new</a></li><li><a href="#method.origin" title="origin">origin</a></li><li><a href="#method.rem_euclid" title="rem_euclid">rem_euclid</a></li><li><a href="#method.round" title="round">round</a></li><li><a href="#method.splat" title="splat">splat</a></li><li><a href="#method.to_2d" title="to_2d">to_2d</a></li><li><a href="#method.to_array" title="to_array">to_array</a></li><li><a href="#method.to_array_4d" title="to_array_4d">to_array_4d</a></li><li><a href="#method.to_f32" title="to_f32">to_f32</a></li><li><a href="#method.to_f64" title="to_f64">to_f64</a></li><li><a href="#method.to_i32" title="to_i32">to_i32</a></li><li><a href="#method.to_i64" title="to_i64">to_i64</a></li><li><a href="#method.to_tuple" title="to_tuple">to_tuple</a></li><li><a href="#method.to_tuple_4d" title="to_tuple_4d">to_tuple_4d</a></li><li><a href="#method.to_u32" title="to_u32">to_u32</a></li><li><a href="#method.to_untyped" title="to_untyped">to_untyped</a></li><li><a href="#method.to_usize" title="to_usize">to_usize</a></li><li><a href="#method.to_vector" title="to_vector">to_vector</a></li><li><a href="#method.try_cast" title="try_cast">try_cast</a></li><li><a href="#method.xy" title="xy">xy</a></li><li><a href="#method.xz" title="xz">xz</a></li><li><a href="#method.yz" title="yz">yz</a></li><li><a href="#method.zero" title="zero">zero</a></li><li><a href="#method.zip" title="zip">zip</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Add%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="Add<Size3D<T, U>>">Add<Size3D<T, U>></a></li><li><a href="#impl-Add%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="Add<Vector3D<T, U>>">Add<Vector3D<T, U>></a></li><li><a href="#impl-AddAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="AddAssign<Size3D<T, U>>">AddAssign<Size3D<T, U>></a></li><li><a href="#impl-AddAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="AddAssign<Vector3D<T, U>>">AddAssign<Vector3D<T, U>></a></li><li><a href="#impl-ApproxEq%3CPoint3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="ApproxEq<Point3D<T, U>>">ApproxEq<Point3D<T, U>></a></li><li><a href="#impl-Ceil-for-Point3D%3CT,+U%3E" title="Ceil">Ceil</a></li><li><a href="#impl-Clone-for-Point3D%3CT,+U%3E" title="Clone">Clone</a></li><li><a href="#impl-Copy-for-Point3D%3CT,+U%3E" title="Copy">Copy</a></li><li><a href="#impl-Debug-for-Point3D%3CT,+U%3E" title="Debug">Debug</a></li><li><a href="#impl-Default-for-Point3D%3CT,+U%3E" title="Default">Default</a></li><li><a href="#impl-Div%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U2%3E" title="Div<Scale<T, U1, U2>>">Div<Scale<T, U1, U2>></a></li><li><a href="#impl-Div%3CT%3E-for-Point3D%3CT,+U%3E" title="Div<T>">Div<T></a></li><li><a href="#impl-DivAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" title="DivAssign<Scale<T, U, U>>">DivAssign<Scale<T, U, U>></a></li><li><a href="#impl-DivAssign%3CT%3E-for-Point3D%3CT,+U%3E" title="DivAssign<T>">DivAssign<T></a></li><li><a href="#impl-Eq-for-Point3D%3CT,+U%3E" title="Eq">Eq</a></li><li><a href="#impl-Floor-for-Point3D%3CT,+U%3E" title="Floor">Floor</a></li><li><a href="#impl-From%3C(T,+T,+T)%3E-for-Point3D%3CT,+U%3E" title="From<(T, T, T)>">From<(T, T, T)></a></li><li><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-%5BT;+3%5D" title="From<Point3D<T, U>>">From<Point3D<T, U>></a></li><li><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-(T,+T,+T)" title="From<Point3D<T, U>>">From<Point3D<T, U>></a></li><li><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-HomogeneousVector%3CT,+U%3E" title="From<Point3D<T, U>>">From<Point3D<T, U>></a></li><li><a href="#impl-From%3C%5BT;+3%5D%3E-for-Point3D%3CT,+U%3E" title="From<[T; 3]>">From<[T; 3]></a></li><li><a href="#impl-Hash-for-Point3D%3CT,+U%3E" title="Hash">Hash</a></li><li><a href="#impl-Mul%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U1%3E" title="Mul<Scale<T, U1, U2>>">Mul<Scale<T, U1, U2>></a></li><li><a href="#impl-Mul%3CT%3E-for-Point3D%3CT,+U%3E" title="Mul<T>">Mul<T></a></li><li><a href="#impl-MulAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" title="MulAssign<Scale<T, U, U>>">MulAssign<Scale<T, U, U>></a></li><li><a href="#impl-MulAssign%3CT%3E-for-Point3D%3CT,+U%3E" title="MulAssign<T>">MulAssign<T></a></li><li><a href="#impl-Neg-for-Point3D%3CT,+U%3E" title="Neg">Neg</a></li><li><a href="#impl-PartialEq-for-Point3D%3CT,+U%3E" title="PartialEq">PartialEq</a></li><li><a href="#impl-Round-for-Point3D%3CT,+U%3E" title="Round">Round</a></li><li><a href="#impl-Sub-for-Point3D%3CT,+U%3E" title="Sub">Sub</a></li><li><a href="#impl-Sub%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="Sub<Size3D<T, U>>">Sub<Size3D<T, U>></a></li><li><a href="#impl-Sub%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="Sub<Vector3D<T, U>>">Sub<Vector3D<T, U>></a></li><li><a href="#impl-SubAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="SubAssign<Size3D<T, U>>">SubAssign<Size3D<T, U>></a></li><li><a href="#impl-SubAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" title="SubAssign<Vector3D<T, U>>">SubAssign<Vector3D<T, U>></a></li><li><a href="#impl-Zero-for-Point3D%3CT,+U%3E" title="Zero">Zero</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Point3D%3CT,+U%3E" title="Freeze">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Point3D%3CT,+U%3E" title="RefUnwindSafe">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Point3D%3CT,+U%3E" title="Send">Send</a></li><li><a href="#impl-Sync-for-Point3D%3CT,+U%3E" title="Sync">Sync</a></li><li><a href="#impl-Unpin-for-Point3D%3CT,+U%3E" title="Unpin">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Point3D%3CT,+U%3E" title="UnwindSafe">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-Any-for-T" title="Any">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-T" title="Borrow<T>">Borrow<T></a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T" title="BorrowMut<T>">BorrowMut<T></a></li><li><a href="#impl-CloneToUninit-for-T" title="CloneToUninit">CloneToUninit</a></li><li><a href="#impl-From%3CT%3E-for-T" title="From<T>">From<T></a></li><li><a href="#impl-Into%3CU%3E-for-T" title="Into<U>">Into<U></a></li><li><a href="#impl-ToOwned-for-T" title="ToOwned">ToOwned</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T" title="TryFrom<U>">TryFrom<U></a></li><li><a href="#impl-TryInto%3CU%3E-for-T" title="TryInto<U>">TryInto<U></a></li></ul></section><div id="rustdoc-modnav"><h2 class="in-crate"><a href="index.html">In crate euclid</a></h2></div></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><span class="rustdoc-breadcrumbs"><a href="index.html">euclid</a></span><h1>Struct <span class="struct">Point3D</span><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../src/euclid/point.rs.html#822-828">Source</a> </span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(C)]</div>pub struct Point3D<T, U> {
|
||
pub x: T,
|
||
pub y: T,
|
||
pub z: T,
|
||
<span class="comment">/* private fields */</span>
|
||
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A 3d Point tagged with a unit.</p>
|
||
</div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.x" class="structfield section-header"><a href="#structfield.x" class="anchor field">§</a><code>x: T</code></span><span id="structfield.y" class="structfield section-header"><a href="#structfield.y" class="anchor field">§</a><code>y: T</code></span><span id="structfield.z" class="structfield section-header"><a href="#structfield.z" class="anchor field">§</a><code>z: T</code></span><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#937-1027">Source</a><a href="#impl-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.origin" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#940-945">Source</a><h4 class="code-header">pub fn <a href="#method.origin" class="fn">origin</a>() -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.Zero.html" title="trait euclid::num::Zero">Zero</a>,</div></h4></section></summary><div class="docblock"><p>Constructor, setting all components to zero.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.zero" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#949-954">Source</a><h4 class="code-header">pub fn <a href="#method.zero" class="fn">zero</a>() -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.Zero.html" title="trait euclid::num::Zero">Zero</a>,</div></h4></section></summary><div class="docblock"><p>The same as <a href="struct.Point3D.html#method.origin" title="associated function euclid::Point3D::origin"><code>Point3D::origin</code></a>.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#958-965">Source</a><h4 class="code-header">pub const fn <a href="#method.new" class="fn">new</a>(x: T, y: T, z: T) -> Self</h4></section></summary><div class="docblock"><p>Constructor taking scalar values directly.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_lengths" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#969-971">Source</a><h4 class="code-header">pub fn <a href="#method.from_lengths" class="fn">from_lengths</a>(x: <a class="struct" href="struct.Length.html" title="struct euclid::Length">Length</a><T, U>, y: <a class="struct" href="struct.Length.html" title="struct euclid::Length">Length</a><T, U>, z: <a class="struct" href="struct.Length.html" title="struct euclid::Length">Length</a><T, U>) -> Self</h4></section></summary><div class="docblock"><p>Constructor taking properly Lengths instead of scalar values.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.splat" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#975-985">Source</a><h4 class="code-header">pub fn <a href="#method.splat" class="fn">splat</a>(v: T) -> Self<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h4></section></summary><div class="docblock"><p>Constructor setting all components to the same value.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.from_untyped" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#989-991">Source</a><h4 class="code-header">pub fn <a href="#method.from_untyped" class="fn">from_untyped</a>(p: <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, <a class="struct" href="struct.UnknownUnit.html" title="struct euclid::UnknownUnit">UnknownUnit</a>>) -> Self</h4></section></summary><div class="docblock"><p>Tag a unitless value with units.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.map" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1006-1008">Source</a><h4 class="code-header">pub fn <a href="#method.map" class="fn">map</a><V, F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(T) -> V>(self, f: F) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><V, U></h4></section></summary><div class="docblock"><p>Apply the function <code>f</code> to each component of this point.</p>
|
||
<h5 id="example"><a class="doc-anchor" href="#example">§</a>Example</h5>
|
||
<p>This may be used to perform unusual arithmetic which is not already offered as methods.</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>euclid::default::Point3D;
|
||
|
||
<span class="kw">let </span>p = Point3D::<u32>::new(<span class="number">5</span>, <span class="number">11</span>, <span class="number">15</span>);
|
||
<span class="macro">assert_eq!</span>(p.map(|coord| coord.saturating_sub(<span class="number">10</span>)), Point3D::new(<span class="number">0</span>, <span class="number">1</span>, <span class="number">5</span>));</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.zip" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1024-1026">Source</a><h4 class="code-header">pub fn <a href="#method.zip" class="fn">zip</a><V, F: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(T, T) -> V>(self, rhs: Self, f: F) -> <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><V, U></h4></section></summary><div class="docblock"><p>Apply the function <code>f</code> to each pair of components of this point and <code>rhs</code>.</p>
|
||
<h5 id="example-1"><a class="doc-anchor" href="#example-1">§</a>Example</h5>
|
||
<p>This may be used to perform unusual arithmetic which is not already offered as methods.</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>euclid::{default::{Point3D, Vector3D}, point2};
|
||
|
||
<span class="kw">let </span>a: Point3D<u32> = Point3D::new(<span class="number">50</span>, <span class="number">200</span>, <span class="number">400</span>);
|
||
<span class="kw">let </span>b: Point3D<u32> = Point3D::new(<span class="number">100</span>, <span class="number">100</span>, <span class="number">150</span>);
|
||
<span class="macro">assert_eq!</span>(a.zip(b, u32::saturating_sub), Vector3D::new(<span class="number">0</span>, <span class="number">100</span>, <span class="number">250</span>));</code></pre></div>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-1" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1029-1242">Source</a><a href="#impl-Point3D%3CT,+U%3E-1" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_vector" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1034-1041">Source</a><h4 class="code-header">pub fn <a href="#method.to_vector" class="fn">to_vector</a>(self) -> <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U></h4></section></summary><div class="docblock"><p>Cast this point into a vector.</p>
|
||
<p>Equivalent to subtracting the origin to this point.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.xy" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1045-1047">Source</a><h4 class="code-header">pub fn <a href="#method.xy" class="fn">xy</a>(self) -> <a class="struct" href="struct.Point2D.html" title="struct euclid::Point2D">Point2D</a><T, U></h4></section></summary><div class="docblock"><p>Returns a 2d point using this point’s x and y coordinates</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.xz" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1051-1053">Source</a><h4 class="code-header">pub fn <a href="#method.xz" class="fn">xz</a>(self) -> <a class="struct" href="struct.Point2D.html" title="struct euclid::Point2D">Point2D</a><T, U></h4></section></summary><div class="docblock"><p>Returns a 2d point using this point’s x and z coordinates</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.yz" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1057-1059">Source</a><h4 class="code-header">pub fn <a href="#method.yz" class="fn">yz</a>(self) -> <a class="struct" href="struct.Point2D.html" title="struct euclid::Point2D">Point2D</a><T, U></h4></section></summary><div class="docblock"><p>Returns a 2d point using this point’s x and z coordinates</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_array" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1074-1076">Source</a><h4 class="code-header">pub fn <a href="#method.to_array" class="fn">to_array</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">[T; 3]</a></h4></section></summary><div class="docblock"><p>Cast into an array with x, y and z.</p>
|
||
<h5 id="example-2"><a class="doc-anchor" href="#example-2">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="kw">let </span>point: Point3D<<span class="kw">_</span>, Mm> = point3(<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(point.to_array(), [<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>]);</code></pre></div>
|
||
</div></details><section id="method.to_array_4d" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1079-1084">Source</a><h4 class="code-header">pub fn <a href="#method.to_array_4d" class="fn">to_array_4d</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">[T; 4]</a><div class="where">where
|
||
T: <a class="trait" href="num/trait.One.html" title="trait euclid::num::One">One</a>,</div></h4></section><details class="toggle method-toggle" open><summary><section id="method.to_tuple" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1099-1101">Source</a><h4 class="code-header">pub fn <a href="#method.to_tuple" class="fn">to_tuple</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(T, T, T)</a></h4></section></summary><div class="docblock"><p>Cast into a tuple with x, y and z.</p>
|
||
<h5 id="example-3"><a class="doc-anchor" href="#example-3">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="kw">let </span>point: Point3D<<span class="kw">_</span>, Mm> = point3(<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(point.to_tuple(), (<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>));</code></pre></div>
|
||
</div></details><section id="method.to_tuple_4d" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1104-1109">Source</a><h4 class="code-header">pub fn <a href="#method.to_tuple_4d" class="fn">to_tuple_4d</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(T, T, T, T)</a><div class="where">where
|
||
T: <a class="trait" href="num/trait.One.html" title="trait euclid::num::One">One</a>,</div></h4></section><details class="toggle method-toggle" open><summary><section id="method.to_untyped" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1126-1128">Source</a><h4 class="code-header">pub fn <a href="#method.to_untyped" class="fn">to_untyped</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, <a class="struct" href="struct.UnknownUnit.html" title="struct euclid::UnknownUnit">UnknownUnit</a>></h4></section></summary><div class="docblock"><p>Drop the units, preserving only the numeric value.</p>
|
||
<h5 id="example-4"><a class="doc-anchor" href="#example-4">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="kw">let </span>point: Point3D<<span class="kw">_</span>, Mm> = point3(<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(point.x, point.to_untyped().x);
|
||
<span class="macro">assert_eq!</span>(point.y, point.to_untyped().y);
|
||
<span class="macro">assert_eq!</span>(point.z, point.to_untyped().z);</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.cast_unit" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1146-1148">Source</a><h4 class="code-header">pub fn <a href="#method.cast_unit" class="fn">cast_unit</a><V>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, V></h4></section></summary><div class="docblock"><p>Cast the unit, preserving the numeric value.</p>
|
||
<h5 id="example-5"><a class="doc-anchor" href="#example-5">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
<span class="kw">enum </span>Cm {}
|
||
|
||
<span class="kw">let </span>point: Point3D<<span class="kw">_</span>, Mm> = point3(<span class="number">1</span>, -<span class="number">8</span>, <span class="number">0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(point.x, point.cast_unit::<Cm>().x);
|
||
<span class="macro">assert_eq!</span>(point.y, point.cast_unit::<Cm>().y);
|
||
<span class="macro">assert_eq!</span>(point.z, point.cast_unit::<Cm>().z);</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_2d" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1152-1154">Source</a><h4 class="code-header">pub fn <a href="#method.to_2d" class="fn">to_2d</a>(self) -> <a class="struct" href="struct.Point2D.html" title="struct euclid::Point2D">Point2D</a><T, U></h4></section></summary><div class="docblock"><p>Convert into a 2d point.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.round" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1168-1173">Source</a><h4 class="code-header">pub fn <a href="#method.round" class="fn">round</a>(self) -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.Round.html" title="trait euclid::num::Round">Round</a>,</div></h4></section></summary><div class="docblock"><p>Rounds each component to the nearest integer value.</p>
|
||
<p>This behavior is preserved for negative values (unlike the basic cast).</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="macro">assert_eq!</span>(point3::<<span class="kw">_</span>, Mm>(-<span class="number">0.1</span>, -<span class="number">0.8</span>, <span class="number">0.4</span>).round(), point3::<<span class="kw">_</span>, Mm>(<span class="number">0.0</span>, -<span class="number">1.0</span>, <span class="number">0.0</span>))</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.ceil" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1187-1192">Source</a><h4 class="code-header">pub fn <a href="#method.ceil" class="fn">ceil</a>(self) -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.Ceil.html" title="trait euclid::num::Ceil">Ceil</a>,</div></h4></section></summary><div class="docblock"><p>Rounds each component to the smallest integer equal or greater than the original value.</p>
|
||
<p>This behavior is preserved for negative values (unlike the basic cast).</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="macro">assert_eq!</span>(point3::<<span class="kw">_</span>, Mm>(-<span class="number">0.1</span>, -<span class="number">0.8</span>, <span class="number">0.4</span>).ceil(), point3::<<span class="kw">_</span>, Mm>(<span class="number">0.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>))</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.floor" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1206-1211">Source</a><h4 class="code-header">pub fn <a href="#method.floor" class="fn">floor</a>(self) -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.Floor.html" title="trait euclid::num::Floor">Floor</a>,</div></h4></section></summary><div class="docblock"><p>Rounds each component to the biggest integer equal or lower than the original value.</p>
|
||
<p>This behavior is preserved for negative values (unlike the basic cast).</p>
|
||
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">enum </span>Mm {}
|
||
|
||
<span class="macro">assert_eq!</span>(point3::<<span class="kw">_</span>, Mm>(-<span class="number">0.1</span>, -<span class="number">0.8</span>, <span class="number">0.4</span>).floor(), point3::<<span class="kw">_</span>, Mm>(-<span class="number">1.0</span>, -<span class="number">1.0</span>, <span class="number">0.0</span>))</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.lerp" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1231-1241">Source</a><h4 class="code-header">pub fn <a href="#method.lerp" class="fn">lerp</a>(self, other: Self, t: T) -> Self<div class="where">where
|
||
T: <a class="trait" href="num/trait.One.html" title="trait euclid::num::One">One</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><Output = T> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a><Output = T> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><Output = T>,</div></h4></section></summary><div class="docblock"><p>Linearly interpolate between this point and another point.</p>
|
||
<h5 id="example-6"><a class="doc-anchor" href="#example-6">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>euclid::point3;
|
||
<span class="kw">use </span>euclid::default::Point3D;
|
||
|
||
<span class="kw">let </span>from: Point3D<<span class="kw">_</span>> = point3(<span class="number">0.0</span>, <span class="number">10.0</span>, -<span class="number">1.0</span>);
|
||
<span class="kw">let </span>to: Point3D<<span class="kw">_</span>> = point3(<span class="number">8.0</span>, -<span class="number">4.0</span>, <span class="number">0.0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(from.lerp(to, -<span class="number">1.0</span>), point3(-<span class="number">8.0</span>, <span class="number">24.0</span>, -<span class="number">2.0</span>));
|
||
<span class="macro">assert_eq!</span>(from.lerp(to, <span class="number">0.0</span>), point3( <span class="number">0.0</span>, <span class="number">10.0</span>, -<span class="number">1.0</span>));
|
||
<span class="macro">assert_eq!</span>(from.lerp(to, <span class="number">0.5</span>), point3( <span class="number">4.0</span>, <span class="number">3.0</span>, -<span class="number">0.5</span>));
|
||
<span class="macro">assert_eq!</span>(from.lerp(to, <span class="number">1.0</span>), point3( <span class="number">8.0</span>, -<span class="number">4.0</span>, <span class="number">0.0</span>));
|
||
<span class="macro">assert_eq!</span>(from.lerp(to, <span class="number">2.0</span>), point3(<span class="number">16.0</span>, -<span class="number">18.0</span>, <span class="number">1.0</span>));</code></pre></div>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-2" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1244-1274">Source</a><a href="#impl-Point3D%3CT,+U%3E-2" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><section id="method.min" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1246-1252">Source</a><h4 class="code-header">pub fn <a href="#method.min" class="fn">min</a>(self, other: Self) -> Self</h4></section><section id="method.max" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1255-1261">Source</a><h4 class="code-header">pub fn <a href="#method.max" class="fn">max</a>(self, other: Self) -> Self</h4></section><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1268-1273">Source</a><h4 class="code-header">pub fn <a href="#method.clamp" class="fn">clamp</a>(self, start: Self, end: Self) -> Self<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</div></h4></section></summary><div class="docblock"><p>Returns the point each component of which clamped by corresponding
|
||
components of <code>start</code> and <code>end</code>.</p>
|
||
<p>Shortcut for <code>self.max(start).min(end)</code>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-3" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1276-1356">Source</a><a href="#impl-Point3D%3CT,+U%3E-3" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../num_traits/cast/trait.NumCast.html" title="trait num_traits::cast::NumCast">NumCast</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cast" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1283-1285">Source</a><h4 class="code-header">pub fn <a href="#method.cast" class="fn">cast</a><NewT: <a class="trait" href="../num_traits/cast/trait.NumCast.html" title="trait num_traits::cast::NumCast">NumCast</a>>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><NewT, U></h4></section></summary><div class="docblock"><p>Cast from one numeric representation to another, preserving the units.</p>
|
||
<p>When casting from floating point to integer coordinates, the decimals are truncated
|
||
as one would expect from a simple cast, but this behavior does not always make sense
|
||
geometrically. Consider using <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before casting.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.try_cast" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1292-1301">Source</a><h4 class="code-header">pub fn <a href="#method.try_cast" class="fn">try_cast</a><NewT: <a class="trait" href="../num_traits/cast/trait.NumCast.html" title="trait num_traits::cast::NumCast">NumCast</a>>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a><<a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><NewT, U>></h4></section></summary><div class="docblock"><p>Fallible cast from one numeric representation to another, preserving the units.</p>
|
||
<p>When casting from floating point to integer coordinates, the decimals are truncated
|
||
as one would expect from a simple cast, but this behavior does not always make sense
|
||
geometrically. Consider using <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before casting.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_f32" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1307-1309">Source</a><h4 class="code-header">pub fn <a href="#method.to_f32" class="fn">to_f32</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f32.html">f32</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>f32</code> point.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_f64" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1313-1315">Source</a><h4 class="code-header">pub fn <a href="#method.to_f64" class="fn">to_f64</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.f64.html">f64</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>f64</code> point.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_usize" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1323-1325">Source</a><h4 class="code-header">pub fn <a href="#method.to_usize" class="fn">to_usize</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.usize.html">usize</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>usize</code> point, truncating decimals if any.</p>
|
||
<p>When casting from floating point points, it is worth considering whether
|
||
to <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before the cast in order to obtain
|
||
the desired conversion behavior.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_u32" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1333-1335">Source</a><h4 class="code-header">pub fn <a href="#method.to_u32" class="fn">to_u32</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u32.html">u32</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>u32</code> point, truncating decimals if any.</p>
|
||
<p>When casting from floating point points, it is worth considering whether
|
||
to <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before the cast in order to obtain
|
||
the desired conversion behavior.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i32" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1343-1345">Source</a><h4 class="code-header">pub fn <a href="#method.to_i32" class="fn">to_i32</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.i32.html">i32</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>i32</code> point, truncating decimals if any.</p>
|
||
<p>When casting from floating point points, it is worth considering whether
|
||
to <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before the cast in order to obtain
|
||
the desired conversion behavior.</p>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i64" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1353-1355">Source</a><h4 class="code-header">pub fn <a href="#method.to_i64" class="fn">to_i64</a>(self) -> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.i64.html">i64</a>, U></h4></section></summary><div class="docblock"><p>Cast into an <code>i64</code> point, truncating decimals if any.</p>
|
||
<p>When casting from floating point points, it is worth considering whether
|
||
to <code>round()</code>, <code>ceil()</code> or <code>floor()</code> before the cast in order to obtain
|
||
the desired conversion behavior.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-4" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1358-1364">Source</a><a href="#impl-Point3D%3CT,+U%3E-4" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.is_finite" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1361-1363">Source</a><h4 class="code-header">pub fn <a href="#method.is_finite" class="fn">is_finite</a>(self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns <code>true</code> if all members are finite.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-5" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1366-1375">Source</a><a href="#impl-Point3D%3CT,+U%3E-5" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><T, Output = T>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><section id="method.add_size" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1368-1374">Source</a><h4 class="code-header">pub fn <a href="#method.add_size" class="fn">add_size</a>(self, other: <a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>) -> Self</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-6" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1377-1382">Source</a><a href="#impl-Point3D%3CT,+U%3E-6" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../num_traits/real/trait.Real.html" title="trait num_traits::real::Real">Real</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><T, Output = T>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><section id="method.distance_to" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1379-1381">Source</a><h4 class="code-header">pub fn <a href="#method.distance_to" class="fn">distance_to</a>(self, other: Self) -> T</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Point3D%3CT,+U%3E-7" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1595-1643">Source</a><a href="#impl-Point3D%3CT,+U%3E-7" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="../num_traits/ops/euclid/trait.Euclid.html" title="trait num_traits::ops::euclid::Euclid">Euclid</a>, U> <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.rem_euclid" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1612-1618">Source</a><h4 class="code-header">pub fn <a href="#method.rem_euclid" class="fn">rem_euclid</a>(&self, other: &<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>) -> Self</h4></section></summary><div class="docblock"><p>Calculates the least nonnegative remainder of <code>self (mod other)</code>.</p>
|
||
<h5 id="example-7"><a class="doc-anchor" href="#example-7">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>euclid::point3;
|
||
<span class="kw">use </span>euclid::default::{Point3D, Size3D};
|
||
|
||
<span class="kw">let </span>p = Point3D::new(<span class="number">7.0</span>, -<span class="number">7.0</span>, <span class="number">0.0</span>);
|
||
<span class="kw">let </span>s = Size3D::new(<span class="number">4.0</span>, -<span class="number">4.0</span>, <span class="number">12.0</span>);
|
||
<span class="macro">assert_eq!</span>(p.rem_euclid(<span class="kw-2">&</span>s), point3(<span class="number">3.0</span>, <span class="number">1.0</span>, <span class="number">0.0</span>));
|
||
<span class="macro">assert_eq!</span>((-p).rem_euclid(<span class="kw-2">&</span>s), point3(<span class="number">1.0</span>, <span class="number">3.0</span>, <span class="number">0.0</span>));
|
||
<span class="macro">assert_eq!</span>(p.rem_euclid(<span class="kw-2">&</span>-s), point3(<span class="number">3.0</span>, <span class="number">1.0</span>, <span class="number">0.0</span>));</code></pre></div>
|
||
</div></details><details class="toggle method-toggle" open><summary><section id="method.div_euclid" class="method"><a class="src rightside" href="../src/euclid/point.rs.html#1636-1642">Source</a><h4 class="code-header">pub fn <a href="#method.div_euclid" class="fn">div_euclid</a>(&self, other: &<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>) -> Self</h4></section></summary><div class="docblock"><p>Calculates Euclidean division, the matching method for <code>rem_euclid</code>.</p>
|
||
<h5 id="example-8"><a class="doc-anchor" href="#example-8">§</a>Example</h5>
|
||
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>euclid::point3;
|
||
<span class="kw">use </span>euclid::default::{Point3D, Size3D};
|
||
|
||
<span class="kw">let </span>p = Point3D::new(<span class="number">7.0</span>, -<span class="number">7.0</span>, <span class="number">0.0</span>);
|
||
<span class="kw">let </span>s = Size3D::new(<span class="number">4.0</span>, -<span class="number">4.0</span>, <span class="number">12.0</span>);
|
||
|
||
<span class="macro">assert_eq!</span>(p.div_euclid(<span class="kw-2">&</span>s), point3(<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">0.0</span>));
|
||
<span class="macro">assert_eq!</span>((-p).div_euclid(<span class="kw-2">&</span>s), point3(-<span class="number">2.0</span>, -<span class="number">1.0</span>, <span class="number">0.0</span>));
|
||
<span class="macro">assert_eq!</span>(p.div_euclid(<span class="kw-2">&</span>-s), point3(-<span class="number">1.0</span>, -<span class="number">2.0</span>, <span class="number">0.0</span>));</code></pre></div>
|
||
</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1393-1404">Source</a><a href="#impl-Add%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1394">Source</a><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" title="type core::ops::arith::Add::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1397-1403">Source</a><a href="#method.add" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: <a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" title="type core::ops::arith::Add::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Add%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1415-1422">Source</a><a href="#impl-Add%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><<a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-2" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1416">Source</a><a href="#associatedtype.Output-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" title="type core::ops::arith::Add::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1419-1421">Source</a><a href="#method.add-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#tymethod.add" class="fn">add</a>(self, other: <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#associatedtype.Output" title="type core::ops::arith::Add::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html#tymethod.add">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1406-1413">Source</a><a href="#impl-AddAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html" title="trait core::ops::arith::AddAssign">AddAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html" title="trait core::ops::arith::AddAssign">AddAssign</a><<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add_assign" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1408-1412">Source</a><a href="#method.add_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html#tymethod.add_assign" class="fn">add_assign</a>(&mut self, other: <a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html#tymethod.add_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1424-1429">Source</a><a href="#impl-AddAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Add.html" title="trait core::ops::arith::Add">Add</a><T, Output = T>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html" title="trait core::ops::arith::AddAssign">AddAssign</a><<a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.add_assign-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1426-1428">Source</a><a href="#method.add_assign-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html#tymethod.add_assign" class="fn">add_assign</a>(&mut self, other: <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.AddAssign.html#tymethod.add_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ApproxEq%3CPoint3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1577-1593">Source</a><a href="#impl-ApproxEq%3CPoint3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="approxeq/trait.ApproxEq.html" title="trait euclid::approxeq::ApproxEq">ApproxEq</a><T>, U> <a class="trait" href="approxeq/trait.ApproxEq.html" title="trait euclid::approxeq::ApproxEq">ApproxEq</a><<a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.approx_epsilon" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1579-1585">Source</a><a href="#method.approx_epsilon" class="anchor">§</a><h4 class="code-header">fn <a href="approxeq/trait.ApproxEq.html#tymethod.approx_epsilon" class="fn">approx_epsilon</a>() -> Self</h4></section></summary><div class='docblock'>Default epsilon value</div></details><details class="toggle method-toggle" open><summary><section id="method.approx_eq_eps" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1588-1592">Source</a><a href="#method.approx_eq_eps" class="anchor">§</a><h4 class="code-header">fn <a href="approxeq/trait.ApproxEq.html#tymethod.approx_eq_eps" class="fn">approx_eq_eps</a>(&self, other: &Self, eps: &Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if this object is approximately equal to the other one, using
|
||
a provided epsilon value.</div></details><details class="toggle method-toggle" open><summary><section id="method.approx_eq" class="method trait-impl"><a class="src rightside" href="../src/euclid/approxeq.rs.html#21-23">Source</a><a href="#method.approx_eq" class="anchor">§</a><h4 class="code-header">fn <a href="approxeq/trait.ApproxEq.html#method.approx_eq" class="fn">approx_eq</a>(&self, other: &Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Returns <code>true</code> if this object is approximately equal to the other one, using
|
||
the <a href="approxeq/trait.ApproxEq.html#tymethod.approx_epsilon" title="associated function euclid::approxeq::ApproxEq::approx_epsilon"><code>approx_epsilon</code></a> epsilon value.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ceil-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1561-1567">Source</a><a href="#impl-Ceil-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="num/trait.Ceil.html" title="trait euclid::num::Ceil">Ceil</a>, U> <a class="trait" href="num/trait.Ceil.html" title="trait euclid::num::Ceil">Ceil</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.ceil-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1564-1566">Source</a><a href="#method.ceil-1" class="anchor">§</a><h4 class="code-header">fn <a href="num/trait.Ceil.html#tymethod.ceil" class="fn">ceil</a>(self) -> Self</h4></section></summary><div class="docblock"><p>See <a href="struct.Point3D.html#method.ceil" title="method euclid::Point3D::ceil"><code>Point3D::ceil</code></a>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#834-843">Source</a><a href="#impl-Clone-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#835-842">Source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&self) -> Self</h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#174">Source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&mut self, source: &Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#921-929">Source</a><a href="#impl-Debug-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#922-928">Source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&self, f: &mut <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a><'_>) -> <a class="type" href="https://doc.rust-lang.org/1.84.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.84.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#931-935">Source</a><a href="#impl-Default-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#932-934">Source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -> Self</h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.84.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Div%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U2%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1530-1537">Source</a><a href="#impl-Div%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U2%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a>, U1, U2> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a><<a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U1, U2>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U2></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-9" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1531">Source</a><a href="#associatedtype.Output-9" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" title="type core::ops::arith::Div::Output">Output</a>, U1></h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.div-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1534-1536">Source</a><a href="#method.div-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#tymethod.div" class="fn">div</a>(self, scale: <a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U1, U2>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" title="type core::ops::arith::Div::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#tymethod.div">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Div%3CT%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1512-1519">Source</a><a href="#impl-Div%3CT%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a><T> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-8" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1513">Source</a><a href="#associatedtype.Output-8" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html" title="trait core::ops::arith::Div">Div</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" title="type core::ops::arith::Div::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.div" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1516-1518">Source</a><a href="#method.div" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#tymethod.div" class="fn">div</a>(self, scale: T) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#associatedtype.Output" title="type core::ops::arith::Div::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Div.html#tymethod.div">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DivAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1539-1544">Source</a><a href="#impl-DivAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html" title="trait core::ops::arith::DivAssign">DivAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html" title="trait core::ops::arith::DivAssign">DivAssign</a><<a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.div_assign-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1541-1543">Source</a><a href="#method.div_assign-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html#tymethod.div_assign" class="fn">div_assign</a>(&mut self, scale: <a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U, U>)</h4></section></summary><div class='docblock'>Performs the <code>/=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html#tymethod.div_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-DivAssign%3CT%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1521-1528">Source</a><a href="#impl-DivAssign%3CT%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html" title="trait core::ops::arith::DivAssign">DivAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html" title="trait core::ops::arith::DivAssign">DivAssign</a><T> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.div_assign" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1523-1527">Source</a><a href="#method.div_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html#tymethod.div_assign" class="fn">div_assign</a>(&mut self, scale: T)</h4></section></summary><div class='docblock'>Performs the <code>/=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.DivAssign.html#tymethod.div_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Floor-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1569-1575">Source</a><a href="#impl-Floor-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="num/trait.Floor.html" title="trait euclid::num::Floor">Floor</a>, U> <a class="trait" href="num/trait.Floor.html" title="trait euclid::num::Floor">Floor</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.floor-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1572-1574">Source</a><a href="#method.floor-1" class="anchor">§</a><h4 class="code-header">fn <a href="num/trait.Floor.html#tymethod.floor" class="fn">floor</a>(self) -> Self</h4></section></summary><div class="docblock"><p>See <a href="struct.Point3D.html#method.floor" title="method euclid::Point3D::floor"><code>Point3D::floor</code></a>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C%5BT;+3%5D%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1651-1655">Source</a><a href="#impl-From%3C%5BT;+3%5D%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">[T; 3]</a>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1652-1654">Source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>([x, y, z]: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">[T; 3]</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3C(T,+T,+T)%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1663-1667">Source</a><a href="#impl-From%3C(T,+T,+T)%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(T, T, T)</a>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1664-1666">Source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(tuple: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(T, T, T)</a>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPoint3D%3CT,+U%3E%3E-for-%5BT;+3%5D" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1645-1649">Source</a><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-%5BT;+3%5D" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>> for <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.array.html">[T; 3]</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1646-1648">Source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(p: <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPoint3D%3CT,+U%3E%3E-for-(T,+T,+T)" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1657-1661">Source</a><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-(T,+T,+T)" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>> for <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.tuple.html">(T, T, T)</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1658-1660">Source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(p: <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPoint3D%3CT,+U%3E%3E-for-HomogeneousVector%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/homogen.rs.html#194-199">Source</a><a href="#impl-From%3CPoint3D%3CT,+U%3E%3E-for-HomogeneousVector%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="num/trait.One.html" title="trait euclid::num::One">One</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><<a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>> for <a class="struct" href="struct.HomogeneousVector.html" title="struct euclid::HomogeneousVector">HomogeneousVector</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/euclid/homogen.rs.html#196-198">Source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(p: <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U>) -> Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#910-919">Source</a><a href="#impl-Hash-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#914-918">Source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a><H: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>>(&self, h: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&mut H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/hash/mod.rs.html#235-237">Source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a><H>(data: &[Self], state: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&mut H</a>)<div class="where">where
|
||
H: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
|
||
Self: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/1.84.0/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mul%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U1%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1496-1503">Source</a><a href="#impl-Mul%3CScale%3CT,+U1,+U2%3E%3E-for-Point3D%3CT,+U1%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a>, U1, U2> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a><<a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U1, U2>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U1></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-7" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1497">Source</a><a href="#associatedtype.Output-7" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" title="type core::ops::arith::Mul::Output">Output</a>, U2></h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.mul-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1500-1502">Source</a><a href="#method.mul-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul" class="fn">mul</a>(self, scale: <a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U1, U2>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" title="type core::ops::arith::Mul::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Mul%3CT%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1478-1485">Source</a><a href="#impl-Mul%3CT%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a><T> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-6" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1479">Source</a><a href="#associatedtype.Output-6" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html" title="trait core::ops::arith::Mul">Mul</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" title="type core::ops::arith::Mul::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.mul" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1482-1484">Source</a><a href="#method.mul" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul" class="fn">mul</a>(self, scale: T) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#associatedtype.Output" title="type core::ops::arith::Mul::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Mul.html#tymethod.mul">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MulAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1505-1510">Source</a><a href="#impl-MulAssign%3CScale%3CT,+U,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html" title="trait core::ops::arith::MulAssign">MulAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html" title="trait core::ops::arith::MulAssign">MulAssign</a><<a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mul_assign-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1507-1509">Source</a><a href="#method.mul_assign-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html#tymethod.mul_assign" class="fn">mul_assign</a>(&mut self, scale: <a class="struct" href="struct.Scale.html" title="struct euclid::Scale">Scale</a><T, U, U>)</h4></section></summary><div class='docblock'>Performs the <code>*=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html#tymethod.mul_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MulAssign%3CT%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1487-1494">Source</a><a href="#impl-MulAssign%3CT%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html" title="trait core::ops::arith::MulAssign">MulAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html" title="trait core::ops::arith::MulAssign">MulAssign</a><T> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.mul_assign" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1489-1493">Source</a><a href="#method.mul_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html#tymethod.mul_assign" class="fn">mul_assign</a>(&mut self, scale: T)</h4></section></summary><div class='docblock'>Performs the <code>*=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.MulAssign.html#tymethod.mul_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Neg-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1384-1391">Source</a><a href="#impl-Neg-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html" title="trait core::ops::arith::Neg">Neg</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html" title="trait core::ops::arith::Neg">Neg</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1385">Source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html" title="trait core::ops::arith::Neg">Neg</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html#associatedtype.Output" title="type core::ops::arith::Neg::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.neg" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1388-1390">Source</a><a href="#method.neg" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html#tymethod.neg" class="fn">neg</a>(self) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html#associatedtype.Output" title="type core::ops::arith::Neg::Output">Output</a></h4></section></summary><div class='docblock'>Performs the unary <code>-</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Neg.html#tymethod.neg">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#901-908">Source</a><a href="#impl-PartialEq-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#905-907">Source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&self, other: &Self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.84.0/src/core/cmp.rs.html#261">Source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&self, other: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&Rhs</a>) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
|
||
and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Round-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1553-1559">Source</a><a href="#impl-Round-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="num/trait.Round.html" title="trait euclid::num::Round">Round</a>, U> <a class="trait" href="num/trait.Round.html" title="trait euclid::num::Round">Round</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.round-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1556-1558">Source</a><a href="#method.round-1" class="anchor">§</a><h4 class="code-header">fn <a href="num/trait.Round.html#tymethod.round" class="fn">round</a>(self) -> Self</h4></section></summary><div class="docblock"><p>See <a href="struct.Point3D.html#method.round" title="method euclid::Point3D::round"><code>Point3D::round</code></a>.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Sub%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1440-1451">Source</a><a href="#impl-Sub%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-4" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1441">Source</a><a href="#associatedtype.Output-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.sub-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1444-1450">Source</a><a href="#method.sub-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub" class="fn">sub</a>(self, other: <a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Sub%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1462-1469">Source</a><a href="#impl-Sub%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><<a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-5" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1463">Source</a><a href="#associatedtype.Output-5" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.sub-2" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1466-1468">Source</a><a href="#method.sub-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub" class="fn">sub</a>(self, other: <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Sub-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1431-1438">Source</a><a href="#impl-Sub-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-3" class="associatedtype trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1432">Source</a><a href="#associatedtype.Output-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><<T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a>, U></h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="toggle method-toggle" open><summary><section id="method.sub" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1435-1437">Source</a><a href="#method.sub" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub" class="fn">sub</a>(self, other: Self) -> Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#associatedtype.Output" title="type core::ops::arith::Sub::Output">Output</a></h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html#tymethod.sub">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1453-1460">Source</a><a href="#impl-SubAssign%3CSize3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a><<a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sub_assign" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1455-1459">Source</a><a href="#method.sub_assign" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign" class="fn">sub_assign</a>(&mut self, other: <a class="struct" href="struct.Size3D.html" title="struct euclid::Size3D">Size3D</a><T, U>)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1471-1476">Source</a><a href="#impl-SubAssign%3CVector3D%3CT,+U%3E%3E-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> + <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.Sub.html" title="trait core::ops::arith::Sub">Sub</a><T, Output = T>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html" title="trait core::ops::arith::SubAssign">SubAssign</a><<a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.sub_assign-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1473-1475">Source</a><a href="#method.sub_assign-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign" class="fn">sub_assign</a>(&mut self, other: <a class="struct" href="struct.Vector3D.html" title="struct euclid::Vector3D">Vector3D</a><T, U>)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a href="https://doc.rust-lang.org/1.84.0/core/ops/arith/trait.SubAssign.html#tymethod.sub_assign">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Zero-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#1546-1551">Source</a><a href="#impl-Zero-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="num/trait.Zero.html" title="trait euclid::num::Zero">Zero</a>, U> <a class="trait" href="num/trait.Zero.html" title="trait euclid::num::Zero">Zero</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section></summary><div class="impl-items"><section id="method.zero-1" class="method trait-impl"><a class="src rightside" href="../src/euclid/point.rs.html#1548-1550">Source</a><a href="#method.zero-1" class="anchor">§</a><h4 class="code-header">fn <a href="num/trait.Zero.html#tymethod.zero" class="fn">zero</a>() -> Self</h4></section></div></details><section id="impl-Copy-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#832">Source</a><a href="#impl-Copy-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U></h3></section><section id="impl-Eq-for-Point3D%3CT,+U%3E" class="impl"><a class="src rightside" href="../src/euclid/point.rs.html#899">Source</a><a href="#impl-Eq-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a>,</div></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-Freeze-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a>,</div></h3></section><section id="impl-RefUnwindSafe-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-RefUnwindSafe-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a>,</div></h3></section><section id="impl-Send-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-Send-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,</div></h3></section><section id="impl-Sync-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-Sync-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,</div></h3></section><section id="impl-Unpin-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-Unpin-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a>,</div></h3></section><section id="impl-UnwindSafe-for-Point3D%3CT,+U%3E" class="impl"><a href="#impl-UnwindSafe-for-Point3D%3CT,+U%3E" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Point3D.html" title="struct euclid::Point3D">Point3D</a><T, U><div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a>,</div></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#138">Source</a><a href="#impl-Any-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<div class="where">where
|
||
T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/any.rs.html#139">Source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&self) -> <a class="struct" href="https://doc.rust-lang.org/1.84.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.84.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#209">Source</a><a href="#impl-Borrow%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#211">Source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#217">Source</a><a href="#impl-BorrowMut%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a><T> for T<div class="where">where
|
||
T: ?<a class="trait" href="https://doc.rust-lang.org/1.84.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/borrow.rs.html#218">Source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&mut self) -> <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.84.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-CloneToUninit-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#273">Source</a><a href="#impl-CloneToUninit-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html" title="trait core::clone::CloneToUninit">CloneToUninit</a> for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone_to_uninit" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/clone.rs.html#275">Source</a><a href="#method.clone_to_uninit" class="anchor">§</a><h4 class="code-header">unsafe fn <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit" class="fn">clone_to_uninit</a>(&self, dst: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.pointer.html">*mut </a><a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.u8.html">u8</a>)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>clone_to_uninit</code>)</span></div></span><div class='docblock'>Performs copy-assignment from <code>self</code> to <code>dst</code>. <a href="https://doc.rust-lang.org/1.84.0/core/clone/trait.CloneToUninit.html#tymethod.clone_to_uninit">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#765">Source</a><a href="#impl-From%3CT%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#768">Source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -> T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#748-750">Source</a><a href="#impl-Into%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#758">Source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -> U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
|
||
<p>That is, this conversion is whatever the implementation of
|
||
<code><a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.From.html" title="trait core::convert::From">From</a><T> for U</code> chooses to do.</p>
|
||
</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#82-84">Source</a><a href="#impl-ToOwned-for-T" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<div class="where">where
|
||
T: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#86">Source</a><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#87">Source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&self) -> T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/alloc/borrow.rs.html#91">Source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&self, target: <a class="primitive" href="https://doc.rust-lang.org/1.84.0/std/primitive.reference.html">&mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.84.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#805-807">Source</a><a href="#impl-TryFrom%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#809">Source</a><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#812">Source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -> <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, <T as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><U>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-T" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#790-792">Source</a><a href="#impl-TryInto%3CU%3E-for-T" class="anchor">§</a><h3 class="code-header">impl<T, U> <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a><U> for T<div class="where">where
|
||
U: <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>,</div></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#794">Source</a><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = <U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.84.0/src/core/convert/mod.rs.html#797">Source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -> <a class="enum" href="https://doc.rust-lang.org/1.84.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a><U, <U as <a class="trait" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a><T>>::<a class="associatedtype" href="https://doc.rust-lang.org/1.84.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>></h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main></body></html> |