meshUtils

AMD: require(["geoscene/geometry/support/meshUtils"], (meshUtils) => { /* code goes here */ });
ESM: import * as meshUtils from "@geoscene/core/geometry/support/meshUtils";
类: geoscene/geometry/support/meshUtils
起始版本:GeoScene Maps SDK for JavaScript 4.7

用于使用 Mesh 对象的各种实用程序和便利函数。

方法概述

名称 返回值类值 描述 对象
Promise<ElevationSampler>

从网格创建高程采样器。

更多详情
meshUtils
Promise<Mesh>

通过从常规格网上的高程服务中采样高程数据来创建网格几何。

更多详情
meshUtils
VertexAttributes

地理配准笛卡尔坐标系中指定的折点。

更多详情
meshUtils
Mesh

将多个网格合并为一个网格。

更多详情
meshUtils
VertexAttributes

将地理参考折点投影到笛卡尔坐标系。

更多详情
meshUtils

方法详细说明

createElevationSampler(mesh, options){Promise<ElevationSampler>}
起始版本:GeoScene Maps SDK for JavaScript 4.12

从网格创建高程采样器。采样器可用于查询网格表面上的高程值。高程采样器使用 Mesh 几何的快照,如果在创建采样器后网格发生更改,则不会更新。

参数
mesh Mesh

用于创建高程采样器的网格几何。

options Object
optional

附加选项。

规范
noDataValue Number
optional
默认值:0

没有可用数据时使用的值。

返回
类型 描述
Promise<ElevationSampler> 高程采样器。
createFromElevation(source, extent, options){Promise<Mesh>}

通过从常规格网上的高程服务中采样高程数据来创建网格几何。

参数

从中查询高程数据的源。

extent Extent

从中创建网格的范围。

options Object
optional

附加选项。

params.material MeshMaterial
optional

用于网格的材料。

options.demResolution Number|String
optional
默认值:auto

控制要从中采样高程数据的水平分辨率 (像元大小),以米为单位 (默认为 auto)。有关不同设置的更多详细信息,请参见 ElevationLayer.queryElevation

options.signal AbortSignal
optional

可用于中止异步任务的信号对象。

返回
类型 描述
Promise<Mesh> 解析为表示指定范围内的高程数据的网格几何的 promise。
示例
// Create a mesh by sampling the ground
meshUtils.createFromElevation(map.ground, extent)
    .then(function(mesh) {
      // Do something with the mesh
    });

// Create a mesh by sampling the ground surface currently in view
meshUtils.createFromElevation(view.groundView.elevationSampler, view.extent)
    .then(function(mesh) {
      // Do something with the mesh
    });
georeference(vertexAttributes, location, options){VertexAttributes}

地理配准笛卡尔坐标系中指定的折点。这在转换通常没有地理参考的通用 3D 模型网格时很有用。此方法对网格折点属性进行操作,并将位置和法向量 (如果指定) 从局部 (0, 0, 0) 笛卡尔系统转换为指定 location 处的适当地理参考坐标。源数据的单位默认为 location 的空间参考单位。如果坐标系为 WGS84,则默认使用公制单位。源数据的单位可以在附加 options 中指定,在这种情况下,将自动应用线性单位比例以使源数据采用空间参考单位。

参数
规范
vertexAttributes VertexAttributes

进行地理配准的位置和法向量缓冲区。

location Point

对位置和法向量缓冲区进行地理配准的位置。

options Object
optional

附加选项。

规范
geographic Boolean
optional

指示是相对于地球还是投影坐标系进行地理配准。

unit String
optional

表示源数据的单位。线性比例将应用于位置属性,以将源数据转换为对网格进行地理配准的空间参考单位。默认情况下,假定源数据的单位与目标空间参考相同。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

返回
类型 描述
VertexAttributes 地理配准的位置和法向量缓冲区。
示例
let geoVertexAttributes = meshUtils.georeference(vertexAttributes, location);
let mesh = new Mesh({
  vertexAttributes: geoVertexAttributes,
  spatialReference: location.spatialReference
});
merge(geometries){Mesh}

将多个网格合并为一个网格。所有网格几何必须位于相同的空间参考中。

参数
geometries Mesh[]

一个或多个网格。

返回
类型 描述
Mesh 合并的网格几何。
示例
let mergedMesh = meshUtils.merge([mesh1, mesh2]);
ungeoreference(vertexAttributes, location, options){VertexAttributes}

将地理参考折点投影到笛卡尔坐标系。这对于转换现有场景几何非常有用,以便可以将其用作生成新 3D 网格的源材料。此方法对网格折点属性进行操作,并将位置和法向量 (如果指定) 从指定 location 处的地理参考坐标转换为局部 (0, 0, 0) 笛卡尔系统。结果数据的单位默认为 location 的空间参考单位。如果坐标系为 WGS84,则默认使用公制单位。结果数据的单位可以在附加 options 中指定,在这种情况下,将自动应用线性单位比例。

参数
规范
vertexAttributes VertexAttributes

地理配准的位置和法向量缓冲区。

location Point

将位置和法向量缓冲区地理配准至的位置。

options Object
optional

附加选项。

规范
geographic Boolean
optional

指示坐标是相对于地球还是投影坐标系进行地理配准。

unit String
optional

表示结果数据的单位。线性比例将应用于位置属性以将源数据转换为指定的单位。默认情况下,结果数据的单位将与源空间参考相同。

可能的值"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"

返回
类型 描述
VertexAttributes 局部笛卡尔坐标系中的位置和法向量缓冲区。
示例
let vertexAttributes = meshUtils.ungeoreference(geoVertexAttributes, location);

类型定义

VertexAttributes Object

表示网格的位置和法向量折点属性缓冲区。

属性
position Float64Array

位置缓冲区。

optional

法向量缓冲区。

tangent Float32Array
optional

切线缓冲区。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息