2490 lines
83 KiB
HTML
2490 lines
83 KiB
HTML
|
<!DOCTYPE html>
|
||
|
<html lang="en">
|
||
|
<head>
|
||
|
<meta charset="utf-8">
|
||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
<title>IntersectionTests - Cesium Documentation</title>
|
||
|
|
||
|
<!--[if lt IE 9]>
|
||
|
<script src="javascript/html5.js"></script>
|
||
|
<![endif]-->
|
||
|
<link href="styles/jsdoc-default.css" rel="stylesheet">
|
||
|
<link href="styles/prism.css" rel="stylesheet">
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<div id="main">
|
||
|
|
||
|
<h1 class="page-title">
|
||
|
<a href="index.html"><img src="Images/CesiumLogo.png" class="cesiumLogo"></a>
|
||
|
IntersectionTests
|
||
|
<div class="titleCenterer"></div>
|
||
|
</h1>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<section>
|
||
|
|
||
|
<header>
|
||
|
|
||
|
</header>
|
||
|
|
||
|
<article>
|
||
|
<div class="container-overview">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L13">Core/IntersectionTests.js 13</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids.</div>
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h3 class="subsection-title">Methods</h3>
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".grazingAltitudeLocation">
|
||
|
<a href="#.grazingAltitudeLocation" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.grazingAltitudeLocation<span class="signature">(ray, ellipsoid)</span> → <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L662">Core/IntersectionTests.js 662</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Provides the point along the ray which is nearest to the ellipsoid.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ellipsoid</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The ellipsoid.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The nearest planetodetic point on the ray.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".lineSegmentPlane">
|
||
|
<a href="#.lineSegmentPlane" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.lineSegmentPlane<span class="signature">(endPoint0, endPoint1, plane, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L815">Core/IntersectionTests.js 815</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a line segment and a plane.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>endPoint0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
An end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>endPoint1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The other end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>plane</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Plane.html">Plane</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The plane.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The object onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The intersection point or undefined if there is no intersection.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">const origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
|
||
|
const normal = ellipsoid.geodeticSurfaceNormal(origin);
|
||
|
const plane = Cesium.Plane.fromPointNormal(origin, normal);
|
||
|
|
||
|
const p0 = new Cesium.Cartesian3(...);
|
||
|
const p1 = new Cesium.Cartesian3(...);
|
||
|
|
||
|
// find the intersection of the line segment from p0 to p1 and the tangent plane at origin.
|
||
|
const intersection = Cesium.IntersectionTests.lineSegmentPlane(p0, p1, plane);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".lineSegmentSphere">
|
||
|
<a href="#.lineSegmentSphere" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.lineSegmentSphere<span class="signature">(p0, p1, sphere, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Interval.html">Interval</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L381">Core/IntersectionTests.js 381</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection points of a line segment with a sphere.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
An end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The other end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>sphere</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="BoundingSphere.html">BoundingSphere</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The sphere.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Interval.html">Interval</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The result onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The interval containing scalar points along the ray or undefined if there are no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".lineSegmentTriangle">
|
||
|
<a href="#.lineSegmentTriangle" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.lineSegmentTriangle<span class="signature">(v0, v1, p0, p1, p2, <span class="optional">cullBackFaces</span>, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L228">Core/IntersectionTests.js 228</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a line segment and a triangle.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>v0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The an end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>v1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The other end point of the line segment.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The first vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The second vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p2</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The third vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>cullBackFaces</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Boolean</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">false</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
If <code>true</code>, will only compute an intersection with the front face of the triangle
|
||
|
and return undefined for intersections with the back face.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The <code>Cartesian3</code> onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The intersection point or undefined if there is no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".rayEllipsoid">
|
||
|
<a href="#.rayEllipsoid" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.rayEllipsoid<span class="signature">(ray, ellipsoid)</span> → <span class="type-signature returnType"><a href="Interval.html">Interval</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L421">Core/IntersectionTests.js 421</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection points of a ray with an ellipsoid.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ellipsoid</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ellipsoid.html">Ellipsoid</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
The ellipsoid.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The interval containing scalar points along the ray or undefined if there are no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".rayPlane">
|
||
|
<a href="#.rayPlane" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.rayPlane<span class="signature">(ray, plane, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L28">Core/IntersectionTests.js 28</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a ray and a plane.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>plane</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Plane.html">Plane</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The plane.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The object onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The intersection point or undefined if there is no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".raySphere">
|
||
|
<a href="#.raySphere" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.raySphere<span class="signature">(ray, sphere, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Interval.html">Interval</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L350">Core/IntersectionTests.js 350</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection points of a ray with a sphere.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>sphere</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="BoundingSphere.html">BoundingSphere</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The sphere.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Interval.html">Interval</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The result onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The interval containing scalar points along the ray or undefined if there are no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".rayTriangle">
|
||
|
<a href="#.rayTriangle" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.rayTriangle<span class="signature">(ray, p0, p1, p2, <span class="optional">cullBackFaces</span>, <span class="optional">result</span>)</span> → <span class="type-signature returnType"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L185">Core/IntersectionTests.js 185</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
|
||
|
|
||
|
Implements <a href="https://cadxfem.org/inf/Fast%2520MinimumStorage%2520RayTriangle%2520Intersection.pdf"> Fast Minimum Storage Ray/Triangle Intersection</a> by Tomas Moller and Ben Trumbore.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The first vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The second vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p2</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The third vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>cullBackFaces</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Boolean</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">false</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
If <code>true</code>, will only compute an intersection with the front face of the triangle
|
||
|
and return undefined for intersections with the back face.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>result</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The <code>Cartesian3</code> onto which to store the result.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The intersection point or undefined if there is no intersections.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".rayTriangleParametric">
|
||
|
<a href="#.rayTriangleParametric" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.rayTriangleParametric<span class="signature">(ray, p0, p1, p2, <span class="optional">cullBackFaces</span>)</span> → <span class="type-signature returnType">Number</span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L84">Core/IntersectionTests.js 84</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a ray and a triangle as a parametric distance along the input ray. The result is negative when the triangle is behind the ray.
|
||
|
|
||
|
Implements <a href="https://cadxfem.org/inf/Fast%2520MinimumStorage%2520RayTriangle%2520Intersection.pdf"> Fast Minimum Storage Ray/Triangle Intersection</a> by Tomas Moller and Ben Trumbore.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
<th>Default</th>
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>ray</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Ray.html">Ray</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The ray.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The first vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The second vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p2</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
The third vertex of the triangle.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>cullBackFaces</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type">Boolean</span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="default">
|
||
|
|
||
|
<code class="language-javascript">false</code>
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
|
||
|
<span class="optional">optional</span>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
If <code>true</code>, will only compute an intersection with the front face of the triangle
|
||
|
and return undefined for intersections with the back face.</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
The intersection as a parametric distance along the ray, or undefined if there is no intersection.
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="nameContainer">
|
||
|
<h4 class="name" id=".trianglePlaneIntersection">
|
||
|
<a href="#.trianglePlaneIntersection" class="doc-link"></a>
|
||
|
<span class="type-signature attribute-static">static</span> Cesium.IntersectionTests.trianglePlaneIntersection<span class="signature">(p0, p1, p2, plane)</span> → <span class="type-signature returnType">Object</span>
|
||
|
|
||
|
|
||
|
<div class="source-link rightLinks">
|
||
|
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/IntersectionTests.js#L885">Core/IntersectionTests.js 885</a>
|
||
|
</div>
|
||
|
|
||
|
|
||
|
</h4>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="description">
|
||
|
Computes the intersection of a triangle and a plane
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<table class="params">
|
||
|
<thead>
|
||
|
<tr>
|
||
|
|
||
|
<th>Name</th>
|
||
|
|
||
|
|
||
|
<th>Type</th>
|
||
|
|
||
|
|
||
|
|
||
|
<th class="last">Description</th>
|
||
|
</tr>
|
||
|
</thead>
|
||
|
|
||
|
<tbody>
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p0</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
First point of the triangle</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p1</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
Second point of the triangle</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>p2</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Cartesian3.html">Cartesian3</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
Third point of the triangle</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
|
||
|
<tr>
|
||
|
|
||
|
<td class="name"><code>plane</code></td>
|
||
|
|
||
|
|
||
|
<td class="type">
|
||
|
|
||
|
|
||
|
<span class="param-type"><a href="Plane.html">Plane</a></span>
|
||
|
|
||
|
|
||
|
|
||
|
</td>
|
||
|
|
||
|
|
||
|
|
||
|
<td class="description last">
|
||
|
|
||
|
Intersection plane</td>
|
||
|
</tr>
|
||
|
|
||
|
|
||
|
</tbody>
|
||
|
</table>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Returns:</h5>
|
||
|
|
||
|
|
||
|
<div class="param-desc">
|
||
|
An object with properties <code>positions</code> and <code>indices</code>, which are arrays that represent three triangles that do not cross the plane. (Undefined if no intersection exists)
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<dl class="details">
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<h5>Example:</h5>
|
||
|
|
||
|
<pre><code class="language-javascript">const origin = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883);
|
||
|
const normal = ellipsoid.geodeticSurfaceNormal(origin);
|
||
|
const plane = Cesium.Plane.fromPointNormal(origin, normal);
|
||
|
|
||
|
const p0 = new Cesium.Cartesian3(...);
|
||
|
const p1 = new Cesium.Cartesian3(...);
|
||
|
const p2 = new Cesium.Cartesian3(...);
|
||
|
|
||
|
// convert the triangle composed of points (p0, p1, p2) to three triangles that don't cross the plane
|
||
|
const triangles = Cesium.IntersectionTests.trianglePlaneIntersection(p0, p1, p2, plane);</code></pre>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</dl>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</article>
|
||
|
|
||
|
</section>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<footer>
|
||
|
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.10</a>
|
||
|
</footer>
|
||
|
</div>
|
||
|
|
||
|
<div class="nav">
|
||
|
<div class="menu">
|
||
|
<input type="text" class="classFilter" id="ClassFilter" placeholder="Search">
|
||
|
<ul id="ClassList"><li data-name="Animation"><a href="Animation.html">Animation</a></li><li data-name="AnimationViewModel"><a href="AnimationViewModel.html">AnimationViewModel</a></li><li data-name="Appearance"><a href="Appearance.html">Appearance</a></li><li data-name="ArcGisMapServerImageryProvider"><a href="ArcGisMapServerImageryProvider.html">ArcGisMapServerImageryProvider</a></li><li data-name="ArcGISTiledElevationTerrainProvider"><a href="ArcGISTiledElevationTerrainProvider.html">ArcGISTiledElevationTerrainProvider</a></li><li data-name="ArcType"><a href="global.html#ArcType">ArcType</a></li><li data-name="AssociativeArray"><a href="AssociativeArray.html">AssociativeArray</a></li><li data-name="Axis"><a href="global.html#Axis">Axis</a></li><li data-name="AxisAlignedBoundingBox"><a href="AxisAlignedBoundingBox.html">AxisAlignedBoundingBox</a></li><li data-name="backFaceCulling"><a href="global.html#backFaceCulling">backFaceCulling</a></li><li data-name="barycentricCoordinates"><a href="global.html#barycentricCoordinates">barycentricCoordinates</a></li><li data-name="BaseLayerPicker"><a href="BaseLayerPicker.html">BaseLayerPicker</a></li><li data-name="BaseLayerPickerViewModel"><a href="BaseLayerPickerViewModel.html">BaseLayerPickerViewModel</a></li><li data-name="Billboard"><a href="Billboard.html">Billboard</a></li><li data-name="BillboardCollection"><a href="BillboardCollection.html">BillboardCollection</a></li><li data-name="BillboardGraphics"><a href="BillboardGraphics.html">BillboardGraphics</a></li><li data-name="BillboardVisualizer"><a href="BillboardVisualizer.html">BillboardVisualizer</a></li><li data-name="binarySearch"><a href="global.html#binarySearch">binarySearch</a></li><li data-name="binarySearchComparator"><a href="global.html#binarySearchComparator">binarySearchComparator</a></li><li data-name="BingMapsGeocoderService"><a href="BingMapsGeocoderService.html">BingMapsGeocoderService</a></li><li data-name="BingMapsImageryProvider"><a href="BingMapsImageryProvider.html">BingMapsImageryProvider</a></li><li data-name="BingMapsStyle"><a href="global.html#BingMapsStyle">BingMapsStyle</a></li><li data-name="BlendEquation"><a href="global.html#BlendEquation">BlendEquation</a></li><li data-name="BlendFunction"><a href="global.html#BlendFunction">BlendFunction</a></li><li data-name="BlendingState"><a href="BlendingState.html">BlendingState</a></li><li data-name="BlendOption"><a href="global.html#BlendOption">BlendOption</a></li><li data-name="BoundingRectangle"><a href="BoundingRectangle.html">BoundingRectangle</a></li><li data-name="BoundingSphere"><a href="BoundingSphere.html">BoundingSphere</a></li><li data-name="boundingSphere"><a href="global.html#boundingSphere">boundingSphere</a></li><li data-name="BoxEmitter"><a href="BoxEmitter.html">BoxEmitter</a></li><li data-name="BoxGeometry"><a href="BoxGeometry.html">BoxGeometry</a></li><li data-name="BoxGeometryUpdater"><a href="BoxGeometryUpdater.html">BoxGeometryUpdater</a></li><li data-name="BoxGraphics"><a href="BoxGraphics.html">BoxGraphics</a></li><li data-name="BoxOutlineGeometry"><a href="BoxOutlineGeometry.html">BoxOutlineGeometry</a></li><li data-name="buildModuleUrl"><a href="global.html#buildModuleUrl">buildModuleUrl</a></li><li data-name="CallbackProperty"><a href="CallbackProperty.html">CallbackProperty</a></li><li data-name="Camera"><a href="Camera.html">Camera</a></li><li data-name="CameraEventAggregator"><a href="CameraEventAggregator.html">CameraEventAggregator</a></li><li data-name="CameraEventType"><a href="global.html#CameraEventType">CameraEventType</a></li><li data-name="cancelAnimationFrame"><a href="global.html#cancelAnimationFrame">cancelAnimationFrame</a></li><li data-name="Cartesian2"><a href="Cartesian2.html">Cartesian2</a></li><li data-name="Cartesian3"><a href="Cartesian3.html">Cartesian3</a></li><li data-name="Cartesian4"><a href="Cartesian4.html">Cartesian4</a></li><li data-name="Cartographic"><a href="Cartographic.html">Cartographic</a></li><li data-name="CartographicGeocoderService"><a href="CartographicGeocoderServic
|
||
|
</div>
|
||
|
</div>
|
||
|
|
||
|
<script>
|
||
|
if (window.frameElement) {
|
||
|
document.body.className = 'embedded';
|
||
|
|
||
|
var ele = document.createElement('a');
|
||
|
ele.className = 'popout';
|
||
|
ele.target = '_blank';
|
||
|
ele.href = window.location.href;
|
||
|
ele.title = 'Pop out';
|
||
|
document.getElementById('main').appendChild(ele);
|
||
|
}
|
||
|
|
||
|
// Set targets on external links. Sandcastle and GitHub shouldn't be embedded in any iframe.
|
||
|
Array.prototype.forEach.call(document.getElementsByTagName('a'), function(a) {
|
||
|
if (/^https?:/i.test(a.getAttribute('href'))) {
|
||
|
a.target='_blank';
|
||
|
}
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<script src="javascript/prism.js"></script>
|
||
|
<script src="javascript/cesiumDoc.js"></script>
|
||
|
|
||
|
</body>
|
||
|
</html>
|