import * as THREE from "three"; import { CBARObject } from "./CBARObject"; import { CBARCameraIntrinsics, CBARCameraProperties } from "./CBARCameraIntrinsics"; import { CBARSceneGeometry, CBARSceneGeometryProperties } from "./CBARSceneGeometry"; import { CBARImageCollection, CBARImageDictionary } from "./CBARImageCollection"; import { CBARContext } from "../CBARContext"; import { CBAREvent, CBAREventType, CBARHighlightState, CBARSurfaceType, CBARToolMode } from "../CBARTypes"; import { CBARAssetCollection } from "./CBARAssetCollection"; import { CBARTexture } from "./CBARTexture"; import { CBARAsset } from "../assets"; import { CBARSurface } from "./CBARSurface"; import { CBARImage } from "./CBARImage"; import { InputArray } from "mirada/dist/src/types/opencv/_types"; import { CBARMaskTexture } from "./CBARMaskTexture"; import { Point, Size } from "mirada"; export interface CBARSceneProperties { version?: string; id: string; name?: string; camera?: CBARCameraProperties; geometry?: CBARSceneGeometryProperties; assets?: any; floorRotation?: number; lightingFactor?: number; lightingOffset?: number; images?: CBARImageDictionary; environment?: string; } export interface CBScenePropertiesLegacy { cameraPosition: [number, number, number]; cameraRotation: [number, number, number]; floorRotation: number; fov: number; images: any; } export interface RenderOptions { isScreenshot?: boolean; } export declare class CBARScene extends CBARObject { name: string; cameraProperties: CBARCameraIntrinsics; geometry: CBARSceneGeometry; assets: CBARAssetCollection; images: CBARImageCollection; imageSize: THREE.Vector2; readonly indexMaskTexture: CBARMaskTexture; readonly lightingTexture: CBARTexture; readonly placeholderTexture: CBARTexture; groundRotation: number; lightingFactor: number; lightingOffset: number; private _surfaceTypes?; get surfaceTypes(): CBARSurfaceType[]; constructor(context: CBARContext); private convertLegacyScene; private _isEditable; get isEditable(): boolean; load(basePath: string | undefined, _json: any, surfaceTypes?: CBARSurfaceType[], room?: string | null | undefined, subroom?: string | null | undefined): Promise; get backgroundImage(): CBARImage | undefined; get lightingImage(): CBARImage | undefined; get indexMask(): CBARImage | undefined; private _cvIndexMask?; get cvIndexMask(): InputArray | undefined; private _cvBackground?; get cvBackground(): InputArray | undefined; private _cvLightingSmall?; get cvLightingSmall(): InputArray | undefined; private _cvBackgroundSmall?; get cvBackgroundSmall(): InputArray | undefined; private _smallScale?; get smallScale(): number; private analyzeImages; data(): any; unload(): void; envMap?: THREE.Texture; private prepare; render(options?: RenderOptions): void; private _assetsByState; assetFor(state: CBARHighlightState): CBARAsset | undefined; setAssetFor(state: CBARHighlightState, asset: CBARAsset | undefined, event?: CBAREvent): void; private _surfacesByState; surfaceFor(state: CBARHighlightState): CBARSurface | undefined; setSurfaceFor(state: CBARHighlightState, surface: CBARSurface | undefined, event?: CBAREvent): void; handleEvent(event: CBAREvent): void; toolModeChanged(mode: CBARToolMode): void; sceneLoaded(): void; get description(): string; getEventObjects(eventType: CBAREventType): THREE.Object3D[]; private _animationEnd; requestAnimation(duration?: number): Promise; get animating(): boolean; unproject(normalizePoint2d?: Point, distance?: number, size?: Size): THREE.Vector3; private _vecA; project(point3d: THREE.Vector3, distance?: number, size?: Size): { x: number; y: number; }; private _vecB; }