itowns
Version:
A JS/WebGL framework for 3D geospatial data visualization
56 lines (55 loc) • 2.14 kB
TypeScript
export default c3DEngine;
declare class c3DEngine {
constructor(rendererOrDiv: any, options?: {});
width: any;
height: any;
positionBuffer: any;
_nextThreejsLayer: number;
fullSizeRenderTarget: THREE.WebGLRenderTarget<THREE.Texture>;
renderView: (view: any) => void;
/**
* @type {function}
* @param {number} w
* @param {number} h
*/
onWindowResize: Function;
label2dRenderer: Label2DRenderer;
renderer: any;
getWindowSize(): THREE.Vector2;
/**
* return renderer THREE.js
* @returns {THREE.WebGLRenderer}
*/
getRenderer(): THREE.WebGLRenderer;
/**
* Render view to a Uint8Array.
*
* @param {View} view - The view to render
* @param {object} [zone] - partial zone to render
* @param {number} zone.x - x (in view coordinate)
* @param {number} zone.y - y (in view coordinate)
* @param {number} zone.width - width of area to render (in pixels)
* @param {number} zone.height - height of area to render (in pixels)
* @return {THREE.RenderTarget} - Uint8Array, 4 bytes per pixel. The first pixel in
* the array is the bottom-left pixel.
*/
renderViewToBuffer(view: View, zone?: {
x: number;
y: number;
width: number;
height: number;
}): THREE.RenderTarget;
/**
* Render view to a THREE.RenderTarget.
*
* @param {View} view - The view to render
* @param {THREE.RenderTarget} [target] - destination render target. Default value: full size render target owned by c3DEngine.
* @param {object} [zone] - partial zone to render (zone x/y uses view coordinates) Note: target must contain complete zone
* @return {THREE.RenderTarget} - the destination render target
*/
renderViewToRenderTarget(view: View, target?: THREE.RenderTarget, zone?: object): THREE.RenderTarget;
bufferToImage(pixelBuffer: any, width: any, height: any): HTMLImageElement;
depthBufferRGBAValueToOrthoZ(depthBufferRGBA: any, camera: any): number;
}
import * as THREE from 'three';
import Label2DRenderer from '../Renderer/Label2DRenderer';