import { Plane } from 'three'; import { RenderManagerBase, RenderManagerBaseState } from './RenderManagerBase'; import { SceneManager } from '../scene/SceneManager'; import { MetaManager } from '../meta/MetaManager'; import { Atmosphere } from './atmosphere/Atmosphere'; import { ISkyDataUrls } from './atmosphere/ISkyDataUrls'; /** * Base class for RenderManager settings state. */ export declare class RenderManagerState extends RenderManagerBaseState { /** Progressive mode. */ progressive: boolean; /** Ambient occlusion effect.*/ gtao: boolean; /** Antialiasing effect. */ antialiasing: boolean; /** Edge lines (reserved for future). */ edges: boolean; /** Edge lines color */ edgesColor: string; /** Fog effect. */ fog: boolean; /** Earth shadow effect. */ shadow: boolean; /** Sky background. */ sky: boolean; /** Sketch mode */ sketchView: boolean; } /** * Perform SceneManager`s scene rendering via Three.js WebGL wrapper. */ export declare class RenderManager extends RenderManagerBase { readonly tag = "RenderManager"; /** State with settings for RenderManager. */ state: RenderManagerState; private startPointerTime; private endPointerTime; private isFirstClick; private longTouchTimer; atmosphere: Atmosphere; private readonly skyDataUrls; private resizeTimeout; private isResizing; /** * @param name - Name of the renderer. Must be unique. * @param sceneManager - SceneManager for renderer. * @param metaManager - Optional MetaManager. Used for possible additional operations with metadata. * @param skyDataUrls - Optional skyDataUrls. Used for sky rendering. */ constructor(name: string, sceneManager: SceneManager, metaManager?: MetaManager | undefined, skyDataUrls?: ISkyDataUrls | undefined); /** * Init renderer for chosen DOM element id. * @param domElementId - DOM element id for renderer attaching. * @param cubeControlDomElementId - DOM element id for navigation cube control renderer attaching. * @param createToolbar - create toolbar UI or not. */ init(domElementId: string, cubeControlDomElementId?: string, createToolbar?: boolean): void; /** Force rebuild render targets on canvas resize or antialiasing changing. */ onResize(): void; /** Render one frame with full processing pipeline (main pass, helper pass, state pass, mix pass). */ private render; private animate; /** * Make request for new animation iteration or/and render new frame. * @param forceUpdateRender - is we need to render new frame. */ requestUpdate(forceUpdateRender?: boolean): void; /** * Destroy renderer and dispose all depending assets */ destroy(): void; private onLoaded; private initEvents; private onClick; private onDblClick; private onKeyDown; private onWheel; private onPointerDown; private onPointerUp; private onMouseMove; /** *Update clipping planes for renderer shaders (state shader). * @param planes - New clipping planes. */ updateClippingPlanes(planes: Array): void; }