import * as _angular_core from '@angular/core'; import { AfterViewInit, OnChanges, SimpleChanges } from '@angular/core'; import * as THREE from 'three'; import * as i2 from '@angular/common'; type NcCameraPlacementType = 'default' | 'left' | 'right' | 'top' | 'bottom' | 'back' | 'front'; interface NcObjInfo { objUrl: string; mtlUrl: string; } declare class ObjViewerComponent implements AfterViewInit, OnChanges { /** 模型地址 */ ncObjInfo: _angular_core.InputSignal; /** 摄像机初始方位 */ ncCameraPlacement: _angular_core.InputSignal; /** 是否启用背景 */ ncBg: _angular_core.InputSignalWithTransform; /** 背景色值 */ ncBgColor: _angular_core.InputSignal; /** 背景图片URL */ ncBgUrl: _angular_core.InputSignalWithTransform; /** 操作提示 */ ncTips: _angular_core.InputSignalWithTransform; /** 控制面板 */ ncControl: _angular_core.InputSignalWithTransform; /** 背景是否透明 */ ncAlpha: _angular_core.InputSignalWithTransform; /** 自动旋转 */ ncAutoRotate: _angular_core.InputSignalWithTransform; /** 自动旋转速度 */ ncAutoRotateSpeed: _angular_core.InputSignalWithTransform; readonly showLoading: _angular_core.WritableSignal; readonly loadingText: _angular_core.WritableSignal; readonly loadingText2: _angular_core.WritableSignal; private readonly eleRef; private readonly ls; private readonly ngZone; private readonly renderer; private readonly destroyRef; private readonly domId; private camera; private backgroundSphere; private scene; private webglRenderer; private domWidth; private domHeight; private objScene; private size; private center; private controls; private gui; private axesHelper; private ambientLight; private directionalLight; private directionalLightHelper; private directionalLight2; private directionalLightHelper2; private pointLight; private pointLightHelper; private environmentRenderTarget; private backgroundTexture; private removeResizeListener; private initTimer; private resizeTimer; private animationFrameId; private animationRunning; private loadVersion; private backgroundLoadVersion; private destroyed; private readonly state; constructor(); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; init(): void; render(): void; private readonly animate; private readonly onWindowResize; updateModel(): void; setCameraPlacement(): void; addGUI(): void; updateToneMapping(): void; updateToneMappingExposure(): void; updateBackground(): void; toggleAxesHelper(): void; toggleWireframe(): void; traverseMaterials(object: THREE.Object3D, callback: (material: THREE.Material) => void): void; toggleAutoRotate(): void; toggleAmbientLight(): void; updateAmbientLight(): void; toggleDirectionalLight(): void; updateDirectionalLight(): void; toggleDirectionalLightHelper(): void; toggleDirectionalLight2(): void; updateDirectionalLight2(): void; toggleDirectionalLightHelper2(): void; togglePointLight(): void; updatePointLight(): void; togglePointLightHelper(): void; webglLoseContext(): void; private syncInputState; private handleLoadedObj; private getAspectRatio; private getViewerElement; private getControlElement; private getHostWindow; private getDevicePixelRatio; private startAnimation; private stopAnimation; private cleanupModel; private cleanupControls; private cleanup; private destroyGUI; private removeObject; private clearBackgroundSphere; private clearBackgroundTexture; private disposeRenderer; private disposeObject; private disposeMaterial; private disposeMaterialCreator; private getGuiClosed; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class NcObjViewerModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { NcObjViewerModule, ObjViewerComponent }; export type { NcCameraPlacementType, NcObjInfo };