import { ContextManager } from '@zcomponent/core'; import * as THREE from 'three'; import { BufferGeometry, BufferGeometryConstructorProps } from './BufferGeometry'; /** * Represents the properties required to construct a BoxGeometry. */ interface BoxGeometryConstructorProps extends BufferGeometryConstructorProps { /** * Width; that is, the length of the edges parallel to the X axis. * @zprop * @zdefault 1 */ width?: number; /** * Height; that is, the length of the edges parallel to the Y axis. * @zprop * @zdefault 1 */ height?: number; /** * Depth; that is, the length of the edges parallel to the Z axis. * @zprop * @zdefault 1 */ depth?: number; /** * Number of segmented rectangular faces along the width of the sides. * @zprop * @zdefault 1 */ widthSegments?: number; /** * Number of segmented rectangular faces along the height of the sides. * @zprop * @zdefault 1 */ heightSegments?: number; /** * Number of segmented rectangular faces along the depth of the sides. * @zprop * @zdefault 1 */ depthSegments?: number; } /** * BoxGeometry is a geometry component for a rectangular cuboid with a given 'width', 'height', and 'depth'. * * On creation, the cuboid is centred on the origin, with each edge parallel to one of the axes. * * Root element: [THREE.BoxGeometry](https://threejs.org/docs/#api/en/geometries/BoxGeometry) * * @zcomponent * @zgroup Geometry * @zicon geometry * @ztag three/Geometry/BoxGeometry * @zparents three/Object3D/Mesh/Mesh */ export declare class BoxGeometry extends BufferGeometry { constructor(contextManager: ContextManager, props: BoxGeometryConstructorProps); } export {};