@awayjs/view
Version:
View for AwayJS
46 lines • 1.9 kB
TypeScript
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