UNPKG

@awayjs/view

Version:
90 lines 4.19 kB
import { IAssetClass, IAbstractionPool, Matrix3D, Box, Vector3D, Sphere, AbstractionBase, Plane3D, AbstractionSet } from '@awayjs/core'; import { PickGroup } from '../PickGroup'; import { _Pick_PickableBase } from './_Pick_PickableBase'; import { _IPick_PickableClass } from './_IPick_PickableClass'; import { PickingCollision } from '../pick/PickingCollision'; import { IEntityTraverser } from './IEntityTraverser'; import { BoundingVolumeBase } from '../bounds/BoundingVolumeBase'; import { BoundingVolumeType } from '../bounds/BoundingVolumeType'; import { IBoundsPicker } from '../pick/IBoundsPicker'; import { ContainerNode } from '../partition/ContainerNode'; import { INode } from '../partition/INode'; import { IPickable } from './IPickable'; /** * @class away.pool.PickEntity */ export declare class PickEntity extends AbstractionBase implements IAbstractionPool, IEntityTraverser, IBoundsPicker { private static _store; static MINIMAL_SCALE: number; private _boundingVolumePools; private _pickingCollision; private _orientedBoxBounds; private _orientedBoxBoundsDirty; private _orientedSphereBounds; private _orientedSphereBoundsDirty; private static _pickPickableClassPool; private _activePickables; readonly abstractions: AbstractionSet; get pickingCollision(): PickingCollision; /** * */ get node(): ContainerNode; /** * */ get pickGroup(): PickGroup; shapeFlag: boolean; constructor(); /** * //TODO */ init(node: INode, pickGroup: PickGroup): void; getBoundingVolume(target?: INode, type?: BoundingVolumeType): BoundingVolumeBase; /** * Evaluates the display object to see if it overlaps or intersects with the * point specified by the <code>x</code> and <code>y</code> parameters. The * <code>x</code> and <code>y</code> parameters specify a point in the * coordinate space of the Scene, not the display object container that * contains the display object(unless that display object container is the * Scene). * * @param x The <i>x</i> coordinate to test against this object. * @param y The <i>y</i> coordinate to test against this object. * @param shapeFlag Whether to check against the actual pixels of the object * (<code>true</code>) or the bounding box * (<code>false</code>). * @param maskFlag Whether to check against the object when it is used as * mask (<code>false</code>). * @return <code>true</code> if the display object overlaps or intersects * with the specified point; <code>false</code> otherwise. */ hitTestPoint(x: number, y: number, shapeFlag?: boolean): boolean; _hitTestPointInternal(rootEntity: ContainerNode, x: number, y: number, shapeFlag?: boolean, maskFlag?: boolean): boolean; isInFrustum(planes: Array<Plane3D>, numPlanes: number): boolean; _isInFrustumInternal(rooNode: ContainerNode, planes: Array<Plane3D>, numPlanes: number): boolean; /** * @inheritDoc */ isIntersectingRay(globalRayPosition: Vector3D, globalRayDirection: Vector3D): boolean; /** * @inheritDoc */ _isIntersectingRayInternal(rootEntity: INode, globalRayPosition: Vector3D, globalRayDirection: Vector3D): boolean; isIntersectingShape(findClosestCollision: boolean): boolean; _getBoxBoundsInternal(invTargetMatrix?: Matrix3D, strokeFlag?: boolean, fastFlag?: boolean, cache?: Box, target?: Box): Box; _getSphereBoundsInternal(center?: Vector3D, matrix3D?: Matrix3D, strokeFlag?: boolean, fastFlag?: boolean, cache?: Sphere, target?: Sphere): Sphere; applyTraversable(pickable: IPickable): void; onInvalidate(): void; onClear(): void; requestAbstraction(pickable: IPickable): _Pick_PickableBase; storeAbstraction(abstraction: _Pick_PickableBase, assetType: string): void; /** * * @param imageObjectClass */ static registerPickable(pickClass: _IPick_PickableClass, assetClass: IAssetClass): void; private _update; private _isIntersectingMasks; } //# sourceMappingURL=PickEntity.d.ts.map