@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
TypeScript
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