import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Interface for constructor properties of RingGeometry. */ interface RingGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Default is 1. * @zprop * @zdefault 1 */ innerRadius?: number; /** * Default is 1. * @zprop * @zdefault 1 */ outerRadius?: number; /** * Number of segments. A higher number means the ring will be more round. Minimum is 3. Default is 8. * @zprop * @zdefault 8 */ thetaSegments?: number; /** * Minimum is 1. Default is 1. * @zprop * @zdefault 1 */ phiSegments?: number; /** * Starting angle. Default is 0. * @zprop * @zdefault 0 */ thetaStart?: number; /** * Central angle. Default is Math.PI * 2. * @zprop * @zdefault 6.283185307179586 */ thetaLength?: number; } /** * A Component for generating a ring geometries. * * Root element: [THREE.RingGeometry](https://threejs.org/docs/#api/en/geometries/RingGeometry) * * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/RingGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class RingGeometry extends BufferGeometry { /** * Constructs a RingGeometry. * @param contextManager - The context manager. * @param props - The properties required to construct a RingGeometry. */ constructor(contextManager: ContextManager, props: RingGeometryConstructorProps); } export {};