/** * Viewport - High-level 3D visualization * * Simple wrapper for Three.js rendering of CAD geometries */ import * as THREE from 'three'; import type { Geometry } from '../shared/types'; import type { ViewportConfig, ViewportEventHandlers, ViewportStats } from './types'; export declare class Viewport { private container; private scene; private camera; private renderer; private mesh; private animationId; private pluginExtensions; private config; private eventHandlers; constructor(container: HTMLElement, config?: Partial); private initScene; private setupLighting; private setupCamera; private setupRenderer; private setupControls; private setupGrid; private startRenderLoop; private render; private initializePluginExtensions; /** * Update geometry in viewport */ updateGeometry(geometry: Geometry): void; /** * Auto-adjust camera to view entire geometry */ private fitCameraToGeometry; /** * Set event handlers */ setEventHandlers(handlers: ViewportEventHandlers): void; private setupMouseEvents; /** * Get current viewport stats */ getStats(): ViewportStats; /** * Resize viewport */ resize(width: number, height: number): void; /** * Dispose viewport */ dispose(): void; /** * Get Three.js objects for advanced usage */ getThreeObjects(): { scene: THREE.Scene; camera: THREE.PerspectiveCamera; renderer: THREE.WebGLRenderer; mesh: THREE.Mesh, THREE.Material | THREE.Material[], THREE.Object3DEventMap> | null; }; } //# sourceMappingURL=viewport.d.ts.map