import { CBARObject3D, CBARObject3DProperties } from "./CBARObject3D"; import { CBARContext } from "../CBARContext"; import { CBARMaskTexture } from "./CBARMaskTexture"; import * as THREE from "three"; import { CBARSurfaceType } from "../CBARTypes"; import { CBARImageCollection, CBARImageDictionary } from "./CBARImageCollection"; import { CBARSurfaceAsset } from "../assets"; import { CBARImage } from "./CBARImage"; import { InputArray } from "mirada"; export declare type Scalar = number[]; export interface CBARSurfaceProperties extends CBARObject3DProperties { type: CBARSurfaceType; color?: string; normal: Scalar; offset: number; axisRotation?: number; maskIndex?: number; images?: CBARImageDictionary; backgroundMean?: Scalar; backgroundStdDev?: Scalar; lightingMean?: Scalar; lightingStdDev?: Scalar; } export declare class CBARSurface extends CBARObject3D { readonly maskIndex: number; _generatedColor: THREE.Color; constructor(context: CBARContext, maskIndex: number); protected _container: THREE.Group; baseOpacity: number; material: THREE.MeshLambertMaterial; protected images: CBARImageCollection; private _outlines; private _shapeMeshes; protected _assets: { [id: string]: CBARSurfaceAsset; }; get selectedColor(): THREE.Color; get values(): { [id: string]: CBARSurfaceAsset; }; first(): CBARSurfaceAsset | undefined; last(): CBARSurfaceAsset | undefined; all(): CBARSurfaceAsset[]; get sorted(): CBARSurfaceAsset[]; private sortAssets; add(asset: CBARSurfaceAsset, elevation?: number): void; containsKey(key: string): boolean; remove(asset: CBARSurfaceAsset): void; private internal_removeKey; length(): number; private _extent; get extent(): THREE.Vector2; type: CBARSurfaceType; axisRotation: number; private _raycaster; get color(): THREE.Color; set color(value: THREE.Color); _maskTexture: CBARMaskTexture; get maskTexture(): CBARMaskTexture | undefined; protected _isSingleMask: boolean; get isSingleMask(): boolean; protected readonly plane: THREE.Plane; get planeNormal(): THREE.Vector3; set planeNormal(value: THREE.Vector3); get planeOffset(): number; set planeOffset(value: number); get maskImage(): CBARImage | undefined; get description(): string; data(): any; get selected(): boolean; set selected(value: boolean); clearAll(): void; existsAtPoint(coords: THREE.Vector2): boolean; protected getPlaneIntersection(point2D: THREE.Vector2): THREE.Vector3 | null; screenToSurfacePosition(point2D: THREE.Vector2): THREE.Vector2; private _pointTransform; getSurfacePosition(point3d: THREE.Vector3): THREE.Vector2; private _menuPoint; get menuPoint(): import("../CBARTypes").Point2D; private _mask?; get mask(): InputArray | undefined; private calculateLighting; protected findContours(calculateTransform: boolean): void; lightingMeanIntensity: number; lightingStdDevIntensity: number; backgroundMeanIntensity: number; backgroundStdDevIntensity: number; private projectPointsOntoPlane; private castContours; private get hasCalculatedLighting(); protected regenerateMeshes(calculateTransform: boolean): void; private _highlighted; private _finalOpacityValue; set highlighted(value: boolean); get highlighted(): boolean; removeFromScene(): void; sceneLoaded(): void; protected removeMeshes(): void; get receivesEvents(): boolean; get hasOutlines(): boolean; }