UNPKG

@pmndrs/uikit

Version:

Build performant 3D user interfaces with Three.js and yoga.

30 lines (29 loc) 1.61 kB
import { Box3, InstancedBufferAttribute, Matrix4, Mesh, Object3DEventMap, Sphere, Vector2Tuple } from 'three'; import { Signal } from '@preact/signals-core'; import { OrderInfo } from '../order.js'; import { ClippingRect } from '../clipping.js'; import { RootContext } from '../context.js'; import { FlexNodeState } from '../internals.js'; export declare function createInteractionPanel(orderInfo: Signal<OrderInfo | undefined>, rootContext: RootContext, parentClippingRect: Signal<ClippingRect | undefined> | undefined, globalMatrix: Signal<Matrix4 | undefined>, flexState: FlexNodeState): Mesh<import("three").PlaneGeometry, import("three").Material | import("three").Material[], Object3DEventMap> & { boundingSphere: Sphere; }; export declare function setupInteractionPanel(panel: Mesh & { boundingSphere: Sphere; }, rootContext: RootContext, globalMatrix: Signal<Matrix4 | undefined>, size: Signal<Vector2Tuple | undefined>, abortSignal: AbortSignal): void; export declare class InstancedPanelMesh extends Mesh { readonly instanceMatrix: InstancedBufferAttribute; count: number; protected readonly isInstancedMesh = true; readonly instanceColor: null; readonly morphTexture: null; readonly boundingBox: Box3; readonly boundingSphere: Sphere; constructor(instanceMatrix: InstancedBufferAttribute, instanceData: InstancedBufferAttribute, instanceClipping: InstancedBufferAttribute); dispose(): void; copy(): this; computeBoundingBox(): void; computeBoundingSphere(): void; updateMorphTargets(): void; raycast(): void; spherecast(): void; }