require(["esri/geometry/support/meshUtils"], function(meshUtils) { /* code goes here */ });
Object: esri/geometry/support/meshUtils
Since: ArcGIS API for JavaScript 4.7

Various utilities and convenience functions for working with Mesh objects.

Method Overview

NameReturn TypeSummaryObject
Promise<Mesh>

Creates a mesh geometry by sampling elevation data from an elevation service on a regular grid.

more details
more detailsmeshUtils
VertexAttributes

Georeferences vertices specified in a Cartesian coordinate system.

more details
more detailsmeshUtils
Mesh

Merges multiple meshes into a single mesh.

more details
more detailsmeshUtils
VertexAttributes

Projects georeferenced vertices to a Cartesian coordinate system.

more details
more detailsmeshUtils

Method Details

createFromElevation(source, extent, params){Promise<Mesh>}

Creates a mesh geometry by sampling elevation data from an elevation service on a regular grid.

Parameters:
Specification:

The source from which to query the elevation data.

extent Extent

The extent from which to create the mesh.

params Object
optional

Optional parameters.

Specification:
material Object
optional

The material.

Specification:
optional

The material color.

demResolution Number|String
optional
Default Value: auto

Controls the horizontal resolution (cell size) in meters from which elevation data is sampled (defaults to auto). See ElevationLayer.queryElevation for more details on the different settings.

Returns:
TypeDescription
Promise<Mesh>A promise that resolves to a mesh geometry representing the elevation data at the specified extent.
Example:
// 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, params){VertexAttributes}

Georeferences vertices specified in a Cartesian coordinate system. This is useful when converting general 3D model meshes not typically georeferenced. This method operates on mesh vertex attributes and will convert positions and normals (if specified) from a local (0, 0, 0) Cartesian system to the properly georeferenced coordinates at the specified location. The unit of the source data defaults to the unit of the location's spatial reference. If the coordinate system is WGS84, metric units are used as the default. The unit of the source data may be specified in the additional params in which case a linear unit scale will automatically be applied to bring the source data in the unit of the spatial reference.

Parameters:
Specification:
vertexAttributes VertexAttributes

The position and normal buffers to georeference.

location Point

The location at which to georeference the position and normal buffers.

params Object
optional

Optional parameters.

Specification:
geographic Boolean
optional

Indicates whether to georeference relative to the globe or the projected coordinate system.

unit String
optional

Indicates the unit of the source data. A linear scale will be applied to the position attributes to convert the source data to the unit of the spatial reference at which the mesh is being georeferenced. By default the unit of the source data is assumed to be the same as the target spatial reference.

Possible Values: millimeters | centimeters | decimeters | meters | kilometers | inches | feet | yards | miles | nautical-miles | us-feet

Returns:
TypeDescription
VertexAttributesThe georeferenced position and normal buffers.
Example:
var geoVertexAttributes = meshUtils.georeference(vertexAttributes, location);
var mesh = new Mesh({
  vertexAttributes: geoVertexAttributes,
  spatialReference: location.spatialReference
});
merge(geometries){Mesh}

Merges multiple meshes into a single mesh. All mesh geometries must be in the same spatial reference.

Parameter:
geometries Mesh[]

One or more meshes.

Returns:
TypeDescription
MeshThe merged mesh geometry.
Example:
var mergedMesh = meshUtils.merge([mesh1, mesh2]);
ungeoreference(vertexAttributes, location, params){VertexAttributes}

Projects georeferenced vertices to a Cartesian coordinate system. This is useful for converting existing scene geometry so that it can be used as source material for generating new 3D meshes. This method operates on mesh vertex attributes and will convert positions and normals (if specified) from georeferenced coordinates at the specified location to a local (0, 0, 0) Cartesian system. The unit of the resulting data defaults to the unit of the location's spatial reference. If the coordinate system is WGS84, metric units are used as the default. The unit of the resulting data may be specified in the additional params in which case a linear unit scale will automatically be applied.

Parameters:
Specification:
vertexAttributes VertexAttributes

The georeferenced position and normal buffers.

location Point

The location to which the position and normal buffers are georeferenced.

params Object
optional

Optional parameters.

Specification:
geographic Boolean
optional

Indicates whether the coordinates are georeferenced relative to the globe or the projected coordinate system.

unit String
optional

Indicates the unit of the resulting data. A linear scale will be applied to the position attributes to convert the source data to the specified unit. By default the unit of the resulting data will be the same as the source spatial reference.

Possible Values: millimeters | centimeters | decimeters | meters | kilometers | inches | feet | yards | miles | nautical-miles | us-feet

Returns:
TypeDescription
VertexAttributesThe position and normal buffers in a local Cartesian coordinate system.
Example:
var vertexAttributes = meshUtils.ungeoreference(geoVertexAttributes, location);

Type Definitions

VertexAttributes Object

Represents the position and normal vertex attribute buffers of a mesh.

Properties:
position Float64Array

The position buffer.

optional

The normal buffer.

API Reference search results

NameTypeModule
Loading...