import { ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Object3D } from '../Object3D'; interface PLYConstructorProps { /** @zprop * @zvalues files *.ply */ source: string; /** * If true, this component will store the downloaded GLTF model in IndexedDB, with a key held in session storage * to allow rapid reloading without relying on the browser cache. * @zignore */ sessionCache?: boolean; } /** * Loads a 3D model of the PLY format (.ply). * Root element: [THREE.Group](https://threejs.org/docs/index.html#api/en/objects/Group) * * @zcomponent * @zgroup 3D Models * @zicon atr * @ztag three/Object3D/PLY * @zparents three/Object3D/Group/** */ export declare class PLY extends Object3D { protected constructorProps: PLYConstructorProps; loaded: Promise; material: THREE.PointsMaterial; points: THREE.Points; constructor(contextManager: ContextManager, constructorProps: PLYConstructorProps); private _load; /** * @zprop * @zgroup Appearance * @zgrouppriority 11 * @zdefault true */ castShadow: Observable; /** * @zprop * @zgroup Appearance * @zgrouppriority 11 * @zdefault true */ receiveShadow: Observable; dispose(): never; /** * The color of the material. * @zprop * @zgroup PLY * @zgrouppriority 20 * @ztype color-norm-rgb-linear * @zdefault [1, 1, 1] */ color: Observable<[number, number, number], never>; /** * Whether the material is affected by fog. Default is true. * @zprop * @zgroup PLY * @zgrouppriority 20 * @zdefault true */ fog: Observable; /** * The size of the points in pixels. * @zprop * @zgroup PLY * @zgrouppriority 20 * @zdefault 1 */ size: Observable; /** * If the points' size should be affected by the camera's distance. * @zprop * @zgroup PLY * @zgrouppriority 20 * @zdefault true */ sizeAttenuation: Observable; /** * If the points should be rendered with vertex colors. * @zprop * @zgroup PLY * @zgrouppriority 20 * @zdefault true */ vertexColors: Observable; } export {};