@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
25 lines (24 loc) • 1.03 kB
TypeScript
import type { Ref } from '@vue/reactivity';
import { Object3D } from 'three';
import { ConvertToStrings } from '../../../../../types/GlobalTypes';
import { BaseRayObjectIntersectionsController } from './_BaseRayObjectIntersectionsController';
import { ObjectOptions, GPUOptions, CPUOptions, PriorityOptions } from './Common';
interface HoveredOptions {
hoveredStateRef: Ref<boolean>;
onHoveredStateChange: () => void;
}
export interface ObjectToHoverOptions extends ObjectOptions {
hover: HoveredOptions;
}
export interface ObjectToHoverOptionsAsString {
priority: ConvertToStrings<PriorityOptions>;
cpu?: ConvertToStrings<CPUOptions>;
gpu?: ConvertToStrings<GPUOptions>;
hover: ConvertToStrings<HoveredOptions>;
}
export declare class RayObjectIntersectionsHoverController extends BaseRayObjectIntersectionsController {
protected _propertiesListByObject: Map<Object3D, ObjectToHoverOptions[]>;
protected _intersectedStateByObject: Map<Object3D, boolean>;
process(): void;
}
export {};