import type { ClonableMixin } from "../../core/Clonable.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; export interface MeshLocalVertexSpaceProperties extends Partial> {} /** * Represents a [vertex space](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) that interprets * [Mesh vertex positions](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position) as x, y, z values measured in meters * from the source model's own [0,0,0]. * * A vertex space is the [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) object that tells the SDK how to read the * x, y, z positions stored in [Mesh.vertexAttributes.position](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshVertexAttributes/#position). * Use MeshLocalVertexSpace when those positions describe the shape of a source model relative to the model's own * [0,0,0], and you want to place that model in a global [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). * * The [vertex space's origin](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshLocalVertexSpace/#origin) is the [x, y, z] coordinate where the * source model's [0,0,0] lands. The origin values use the coordinate system identified by * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference). For example, with WGS84 the origin contains longitude, * latitude, and elevation values; with Web Mercator it contains Web Mercator x, y, and z values. * * In a global scene with WGS84, CGCS2000, or Web Mercator, the SDK places the model on a * [local tangent plane](https://en.wikipedia.org/wiki/Local_tangent_plane_coordinates) at the origin. The x-axis points * east, the y-axis points north, and the z-axis points up. * * The word local refers to local coordinates from the source model. It does not mean this vertex space is used for * a [local](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#viewingMode) SceneView. For local scenes, use * [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) and a * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) that matches * [SceneView.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#spatialReference). * * @since 4.27 * @see [Mesh.vertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#vertexSpace) * @see [MeshGeoreferencedVertexSpace](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshGeoreferencedVertexSpace/) */ export default class MeshLocalVertexSpace extends MeshLocalVertexSpaceSuperclass { constructor(properties?: MeshLocalVertexSpaceProperties); /** * Coordinates of the place where the source model's local [0,0,0] is anchored. * * The array is [x, y, z] in the coordinate system identified by the * [Mesh.spatialReference](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#spatialReference) property of the Mesh geometry that uses this vertex * space. The vertex position [0,0,0] coincides with the vertex space's origin before any * [Mesh.transform](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/#transform) is applied. */ accessor origin: readonly [ number, number, number ]; /** Type of the vertex space. */ readonly type: "local"; } declare const MeshLocalVertexSpaceSuperclass: typeof JSONSupport & typeof ClonableMixin