soonspacejs
Version:
soonspacejs 2.x
26 lines (25 loc) • 1.74 kB
TypeScript
import { SpriteMaterial, Texture, CanvasTexture, Object3D, MeshBasicMaterial, Mesh } from 'three';
import DefaultManage from './DefaultManage';
import { Poi, PoiInfo, Group, GroupInfo, Icon, NameCanvasInfo } from '../Library';
import { ClonePoiInfo, PoiType } from '../Interface';
import Viewport from '../Viewport';
import { ObjectsCache } from '../Cache';
declare class PoiManage extends DefaultManage {
readonly viewport: Viewport;
readonly cache: ObjectsCache;
textures: Map<string, Texture>;
constructor(viewport: Viewport, cache: ObjectsCache);
_createIcon(info: PoiInfo): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | Icon;
_createIconMaterial({ url, type, }: PoiInfo): MeshBasicMaterial | SpriteMaterial | undefined;
_createText(info: PoiInfo): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | Icon;
_createTextMaterial(info: PoiInfo): MeshBasicMaterial | SpriteMaterial;
_createTextTexture(info: ClonePoiInfo): CanvasTexture;
_createTextCanvas(text: string, info?: NameCanvasInfo): HTMLCanvasElement;
_computeMaterialSizeAttenuation(material: SpriteMaterial, iconType?: PoiType): SpriteMaterial;
protected _create(info: PoiInfo): Poi;
create(info: PoiInfo): Poi;
clone(poi: Poi, poiInfo: ClonePoiInfo, parent?: Object3D | null): Poi | void;
createToGroup(groupInfo: GroupInfo, poiInfo: PoiInfo[]): Group;
addForGroup(group: Group | null, poiInfo: PoiInfo[]): Group | null;
}
export default PoiManage;