meshUtils

AMD: require(["geoscene/geometry/support/meshUtils"], (meshUtils) => { /* 代码 */ });
ESM: import * as meshUtils from "@geoscene/core/geometry/support/meshUtils";
对象: geoscene/geometry/support/meshUtils
起始版本: GeoScene API for JavaScript 4.7

用于处理 Mesh 对象的各种实用程序和便利功能。

方法概览

名称 返回类型 描述 对象
Promise<ElevationSampler>更多信息

从网格创建高程采样器。

更多信息meshUtils
Promise<Mesh>更多信息

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

更多信息meshUtils
VertexAttributes更多信息

在笛卡尔坐标系中指定的地理参考顶点。

更多信息meshUtils
Mesh更多信息

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

更多信息meshUtils
VertexAttributes更多信息

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

更多信息meshUtils

方法详情

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

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

参数:
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

返回:
类型 描述
Promise<Mesh> 解析为表示指定范围内的高程数据的网格几何图形的承诺。
示例:
// 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

位置缓冲区。

normal Float32Array
optional

普通缓冲区。

tangent Float32Array
optional

切线缓冲区。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.