qd-changjing/public/static/Build/Documentation/QuantizedMeshTerrainData.html

1856 lines
76 KiB
HTML
Raw Normal View History

2022-07-05 16:56:29 +08:00
<!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>QuantizedMeshTerrainData - 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>
QuantizedMeshTerrainData
<div class="titleCenterer"></div>
</h1>
<section>
<header>
</header>
<article>
<div class="container-overview">
<div class="nameContainer">
<h4 class="name" id="QuantizedMeshTerrainData">
<a href="#QuantizedMeshTerrainData" class="doc-link"></a>
new Cesium.QuantizedMeshTerrainData<span class="signature">(options)</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L95">Core/QuantizedMeshTerrainData.js 95</a>
</div>
</h4>
</div>
<div class="description">
Terrain data for a single tile where the terrain data is represented as a quantized mesh. A quantized
mesh consists of three vertex attributes, longitude, latitude, and height. All attributes are expressed
as 16-bit values in the range 0 to 32767. Longitude and latitude are zero at the southwest corner
of the tile and 32767 at the northeast corner. Height is zero at the minimum height in the tile
and 32767 at the maximum height in the tile.
</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>options</code></td>
<td class="type">
<span class="param-type">Object</span>
</td>
<td class="description last">
Object with the following properties:
<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>quantizedVertices</code></td>
<td class="type">
<span class="param-type">Uint16Array</span>
</td>
<td class="default">
</td>
<td class="description last">
The buffer containing the quantized mesh.</td>
</tr>
<tr>
<td class="name"><code>indices</code></td>
<td class="type">
<span class="param-type">Uint16Array</span>
|
<span class="param-type">Uint32Array</span>
</td>
<td class="default">
</td>
<td class="description last">
The indices specifying how the quantized vertices are linked
together into triangles. Each three indices specifies one triangle.</td>
</tr>
<tr>
<td class="name"><code>minimumHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The minimum terrain height within the tile, in meters above the ellipsoid.</td>
</tr>
<tr>
<td class="name"><code>maximumHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The maximum terrain height within the tile, in meters above the ellipsoid.</td>
</tr>
<tr>
<td class="name"><code>boundingSphere</code></td>
<td class="type">
<span class="param-type"><a href="BoundingSphere.html">BoundingSphere</a></span>
</td>
<td class="default">
</td>
<td class="description last">
A sphere bounding all of the vertices in the mesh.</td>
</tr>
<tr>
<td class="name"><code>orientedBoundingBox</code></td>
<td class="type">
<span class="param-type"><a href="OrientedBoundingBox.html">OrientedBoundingBox</a></span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
An OrientedBoundingBox bounding all of the vertices in the mesh.</td>
</tr>
<tr>
<td class="name"><code>horizonOcclusionPoint</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 horizon occlusion point of the mesh. If this point
is below the horizon, the entire tile is assumed to be below the horizon as well.
The point is expressed in ellipsoid-scaled coordinates.</td>
</tr>
<tr>
<td class="name"><code>westIndices</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The indices of the vertices on the western edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>southIndices</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The indices of the vertices on the southern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>eastIndices</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The indices of the vertices on the eastern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>northIndices</code></td>
<td class="type">
<span class="param-type">Array.&lt;Number></span>
</td>
<td class="default">
</td>
<td class="description last">
The indices of the vertices on the northern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>westSkirtHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The height of the skirt to add on the western edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>southSkirtHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The height of the skirt to add on the southern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>eastSkirtHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The height of the skirt to add on the eastern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>northSkirtHeight</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
</td>
<td class="description last">
The height of the skirt to add on the northern edge of the tile.</td>
</tr>
<tr>
<td class="name"><code>childTileMask</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="default">
<code class="language-javascript">15</code>
</td>
<td class="description last">
<span class="optional">optional</span>
A bit mask indicating which of this tile's four children exist.
If a child's bit is set, geometry will be requested for that tile as well when it
is needed. If the bit is cleared, the child tile is not requested and geometry is
instead upsampled from the parent. The bit values are as follows:
<table>
<tr><th>Bit Position</th><th>Bit Value</th><th>Child Tile</th></tr>
<tr><td>0</td><td>1</td><td>Southwest</td></tr>
<tr><td>1</td><td>2</td><td>Southeast</td></tr>
<tr><td>2</td><td>4</td><td>Northwest</td></tr>
<tr><td>3</td><td>8</td><td>Northeast</td></tr>
</table></td>
</tr>
<tr>
<td class="name"><code>createdByUpsampling</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>
True if this instance was created by upsampling another instance;
otherwise, false.</td>
</tr>
<tr>
<td class="name"><code>encodedNormals</code></td>
<td class="type">
<span class="param-type">Uint8Array</span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
The buffer containing per vertex normals, encoded using 'oct' encoding</td>
</tr>
<tr>
<td class="name"><code>waterMask</code></td>
<td class="type">
<span class="param-type">Uint8Array</span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
The buffer containing the watermask.</td>
</tr>
<tr>
<td class="name"><code>credits</code></td>
<td class="type">
<span class="param-type">Array.&lt;<a href="Credit.html">Credit</a>></span>
</td>
<td class="default">
</td>
<td class="description last">
<span class="optional">optional</span>
Array of credits for this tile.</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<dl class="details">
<h5>Example:</h5>
<pre><code class="language-javascript">const data = new Cesium.QuantizedMeshTerrainData({
minimumHeight : -100,
maximumHeight : 2101,
quantizedVertices : new Uint16Array([// order is SW NW SE NE
// longitude
0, 0, 32767, 32767,
// latitude
0, 32767, 0, 32767,
// heights
16384, 0, 32767, 16384]),
indices : new Uint16Array([0, 3, 1,
0, 2, 3]),
boundingSphere : new Cesium.BoundingSphere(new Cesium.Cartesian3(1.0, 2.0, 3.0), 10000),
orientedBoundingBox : new Cesium.OrientedBoundingBox(new Cesium.Cartesian3(1.0, 2.0, 3.0), Cesium.Matrix3.fromRotationX(Cesium.Math.PI, new Cesium.Matrix3())),
horizonOcclusionPoint : new Cesium.Cartesian3(3.0, 2.0, 1.0),
westIndices : [0, 1],
southIndices : [0, 1],
eastIndices : [2, 3],
northIndices : [1, 3],
westSkirtHeight : 1.0,
southSkirtHeight : 1.0,
eastSkirtHeight : 1.0,
northSkirtHeight : 1.0
});</code></pre>
<h5>See:</h5>
<ul class="see-list">
<li><a href="TerrainData.html">TerrainData</a></li>
<li><a href="HeightmapTerrainData.html">HeightmapTerrainData</a></li>
<li><a href="GoogleEarthEnterpriseTerrainData.html">GoogleEarthEnterpriseTerrainData</a></li>
</ul>
</dl>
</div>
<h3 class="subsection-title">Members</h3>
<div class="nameContainer">
<h4 class="name" id="credits">
<a href="#credits" class="doc-link"></a>
credits<span class="type-signature"> : Array.&lt;<a href="Credit.html">Credit</a>></span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L217">Core/QuantizedMeshTerrainData.js 217</a>
</div>
</h4>
</div>
<div class="description">
An array of credits for this tile.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="waterMask">
<a href="#waterMask" class="doc-link"></a>
waterMask<span class="type-signature"> : Uint8Array|HTMLImageElement|HTMLCanvasElement</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L229">Core/QuantizedMeshTerrainData.js 229</a>
</div>
</h4>
</div>
<div class="description">
The water mask included in this terrain data, if any. A water mask is a rectangular
Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land.
Values in between 0 and 255 are allowed as well to smoothly blend between land and water.
</div>
<dl class="details">
</dl>
<h3 class="subsection-title">Methods</h3>
<div class="nameContainer">
<h4 class="name" id="interpolateHeight">
<a href="#interpolateHeight" class="doc-link"></a>
interpolateHeight<span class="signature">(rectangle, longitude, latitude)</span> &rarr; <span class="type-signature returnType">Number</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L572">Core/QuantizedMeshTerrainData.js 572</a>
</div>
</h4>
</div>
<div class="description">
Computes the terrain height at a specified longitude and latitude.
</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>rectangle</code></td>
<td class="type">
<span class="param-type"><a href="Rectangle.html">Rectangle</a></span>
</td>
<td class="description last">
The rectangle covered by this terrain data.</td>
</tr>
<tr>
<td class="name"><code>longitude</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The longitude in radians.</td>
</tr>
<tr>
<td class="name"><code>latitude</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The latitude in radians.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
The terrain height at the specified position. The position is clamped to
the rectangle, so expect incorrect results for positions far outside the rectangle.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="isChildAvailable">
<a href="#isChildAvailable" class="doc-link"></a>
isChildAvailable<span class="signature">(thisX, thisY, childX, childY)</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L730">Core/QuantizedMeshTerrainData.js 730</a>
</div>
</h4>
</div>
<div class="description">
Determines if a given child tile is available, based on the
<code>HeightmapTerrainData.childTileMask</code>. The given child tile coordinates are assumed
to be one of the four children of this tile. If non-child tile coordinates are
given, the availability of the southeast child tile is returned.
</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>thisX</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The tile X coordinate of this (the parent) tile.</td>
</tr>
<tr>
<td class="name"><code>thisY</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The tile Y coordinate of this (the parent) tile.</td>
</tr>
<tr>
<td class="name"><code>childX</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The tile X coordinate of the child tile to check for availability.</td>
</tr>
<tr>
<td class="name"><code>childY</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The tile Y coordinate of the child tile to check for availability.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
True if the child tile is available; otherwise, false.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="upsample">
<a href="#upsample" class="doc-link"></a>
upsample<span class="signature">(tilingScheme, thisX, thisY, thisLevel, descendantX, descendantY, descendantLevel)</span> &rarr; <span class="type-signature returnType">Promise.&lt;<a href="QuantizedMeshTerrainData.html">QuantizedMeshTerrainData</a>>|undefined</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L432">Core/QuantizedMeshTerrainData.js 432</a>
</div>
</h4>
</div>
<div class="description">
Upsamples this terrain data for use by a descendant tile. The resulting instance will contain a subset of the
vertices in this instance, interpolated if necessary.
</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>tilingScheme</code></td>
<td class="type">
<span class="param-type"><a href="TilingScheme.html">TilingScheme</a></span>
</td>
<td class="description last">
The tiling scheme of this terrain data.</td>
</tr>
<tr>
<td class="name"><code>thisX</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The X coordinate of this tile in the tiling scheme.</td>
</tr>
<tr>
<td class="name"><code>thisY</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The Y coordinate of this tile in the tiling scheme.</td>
</tr>
<tr>
<td class="name"><code>thisLevel</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The level of this tile in the tiling scheme.</td>
</tr>
<tr>
<td class="name"><code>descendantX</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The X coordinate within the tiling scheme of the descendant tile for which we are upsampling.</td>
</tr>
<tr>
<td class="name"><code>descendantY</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The Y coordinate within the tiling scheme of the descendant tile for which we are upsampling.</td>
</tr>
<tr>
<td class="name"><code>descendantLevel</code></td>
<td class="type">
<span class="param-type">Number</span>
</td>
<td class="description last">
The level within the tiling scheme of the descendant tile for which we are upsampling.</td>
</tr>
</tbody>
</table>
<h5>Returns:</h5>
<div class="param-desc">
A promise for upsampled heightmap terrain data for the descendant tile,
or undefined if too many asynchronous upsample operations are in progress and the request has been
deferred.
</div>
<dl class="details">
</dl>
<div class="nameContainer">
<h4 class="name" id="wasCreatedByUpsampling">
<a href="#wasCreatedByUpsampling" class="doc-link"></a>
wasCreatedByUpsampling<span class="signature">()</span> &rarr; <span class="type-signature returnType">Boolean</span>
<div class="source-link rightLinks">
<a href="https://github.com/CesiumGS/cesium/blob/1.91/Source/Core/QuantizedMeshTerrainData.js#L770">Core/QuantizedMeshTerrainData.js 770</a>
</div>
</h4>
</div>
<div class="description">
Gets a value indicating whether or not this terrain data was created by upsampling lower resolution
terrain data. If this value is false, the data was obtained from some other source, such
as by downloading it from a remote server. This method should return true for instances
returned from a call to <a href="HeightmapTerrainData.html#upsample"><code>HeightmapTerrainData#upsample</code></a>.
</div>
<h5>Returns:</h5>
<div class="param-desc">
True if this instance was created by upsampling; otherwise, false.
</div>
<dl class="details">
</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>