UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

45 lines (43 loc) 1.84 kB
import type { ClonableMixin } from "../../core/Clonable.js"; import type { JSONSupport } from "../../core/JSONSupport.js"; export interface MeshTextureTransformProperties extends Partial<Pick<MeshTextureTransform, "offset" | "rotation" | "scale">> {} /** * MeshTextureTransform represents a transformation of UV mesh coordinates used to sample a * [MeshTexture](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshTexture/). The transformation includes an offset, * rotation and scale. Texture transformations can be used to optimize reuse of textures, for * example, by packing many images into a single texture "atlas" and using the texture transform * offset and scale to sample a specific region within this larger texture. * * @since 4.27 * @see [MeshTexture](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshTexture/) * @see [MeshMaterial](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshMaterial/) * @see [Mesh](https://developers.arcgis.com/javascript/latest/references/core/geometry/Mesh/) */ export default class MeshTextureTransform extends MeshTextureTransformSuperclass { constructor(properties?: MeshTextureTransformProperties); /** * The offset of the UV coordinate origin as a factor of the texture dimensions. * * @default [0, 0] */ accessor offset: [ number, number ]; /** * The rotation of the UV coordinates in degrees, counterclockwise around the origin. * * @default 0 */ accessor rotation: number; /** * The scale factor applied to the components of the UV coordinates. * * @default [1, 1] */ accessor scale: [ number, number ]; } declare const MeshTextureTransformSuperclass: typeof JSONSupport & typeof ClonableMixin