UNPKG

@awayjs/view

Version:
46 lines 1.9 kB
import { AbstractionBase, IAbstractionPool } from '@awayjs/core'; import { IPartitionTraverser } from '../partition/IPartitionTraverser'; import { INode } from '../partition/INode'; import { ContainerNode } from '../partition/ContainerNode'; /** * Picks a 3d object from a view or scene by 3D raycast calculations. * Performs an initial coarse boundary calculation to return a subset of entities whose bounding volumes intersect with the specified ray, * then triggers an optional picking collider on individual renderable objects to further determine the precise values of the picking ray collision. * * @class away.pick.RaycastPicker */ export declare class TabPicker extends AbstractionBase implements IPartitionTraverser { /** * * @returns {ContainerNode} */ get node(): INode; private _tabNodes; private _customTabNodes; private _customTabNodesSorted; /** * Creates a new <code>RaycastPicker</code> object. * * @param findClosestCollision Determines whether the picker searches for the closest bounds collision along the ray, * or simply returns the first collision encountered. Defaults to false. */ init(node: INode, pool: IAbstractionPool): void; private sortTabEnabledEntities; traverse(): void; getTraverser(node: ContainerNode): IPartitionTraverser; getNextTabEntity(currentFocus: ContainerNode): ContainerNode; getPrevTabEntity(currentFocus: ContainerNode): ContainerNode; /** * Returns true if the current node is at least partly in the frustum. If so, the partition node knows to pass on the traverser to its children. * * @param node The Partition3DNode object to frustum-test. */ enterNode(node: INode): boolean; dispose(): void; /** * * @param entity */ applyEntity(node: ContainerNode): void; } //# sourceMappingURL=TabPicker.d.ts.map