UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

137 lines 4.2 kB
export default TerrainTile; /** * terrain tile is a part of a 2d array */ declare class TerrainTile { gridPosition: Vector2; scale: Vector2; size: Vector2; position: Vector2; resolution: ObservedInteger; /** * * @type {Material} */ material: Material; mesh: import("three").Mesh<ThreeBufferGeometry, import("three").Material | import("three").Material[]>; /** * * @type {THREE.BufferGeometry} */ geometry: THREE.BufferGeometry; /** * * @type {boolean} */ enableBVH: boolean; /** * * @type {BvhClient} */ external_bvh: BvhClient; /** * * @type {BinaryUint32BVH} */ bvh: BinaryUint32BVH; /** * * @type {boolean} */ isBuilt: boolean; /** * * @type {boolean} */ isBuildInProgress: boolean; referenceCount: number; /** * * @type {Signal<TerrainTile>} */ onBuilt: Signal<TerrainTile>; onDestroyed: Signal<any, any, any, any, any, any, any, any>; /** * Encodes whether stitching has been performed on per-neighbour basis * @private * @type {{bottomLeft: boolean, top: boolean, left: boolean, bottom: boolean, bottomRight: boolean, topLeft: boolean, topRight: boolean, right: boolean}} */ private stitching; /** * Initial estimate of height bounds for this tile * Untransformed by transform matrix * @type {NumericInterval} * @private */ private __initial_height_range; /** * Used to track number of times tile was built * @type {number} */ version: number; /** * * @param {number[]|Float32Array|mat4} m4 */ set transform(m4: number[] | Float32Array | mat4); /** * * @return {number[]} */ get transform(): number[]; /** * * @param {SurfacePoint3} result * @param {number} originX * @param {number} originY * @param {number} originZ * @param {number} directionX * @param {number} directionY * @param {number} directionZ * @return {boolean} */ raycastFirstSync(result: SurfacePoint3, originX: number, originY: number, originZ: number, directionX: number, directionY: number, directionZ: number): boolean; getVertexNormal(index: any, result: any): void; setVertexNormal(index: any, value: any): void; /** * Stitch vertex normals along the edges of the tile set * @param {TerrainTile|undefined} top * @param {TerrainTile|undefined} bottom * @param {TerrainTile|undefined} left * @param {TerrainTile|undefined} right * @param {TerrainTile|undefined} topLeft * @param {TerrainTile|undefined} topRight * @param {TerrainTile|undefined} bottomLeft * @param {TerrainTile|undefined} bottomRight */ stitchNormals(top: TerrainTile | undefined, bottom: TerrainTile | undefined, left: TerrainTile | undefined, right: TerrainTile | undefined, topLeft: TerrainTile | undefined, topRight: TerrainTile | undefined, bottomLeft: TerrainTile | undefined, bottomRight: TerrainTile | undefined): void; computeBoundingBox(): void; /** * * @param {number} min_height * @param {number} max_height */ setInitialHeightBounds(min_height: number, max_height: number): void; dispose(): void; /** * * @param {{geometry, bvh?:{leaf_count:number, data:ArrayBuffer}}} tileData * @returns {Mesh} */ build(tileData: { geometry: any; bvh?: { leaf_count: number; data: ArrayBuffer; }; }): Mesh; } import Vector2 from '../../../../core/geom/Vector2.js'; import ObservedInteger from "../../../../core/model/ObservedInteger.js"; import { BufferGeometry as ThreeBufferGeometry } from 'three'; import { BvhClient } from "../../../../core/bvh2/bvh3/BvhClient.js"; import { BinaryUint32BVH } from "../../../../core/bvh2/binary/2/BinaryUint32BVH.js"; import Signal from "../../../../core/events/signal/Signal.js"; import { mat4 } from "gl-matrix"; import { SurfacePoint3 } from "../../../../core/geom/3d/SurfacePoint3.js"; //# sourceMappingURL=TerrainTile.d.ts.map