@spearwolf/twopoint5d
Version:
a library to create 2.5d realtime graphics and pixelart with three.js
40 lines • 1.67 kB
TypeScript
import { Color, Object3D, OrthographicCamera, PerspectiveCamera, Plane } from 'three';
import type { IMap2DVisibilitor, Map2DVisibleTiles } from './IMap2DVisibilitor.js';
import { Map2DTile } from './Map2DTile.js';
import { Map2DTileCoordsUtil } from './Map2DTileCoordsUtil.js';
export declare class CameraBasedVisibility implements IMap2DVisibilitor {
#private;
static readonly Plane: Plane;
frustumBoxScale: number;
lookAtCenter: boolean;
depth: number;
camera?: PerspectiveCamera | OrthographicCamera;
debugNextVisibleTiles: boolean;
maxDebugHelpers: number;
tileBoxHelperExpand: number;
frustumBoxHelperExpand: number;
frustumBoxHelperColor: Color;
frustumBoxPrimaryHelperColor: Color;
tileBoxHelperColor: Color;
tileBoxPrimaryHelperColor: Color;
constructor(camera?: PerspectiveCamera | OrthographicCamera);
get needsUpdate(): boolean;
set needsUpdate(_update: boolean);
get showHelpers(): boolean;
set showHelpers(showHelpers: boolean);
private dependenciesChanged;
computeVisibleTiles(previousTiles: Map2DTile[], [centerX, centerY]: [number, number], map2dTileCoords: Map2DTileCoordsUtil, node: Object3D): Map2DVisibleTiles | undefined;
private findPointOnPlaneThatIsInViewFrustum;
private findVisibleTiles;
private makePointOnPlane;
private convertToPlaneCoords2D;
private createHelpers;
private createPlaneHelpers;
private createTileHelpers;
private addPointHelper;
private addBoxHelper;
private makeBox;
addToScene(scene: Object3D): void;
removeFromScene(scene: Object3D): void;
}
//# sourceMappingURL=CameraBasedVisibility.d.ts.map