UNPKG

awayjs-display

Version:
87 lines (86 loc) 3.13 kB
import AttributesBuffer from "awayjs-core/lib/attributes/AttributesBuffer"; import AttributesView from "awayjs-core/lib/attributes/AttributesView"; import Short3Attributes from "awayjs-core/lib/attributes/Short3Attributes"; import Box from "awayjs-core/lib/geom/Box"; import Sphere from "awayjs-core/lib/geom/Sphere"; import Matrix3D from "awayjs-core/lib/geom/Matrix3D"; import Vector3D from "awayjs-core/lib/geom/Vector3D"; import AssetBase from "awayjs-core/lib/library/AssetBase"; import IPickingCollider from "../pick/IPickingCollider"; import PickingCollision from "../pick/PickingCollision"; import MaterialBase from "../materials/MaterialBase"; /** * @class away.base.TriangleElements */ declare class ElementsBase extends AssetBase { private _indices; private _customAttributesNames; private _customAttributes; private _numElements; _concatenatedBuffer: AttributesBuffer; private _invalidateIndices; _verticesDirty: Object; _invalidateVertices: Object; readonly concatenatedBuffer: AttributesBuffer; /** * The raw index data that define the faces. */ readonly indices: Short3Attributes; /** * */ getCustomAtributesNames(): Array<string>; /** * */ getCustomAtributes(name: string): AttributesView; /** * The total amount of triangles in the TriangleElements. */ readonly numElements: number; readonly numVertices: number; /** * */ constructor(concatenatedBuffer?: AttributesBuffer); copyTo(elements: ElementsBase): void; /** * */ dispose(): void; /** * Updates the face indices of the TriangleElements. * * @param indices The face indices to upload. */ setIndices(array: Array<number>, offset?: number): any; setIndices(uint16Array: Uint16Array, offset?: number): any; setIndices(short3Attributes: Short3Attributes, offset?: number): any; /** * Updates custom attributes. */ setCustomAttributes(name: string, array: Array<number>, offset?: number): any; setCustomAttributes(name: string, arrayBufferView: ArrayBufferView, offset?: number): any; setCustomAttributes(name: string, attributesView: AttributesView, offset?: number): any; /** * Clones the current object * @return An exact duplicate of the current object. */ clone(): ElementsBase; applyTransformation(transform: Matrix3D): void; /** * Scales the geometry. * @param scale The amount by which to scale. */ scale(scale: number): void; scaleUV(scaleU?: number, scaleV?: number): void; getBoxBounds(target?: Box): Box; getSphereBounds(center: Vector3D, target?: Sphere): Sphere; hitTestPoint(x: number, y: number, z: number, box: Box): boolean; private invalidateIndicies(); private clearIndices(); invalidateVertices(attributesView: AttributesView): void; clearVertices(attributesView: AttributesView): void; _iTestCollision(pickingCollider: IPickingCollider, material: MaterialBase, pickingCollision: PickingCollision): boolean; } export default ElementsBase;