@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
83 lines (82 loc) • 5.69 kB
TypeScript
/**
* Creates an audio source.
*
* @remarks
* This node also has its own transforms. And if it is set as input of other nodes, their objects will be added as children to the object of this node.
*
*/
import { TypedObjNode } from './_Base';
import { Group } from 'three';
import { TransformController } from './utils/TransformController';
import { FlagsControllerD } from '../utils/FlagsController';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { HierarchyController } from './utils/HierarchyController';
import { ObjType } from '../../poly/registers/nodes/types/Obj';
import { NodeContext } from '../../poly/NodeContext';
import { AudioNodeChildrenMap } from '../../poly/registers/nodes/Audio';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { BaseAudioNodeType } from '../audio/_Base';
declare const PositionalAudioParamConfig_base: {
new (...args: any[]): {
transform: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
keepPosWhenParenting: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
rotationOrder: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
t: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
r: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
s: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
scale: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
matrixAutoUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
updateTransformFromObject: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
};
} & typeof NodeParamsConfig;
declare class PositionalAudioParamConfig extends PositionalAudioParamConfig_base {
audio: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FOLDER>;
/** @param audio node */
audioNode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.NODE_PATH>;
/** @param refDistance. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/refDistance*/
refDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param rolloffFactor. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/rolloffFactor */
rolloffFactor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param maxDistance. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/maxDistance */
maxDistance: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param distanceModel. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/distanceModel */
distanceModel: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
/** @param coneInnerAngle. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode */
coneInnerAngle: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param coneOuterAngle. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode */
coneOuterAngle: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param coneOuterGain. See https://developer.mozilla.org/en-US/docs/Web/API/PannerNode */
coneOuterGain: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
/** @param ensures the transform of the audio listener is updated on very frame */
listenerTransformAutoUpdate: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param show helper */
showHelper: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
/** @param helper size */
helperSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
}
export declare class PositionalAudioObjNode extends TypedObjNode<Group, PositionalAudioParamConfig> {
paramsConfig: PositionalAudioParamConfig;
static type(): ObjType;
readonly hierarchyController: HierarchyController;
readonly transformController: TransformController;
readonly flags: FlagsControllerD;
private _positionalAudio;
private _helper;
createObject(): Group<import("three").Object3DEventMap>;
initializeNode(): void;
private _updateToDestination;
private _updateHelperHierarchy;
cook(): Promise<void>;
private _updatePositionalAudio;
private _createHelper;
private _resetAudioNode;
private _connectAudioNode;
static PARAM_CALLBACK_updatePositionalAudio(node: PositionalAudioObjNode): void;
protected _childrenControllerContext: NodeContext;
createNode<S extends keyof AudioNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): AudioNodeChildrenMap[S];
createNode<K extends valueof<AudioNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
children(): BaseAudioNodeType[];
nodesByType<K extends keyof AudioNodeChildrenMap>(type: K): AudioNodeChildrenMap[K][];
}
export {};