@vuemap/vue-amap-extra
Version:
@vuemap/vue-amap扩展库,包含threejs相关图层
58 lines (57 loc) • 2.12 kB
TypeScript
import { AmbientLight, DirectionalLight, HemisphereLight, PointLight, RectAreaLight, SpotLight, Vector2, Raycaster, Clock } from "three";
import { EffectComposer } from "three/examples/jsm/postprocessing/EffectComposer.js";
import { ThreeLayer } from "@vuemap/three-layer";
import { CSS2DRenderer } from "./CSS2DRenderer";
import { CSS3DRenderer } from "./CSS3DRenderer";
import type { Object3D } from "three";
import type { HDROptions, LightOption } from "./Type";
import type { ThreeLayerOptions } from "@vuemap/three-layer";
interface Options extends ThreeLayerOptions {
lights?: LightOption[];
hdr?: HDROptions;
axesHelper: boolean;
createCssRender: boolean;
}
declare class CustomThreeLayer extends ThreeLayer {
lightTypes: {
AmbientLight: typeof AmbientLight;
DirectionalLight: typeof DirectionalLight;
HemisphereLight: typeof HemisphereLight;
PointLight: typeof PointLight;
RectAreaLight: typeof RectAreaLight;
SpotLight: typeof SpotLight;
};
raycaster: Raycaster | undefined;
mouse: Vector2;
envMap: any;
clickFun: any;
hoverFun: any;
resizeFun: any;
effectComposer?: EffectComposer;
renderPass: any;
passNum: number;
passList: any[];
clock: Clock;
preHoverGroup: Object3D<import("three").Event> | null;
css2DRenderer: CSS2DRenderer | null;
css3DRenderer: CSS3DRenderer | null;
constructor(map: any, options: Options, callback: () => void);
updateRendererSize(): void;
updateEffectComposerSize(): void;
createEffect(): void;
creatCssRenders(map: any): void;
addPass(pass: any): void;
removePass(pass: any): void;
createLights(lights: LightOption[] | undefined): void;
createHDR(hdr: HDROptions | undefined): void;
addEnvMap(object: any): void;
bindEvents(): void;
ubBindEvents(): void;
_getOriginEvent(e: any): any;
_clickEvent(e: any): void;
_hoverEvent(e: any): void;
_intersectGltf(e: MouseEvent): Object3D | null;
_getGroup(object: Object3D): Object3D | null;
destroy(): void;
}
export default CustomThreeLayer;