export default Room; /** * @class Room * @description Model that manages early and late reflections using acoustic * properties and listener position relative to a rectangular room. * @param {AudioContext} context * Associated {@link https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext}. * @param {Object} options * @param {Float32Array} options.listenerPosition * The listener's initial position (in meters), where origin is the center of * the room. Defaults to {@linkcode Utils.DEFAULT_POSITION DEFAULT_POSITION}. * @param {Utils~RoomDimensions} options.dimensions Room dimensions (in meters). Defaults to * {@linkcode Utils.DEFAULT_ROOM_DIMENSIONS DEFAULT_ROOM_DIMENSIONS}. * @param {Utils~RoomMaterials} options.materials Named acoustic materials per wall. * Defaults to {@linkcode Utils.DEFAULT_ROOM_MATERIALS DEFAULT_ROOM_MATERIALS}. * @param {Number} options.speedOfSound * (in meters/second). Defaults to * {@linkcode Utils.DEFAULT_SPEED_OF_SOUND DEFAULT_SPEED_OF_SOUND}. */ declare class Room { constructor(context: any, options: any); early: EarlyReflections; late: LateReflections; speedOfSound: any; output: any; _merger: any; /** * Set the room's dimensions and wall materials. * @param {Utils~RoomDimensions} dimensions Room dimensions (in meters). Defaults to * {@linkcode Utils.DEFAULT_ROOM_DIMENSIONS DEFAULT_ROOM_DIMENSIONS}. * @param {Utils~RoomMaterials} materials Named acoustic materials per wall. Defaults to * {@linkcode Utils.DEFAULT_ROOM_MATERIALS DEFAULT_ROOM_MATERIALS}. */ setProperties(dimensions: any, materials: any): void; /** * Set the listener's position (in meters), where origin is the center of * the room. * @param {Number} x * @param {Number} y * @param {Number} z */ setListenerPosition(x: number, y: number, z: number): void; /** * Compute distance outside room of provided position (in meters). * @param {Number} x * @param {Number} y * @param {Number} z * @return {Number} * Distance outside room (in meters). Returns 0 if inside room. */ getDistanceOutsideRoom(x: number, y: number, z: number): number; } import EarlyReflections from "./early-reflections.js"; import LateReflections from "./late-reflections.js";